Skip to content
GitHub

Contributing

Glass is open source (Apache-2.0) and contributions are welcome. You do not need to finish a feature to help: device reports and docs fixes count.

  • Glass launcher: glass-tv-launcher. Kotlin and Jetpack Compose for TV, one app module. Read its CONTRIBUTING.md for the build setup (JDK 17 or 21), UI testing and the GPU performance rules.
  • Glass Pro (rooted install): its scripts and Magisk modules live in the Glass launcher repository above (scripts/, tools/magisk/). The one-zip release and the full system install, and this site, are coming soon as a separate public repository.
  • A device report: what you installed it on, which way you installed it, what worked.
  • Confirming a claim on the no-root page on an unrooted stick.
  • Fixing a doc or runbook step that did not match what you saw.
  • Conventional Commits: type(scope): summary, where type is one of feat, fix, perf, refactor, test, docs, build, ci, chore, style. Docs changes use docs(site): ....
  • Runbook steps keep the fixed shape (precondition, action, verify, on failure, needs user) and every shell block must pass bash -n. Run npm run check:runbooks in site/.
  • No device serials, no home-directory paths, no Amazon binaries or decompiled code anywhere in the repository. Summaries only. Run npm run check:leaks in site/ before opening a PR.
  • Mark anything not built yet as “coming soon”. Do not document features that do not exist.

Needs Node 22.12 or newer.

Terminal
cd site
npm install
npm run dev # local preview
npm run build # must pass; also writes dist/llms.txt
npm run check:runbooks
npm run check:leaks

Proposing a package removal (rooted and full system installs)

Section titled “Proposing a package removal (rooted and full system installs)”

Removals are evidence-based: say what the package does, show that nothing kept depends on it, and run a 24-hour disable test on a real stick. Removal lists, the lint and the process arrive with that repository.

Coming soon. It will need the build’s hash on an allowlist, its partition sizes, and a pass of the device checks.