Pull requests are the best way to propose changes to the codebase. Before you do so, run through this checklist:
- If you've added code that should be tested, add tests.
- If you've added a new feature with a distinct configuration, a sample should be added to
examplesfor easy maintainer testing. - Run
make test&make buildto ensure they pass. - Wait for CI tests to pass (for now, Lint & Security are not required, but we will be reviewing the pipeline to ensure you haven't added any HIGH vuln security issues - if so, your PR will be rejected, so I highly reccomend carefully reading the results of the Security CI step).
When adding or modifying subagent functionality:
- Add example configurations: Place example subagent configs in
examples/subagents/ - Test cross-provider interactions: Ensure your changes work with Claude, Gemini, and Qwen
- Document capabilities: Clearly define what capabilities your subagent provides
- Include workflow examples: Show how your subagent can be used in workflows
- Test with MCP servers: If your subagent uses MCP tools, include integration tests
Setup a new environment:
make setupRun tests:
make test
make test-coverage
make test-integration
make test-e2eBuild the binary:
make buildFormat your code:
make fmtCheck for linting issues:
make lintRun all checks before a push:
make checkReport bugs using GitHub's issues
We use GitHub issues to track public bugs. Report a bug by opening a new issue.
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
By contributing, you agree that your contributions will be licensed under its GPL-2.0 License.