There are lots of ways to contribute to the project:
- Code Contributions: Implement new features or fix bugs
- Documentation: Improve existing docs or create new guides
- Bug Reports: Report issues you encounter
- Feature Requests: Suggest new features or improvements
-
Requirements: Bun 1.3.13+
-
Install dependencies and start the dev server from the repo root:
~/.bun/bin/bun install ~/.bun/bin/bun dev
By default, bun dev runs czcode in the packages/opencode directory. To run it against a different directory:
~/.bun/bin/bun dev <directory>To run czcode in the root of the repo itself:
~/.bun/bin/bun dev .To compile a standalone executable:
./packages/opencode/script/build.ts --singleDuring development, bun dev is the local equivalent of the built czcode command:
# Development (from project root)
~/.bun/bin/bun dev --help
~/.bun/bin/bun dev serve
# Production
czcode --help
czcode serveCZCODE_API_URL=http://localhost:3000 ~/.bun/bin/bun dev- Functions: Keep logic within a single function unless breaking it out adds clear reuse.
- Destructuring: Avoid unnecessary destructuring.
- Control flow: Avoid
elsestatements; prefer early returns. - Types: Avoid
any. - Variables: Prefer
const. - Naming: Concise single-word identifiers when descriptive.
- Runtime APIs: Use Bun helpers (e.g.,
Bun.file()).
When modifying files shared with the upstream (kilocode), annotate every change with a czcode_change marker. See CLAUDE.md for the full annotation guide.
- UI Changes: Include screenshots or videos (before/after).
- Logic Changes: Explain how you verified it works.
- PR Titles: Follow conventional commit standards (
feat:,fix:,docs:, etc.).
Use conventional commit style PR titles such as:
feat: add execute_sql toolfix: correct Lakehouse connection timeoutdocs: update upstream sync instructionschore: bump kilocode to v7.x.yrefactor: extract SQL classifier