Thank you for your interest in contributing to Orb!
- Fork the repository
- Clone your fork
- Create a feature branch
- Make your changes
- Submit a pull request
git clone https://github.com/yourusername/orb.git
cd orb
go mod download
make build- Follow Go conventions
- Use
gofmt - Run
go vet - Pass
golangci-lint
- Write unit tests
- Maintain >80% coverage
- Test edge cases
- Include examples
- Comment exported functions
- Update README if needed
- Add examples
- Document breaking changes
-
Create Issue First
- Describe the problem
- Propose solution
- Get feedback
-
Write Code
- Follow style guide
- Add tests
- Update docs
-
Submit PR
- Clear description
- Link to issue
- Pass CI checks
-
Code Review
- Address feedback
- Make requested changes
- Maintain civility
-
Merge
- Squash commits
- Update changelog
- Close issue
# Run all tests
make test
# With coverage
go test -cover ./...
# Specific package
go test ./internal/cryptotype(scope): subject
body
footer
Types:
- feat: New feature
- fix: Bug fix
- docs: Documentation
- test: Tests
- refactor: Refactoring
- chore: Maintenance
Example:
feat(crypto): add support for XChaCha20
Implement XChaCha20-Poly1305 for extended nonce space.
Closes #123
- Tests pass
- Code formatted
- Documentation updated
- No breaking changes (or documented)
- Security implications considered
- Performance impact assessed
- Security audits
- Performance optimization
- Documentation improvements
- Test coverage
- Bug fixes
- Post-quantum cryptography
- Resume capability
- Progress bars
- Bulk operations
- GUI client
- CI/CD improvements
- Docker images
- Package managers
- Benchmarks
- Fuzzing
- GitHub Issues: Bug reports
- GitHub Discussions: Questions
- Pull Requests: Contributions
- Security: security@orb.example.com
Be respectful, inclusive, and professional.
By contributing, you agree your code is licensed under MIT.