Contribution Workflow
Goal: Learn how to create a patch and submit it for review.
Step 1: Find or Create a Forge Issue
Every patch needs a matching Forge issue:
- Search Forge or Forger
- If no issue exists, create one with a clear description
- Note the issue number (e.g.,
#12345)
Step 2: Make Your Changes
Work on main
Always work directly on the main branch. Do not create feature branches.
- Make your code changes
- Follow the TYPO3 Coding Guidelines
Fix Code Style Automatically
Run Tests
# Unit tests
./Build/Scripts/runTests.sh -s unit
# Functional tests
./Build/Scripts/runTests.sh -s functional
Step 3: Commit Your Changes
Create a single, well-formatted commit:
Commit Message Format
[TYPE] Subject line in imperative mood (max 52 chars)
Extended description explaining what the change does.
Wrap at 72 characters. Focus on what changed, not what
was broken (that belongs in the Forge issue).
Resolves: #12345
Releases: main
Valid TYPE Keywords
| Type | Use For |
|---|---|
[BUGFIX] |
Fixes a bug |
[FEATURE] |
Adds new functionality |
[TASK] |
Maintenance, refactoring, cleanup |
[DOCS] |
Documentation changes only |
[CLEANUP] |
Code cleanup without functional changes |
Subject Line Rules
- Maximum 52 characters
- Use imperative mood ("Fix bug" not "Fixed bug")
- No period at the end
- Test: "If applied, this commit will [your subject]"
Step 4: Push to Gerrit
Gerrit responds with a URL to your review.
Push as Work-in-Progress
Not ready for review yet? Push as WIP:
Step 5: Update Your Patch
When reviewers request changes:
- Make the required changes
- Amend your commit (keeps the Change-Id):
- Push again:
Next Step
Review Process - Understand how patches get reviewed and merged.