Branching Strategy
Overview
We follow a Trunk-based development approach to streamline our workflow and ensure continuous integration. This strategy aligns with our modular plugin architecture, allowing teams to work independently while maintaining code quality and integration.
Key Principles
- Short-lived branches for specific tasks, features, or bugfixes
- All development work branches from and merges back to the
develop
branch (trunk) - No long-running feature branches
- Fast integration and continuous delivery
Branch Structure
Main Branch
develop
: Primary development branch (trunk)
Working Branches
All development work is done on feature branches that follow a structured naming convention.
Branch Naming Convention
Branch names must follow this pattern:
[type]/[ticket-number]_[description]
Branch Types
task/
- New features, enhancements, or general tasksbugfix/
- Bug fixes and issue resolutionsfeature/
- Major new features or plugin developmenttechdebt/
- Technical debt, refactoring, or code improvementshotfix/
- Critical production fixes (if applicable)
Examples
task/36143_add_sentry_logging
bugfix/24500_fix_challenge_events
feature/35963_vorsorgekompass_infocard
techdebt/36233_convert_xcode_groups
Naming Guidelines
- Use lowercase with underscores for separation
- Include the ticket number (e.g., 12345)
- Use descriptive but concise descriptions
- Avoid abbreviations that might be unclear
- Keep total length under 50 characters when possible