Contributing#
We welcome contributions to AutoBreaker! Please follow these guidelines to ensure smooth collaboration.
Development Workflow#
- Fork the repository on GitHub
- Create a feature branch from
main - Make your changes with tests
- Run all tests to ensure nothing breaks
- Submit a pull request with a clear description
Code Standards#
Go Code#
- Follow standard Go conventions
- Use
go fmtfor formatting - Run
go vetandstaticcheckfor linting - Maintain 95%+ test coverage
- Keep the hot path allocation-free
Documentation#
- Use clear, concise language
- Include code examples where helpful
- Update README.md if API changes
- Add comments for public APIs
Testing#
- Write unit tests for new functionality
- Include edge case tests
- Run tests with race detector:
go test -race ./... - Ensure benchmarks don’t regress
Pull Request Process#
- Title: Clear, descriptive title
- Description: What changes, why, and how tested
- Tests: All tests pass, coverage maintained
- Documentation: Updated if needed
- Review: Address feedback promptly
Release Process#
Releases follow semantic versioning:
- Major (X.0.0): Breaking API changes
- Minor (1.X.0): New features, backward compatible
- Patch (1.0.X): Bug fixes, documentation
Getting Help#
- Issues: Use GitHub Issues for bug reports
- Discussions: GitHub Discussions for questions
- Code Review: PR feedback from maintainers
Code of Conduct#
Be respectful and constructive. We follow the Go Community Code of Conduct.
Thank you for contributing to AutoBreaker!