Thanks for considering a contribution. chkit is a young project — bug reports, docs PRs, and small fixes are especially welcome.
- Bun
1.3.5+ - Node.js
20+
git clone https://github.com/obsessiondb/chkit
cd chkit
bun installbun run typecheck # type-check all packages
bun run lint # lint all packages
bun run test # run unit tests
bun run build # build all packagesE2E tests run against a live ClickHouse instance and require CLICKHOUSE_HOST (or CLICKHOUSE_URL) and CLICKHOUSE_PASSWORD to be set. See CLAUDE.md for the full list.
Pull request CI starts its own ClickHouse service and seeds the test fixtures, including for contributions from forks. After changes land on main, CI also runs the test suite against ObsessionDB before deployment.
-
Branch off
main, PR back tomain. -
Keep PRs focused on one logical change.
-
Run a changeset for any user-facing package change:
bun run changeset
-
typecheck,lint,test, andbuildmust all pass. -
Commit messages are free-form. Changesets capture the user-facing narrative.
Plugins live in packages/plugin-*. The official plugins are the reference — codegen, pull, backfill, and obsessiondb each show a different hook surface. The simplest starting point is to copy one and adapt it.
- Bugs and feature requests → GitHub Issues.
By contributing, you agree that your contributions will be licensed under the MIT License.