| title | Git Workflow |
|---|---|
| scope | common |
Follow the Conventional Commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
feat— new featurefix— bug fixdocs— documentation onlystyle— formatting, no code changerefactor— restructuring without behavior changeperf— performance improvementtest— adding or updating testsbuild— build system or dependenciesci— CI configurationchore— maintenance tasks
- Use imperative mood: "add feature" not "added feature"
- Keep the subject line under 72 characters
- Reference issue numbers in the footer:
Closes #123 - One logical change per commit
<type>/<short-description>
Examples:
feat/user-authenticationfix/null-pointer-in-parserrefactor/extract-service-layer
- Create a feature branch from
main - Make small, focused commits
- Write a clear PR description with context and test plan
- Request review from relevant team members
- Address review feedback in new commits (do not force-push during review)
- Squash-merge to
mainwhen approved
Before committing, ensure:
- All tests pass
- Static analysis passes (PHPStan, Psalm)
- Code formatting is applied (PHP-CS-Fixer, Pint)
- No unresolved merge conflicts