Development Guide¶
Contribute to FlavorPack by developing new features, fixing bugs, or improving documentation.
Getting Started¶
Quick Setup¶
# Clone the repository
git clone https://github.com/provide-io/flavorpack.git
cd flavorpack
# Set up environment
uv sync
# Build helpers (Go and Rust)
make build-helpers
# Run tests
make test
Development Topics¶
Contributing¶
Learn how to contribute to FlavorPack.
- Code of conduct
- Development workflow
- Pull request process
- Code style guidelines
Architecture¶
Understand FlavorPack's architecture.
- System design
- Component interaction
- Data flow
- Design decisions
Building Helpers¶
Develop and build native helpers.
- Go helper development
- Rust helper development
- Cross-compilation
- Testing helpers
Testing¶
Write and run tests.
- Unit tests
- Integration tests
- Cross-language tests
- Test infrastructure
CI/CD¶
Understand the CI/CD pipeline.
- GitHub Actions workflows
- Build matrix
- Release process
- Artifact management
Release Process¶
Learn about releasing new versions.
- Version management
- Changelog
- Publishing wheels
- GitHub releases
Development Workflow¶
graph LR
FORK[Fork Repository] --> CLONE[Clone Locally]
CLONE --> BRANCH[Create Branch]
BRANCH --> DEV[Develop & Test]
DEV --> COMMIT[Commit Changes]
COMMIT --> PUSH[Push to Fork]
PUSH --> PR[Create Pull Request]
PR --> REVIEW[Code Review]
REVIEW --> MERGE[Merge]
classDef start fill:#e8f5e8,stroke:#1b5e20
classDef process fill:#e1f5fe,stroke:#01579b
classDef end fill:#f3e5f5,stroke:#4a148c
class FORK start
class CLONE,BRANCH,DEV,COMMIT,PUSH,PR,REVIEW process
class MERGE end
Code Quality¶
FlavorPack maintains high code quality standards:
Python Code¶
# Format code
ruff format src/ tests/
# Lint code
ruff check src/ tests/
# Type check
mypy src/flavor
Go Code¶
Rust Code¶
Community¶
Communication Channels¶
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - Questions and ideas
- Pull Requests - Code contributions
Getting Help¶
- Read the Contributing Guide
- Check existing issues and PRs
- Ask in Discussions
- Join community calls (announced in Discussions)
Next Steps¶
- First contribution? → Start with Contributing Guide
- Want to understand the code? → Read Architecture
- Building helpers? → See Building Helpers
- Writing tests? → Check Testing Guide
Ready to contribute? Head to the Contributing Guide!