Contributing
How to contribute to ChooChoo
We welcome contributions! ChooChoo is open source and we appreciate help from the community. Before contributing, familiarize yourself with the Architecture and Core Concepts to understand the platform.
Getting started
- Fork the repository on GitHub.
- Clone your fork.
- Install dependencies:
bun install. - Run tests:
bun test.
For details on setting up a local ChooChoo project for testing, see the Installation and Quickstart guides.
Code standards
- We use oxlint + oxfmt for linting/formatting (packages), Biome for the docs app.
- All PRs must pass the CI pipeline — see CI/CD Integration.
- New features require tests (collocated
*.test.tsfiles). - Commit messages follow:
feat:,fix:,chore:,docs:,refactor:,test:.
Areas of contribution
- Documentation: Improve or expand these docs. Content lives in
apps/docs/content/docs/. - Standards: Help improve the open standards ChooChoo builds on.
- Schema validation: Improve validation rules and schema definitions.
- CLI features: Extend the CLI with new commands.
- Trace hooks: Add support for more coding agents in
trace hooks. - Bug reports: File issues with clear reproduction steps and error messages.
Reporting issues
When filing a bug report, please include:
- The
choochoo --versionoutput - The relevant error code and exit code
- Steps to reproduce the issue