Contributing
Thank you for your interest in contributing to AxonFlow!
Ways to Contribute
| Contribution | Description |
|---|---|
| Bug Reports | Report issues on GitHub |
| Feature Requests | Suggest new features |
| Documentation | Improve docs and examples |
| Code | Submit pull requests |
| Testing | Help test new releases |
Getting Started
1. Fork and Clone
# Fork on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/axonflow.git
cd axonflow
2. Set Up Development Environment
# Start local environment
docker compose up -d
# Run tests to verify setup
go test ./platform/...
3. Create a Branch
git checkout -b feat/your-feature-name
# or
git checkout -b fix/your-bug-fix
Contribution Guides
| Guide | Description |
|---|---|
| Writing Tests | Test conventions and patterns |
Pull Request Process
-
Create PR with clear title following Conventional Commits
feat(agent): add new policy typefix(orchestrator): resolve timeout issuedocs(sdk): update Python examples
-
Fill out PR template with description, testing steps, and screenshots if applicable
-
Ensure CI passes - all tests and linting must pass
-
Request review from maintainers
Code Standards
Go Code
- Follow Effective Go guidelines
- Use
gofmtandgolangci-lint - Write table-driven tests
- Add comments for exported functions
Commit Messages
Follow Conventional Commits:
<type>(<scope>): <subject>
[optional body]
[optional footer]
Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore
Community
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: Questions and ideas
- Discord: Real-time chat (coming soon)
License
By contributing, you agree that your contributions will be licensed under the BSL 1.1 license.
Next Steps
- Read Writing Tests for test conventions
- Check open issues labeled
good first issue - Review the Development Guide