Contributing
There are three main ways to contribute. The Companion Hub repository is public, so you can work on it without asking for access. The app marketplace and these docs live in private repositories, so what you can do there differs.
| Contribution | Repository | Start here |
|---|---|---|
| Ship an app to the Companion App Store | CI-MarketplaceΒ | Submitting an app to the Store |
| Fix bugs or build features in Companion Hub | Companion HubΒ | Running locally Β· Running the CLI locally |
| Improve these docs | CI-DocsΒ | Writing style |
The Companion Hub repository is public, so you can read the code, open issues, and send pull requests from your own GitHub account. The CI-Marketplace and CI-Docs repositories are private: their GitHub links return a 404 unless your account has been granted access. To contribute an app without repository access, use the submission formΒ . For anything else, ask in the DiscordΒ .
Ship an app to the Companion App Store
The highest-leverage contribution β every app you add is available to every Hub user. Apps are Docker containers plus a config.json manifest, published through CI-MarketplaceΒ .
See Submitting an app to the Store.
Work on Companion Hub itself
Clone the repository and run the Hub from source to fix bugs or build features. pnpm install needs no access token. Running locally covers the development stack; Running the CLI locally covers cihub from source.
The repositoryβs CONTRIBUTING.md sets the conventions for issues and pull requests, including before-and-after screenshots for any change to the interface. Run pnpm run check:pr before you ask for review: automatic CI runs are gated, so nothing runs it for you.
Hubβs source is available under the PolyForm Noncommercial License 1.0.0Β . That is source-available, not open source. See Source and license.
Improve these docs
Every page has a source file under src/content/ in CI-DocsΒ . Corrections, missing steps, and stale screenshots are all welcome β open an issue or a pull request.
To preview your change locally, install BunΒ and run the site from a clone of CI-Docs. This site uses Bun, not pnpm. The @companionintelligence packages come from GitHub Packages, so bun install needs a NODE_AUTH_TOKEN with the read:packages scope:
bun install
bun devThe dev server runs at http://localhost:3000. Before you open a pull request, run bun run build, then bun run check:links to check links and anchors across the built site. The site has no test suite.
Follow Writing style so new pages match the Google developer documentation style guide.