Thanks for contributing! Bug reports, feature requests, and pull requests are all welcome.
- Found a bug or have an idea? Open an issue.
- Question or setup help? Ask in Discord.
- Ready to code? Open a pull request against this repository.
A fresh clone builds and tests with no environment variables:
bun install
bun run check # lint, typecheck, and testsRun the editor app (http://localhost:5173):
cd packages/app && bun run devRun the docs site:
cd docs && bun run devSee .env.example for optional settings (OpenTelemetry, a custom dev port).
The repo pins Bun 1.3.13+ and Node.js 24+ (via .bun-version, .node-version, and engines). With a version manager, use fnm install, mise install, or volta install node@24. On older Node, bun install warns EBADENGINE and builds or tests may fail — pin Node 24+ first.
bun run format # format (Biome)
bun run lint # lint (Biome)
bun run typecheck # TypeScript
bun run test # tests
bun run build # build all packages
bun run check # lint + typecheck + testRun a single package's scripts from its directory, e.g. cd packages/app && bun run test.
First-time contributors are asked to sign our Contributor License Agreement — a bot comments a one-click signing link on your PR (Inkeep employees are exempt automatically).
- Keep PRs focused and small enough to review.
- Add tests — or a clear manual-verification note — for behavior changes.
- Run
bun run checkand confirm it passes. - Commit
bun.lockwhen dependencies change, and runbun run noticesto refreshTHIRD_PARTY_NOTICES.mdif third-party packages changed. - Never include secrets, credentials, customer data, or local machine paths.
- Enable Allow edits from maintainers so reviewers can push fixes to your branch.
A maintainer will review your PR; if you don't hear back within a few business days, a friendly nudge on the thread is welcome. Accepted changes land on main with your authorship preserved (your PR may show as closed rather than merged).
By contributing, you agree that your work is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later), the same license as OpenKnowledge.