Skip to main content

Contributing

Thank you for your interest in contributing to AxonFlow!

Ways to Contribute

ContributionDescription
Bug ReportsReport issues on GitHub
Feature RequestsSuggest new features
DocumentationImprove docs and examples
CodeSubmit pull requests
TestingHelp 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

GuideDescription
Writing TestsTest conventions and patterns

Pull Request Process

  1. Create PR with clear title following Conventional Commits

    • feat(agent): add new policy type
    • fix(orchestrator): resolve timeout issue
    • docs(sdk): update Python examples
  2. Fill out PR template with description, testing steps, and screenshots if applicable

  3. Ensure CI passes - all tests and linting must pass

  4. Request review from maintainers

Code Standards

Go Code

  • Follow Effective Go guidelines
  • Use gofmt and golangci-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