Contributing Guide
Contributions are welcome! This guide covers the process for submitting patches and the standards we expect.
Before you start
- Open an issue first. All PRs should be linked to an existing issue. For bug fixes, link to the bug report. For features, wait for a maintainer to approve the proposal before writing code.
- Keep PRs small and focused. One issue per PR. Large changes should be broken into a series of logical, independently-mergeable PRs.
Pull request process
- Fork the repository and create a branch from
main. - Make your changes following the Development Workflow guide.
- Ensure all checks pass:
npm run preflight. - Update documentation in
/docsfor any user-facing changes. - Submit the PR with a clear title and description. Link the issue with
Fixes #123. - Request review. All submissions (including from maintainers) require review.
Commit messages
Follow Conventional Commits :
feat(cli): add --json flag to 'config get' command
fix(core): handle missing envKey in modelProviders gracefully
docs: update MCP configuration reference
chore: upgrade esbuild to 0.21Format: <type>(<scope>): <short summary>
Types: feat, fix, docs, refactor, test, chore, perf, style.
Code standards
- Run
npm run preflightbefore submitting (lint, format, build, test). - Write tests for new functionality. See Development Workflow → Testing.
- Follow existing code style — TypeScript strict mode, Prettier formatting.
- Comments should explain why, not what.
Documentation
If your change affects user-facing behavior, update the relevant docs under /docs/. See Architecture for which package owns what.
Use of Draft PRs
Use GitHub Draft PRs for work in progress that you want early feedback on. Draft PRs signal that the change is not yet ready for formal review.
Code of conduct
Be respectful and constructive. We follow the Contributor Covenant .
Last updated on