Get the FREE Ultimate OpenClaw Setup Guide →

typo3-core-contributions

npx machina-cli add skill netresearch/typo3-core-contributions-skill/typo3-core-contributions --openclaw
Files (1)
SKILL.md
3.6 KB

TYPO3 Core Contributions

Guide for TYPO3 Core contribution workflow from account setup to patch submission.

When to Use

  • Forge issue URLs (e.g., https://forge.typo3.org/issues/105737)
  • Contributing patches, fixing TYPO3 bugs
  • Gerrit review workflow, rebasing, CI failures

Prerequisites

scripts/verify-prerequisites.sh

Check: TYPO3.org account, Gerrit SSH, Git config (email must match Gerrit!)

Workflow Overview

  1. Setup: Account → Environment (scripts/setup-typo3-coredev.sh)
  2. Branch: git checkout -b feature/105737-fix-description
  3. Analyze Issue: Understand deeply before coding (see below)
  4. Develop: Implement, write tests, validate with typo3-conformance-skill
  5. Verify CI: Run full test suite locally, ensure all checks pass
  6. Commit: Follow format, include Resolves: #<issue> + Releases:
  7. Submit: git push origin HEAD:refs/for/main (starts as WIP)
  8. CI Check: Wait for Gerrit CI, fix ALL failures before marking ready
  9. Mark Ready: Remove WIP state only when all CI jobs pass
  10. Update: Amend + push (preserve Change-Id!)
  11. Verify Releases: After approval, test in all target branches

Phase 3: Analyze Issue Deeply

Before writing any code, thoroughly understand the problem:

  1. What is broken? - Identify the exact behavior vs expected behavior
  2. Why is it broken? - Trace the root cause in the codebase
  3. Reproduction steps - Document minimal steps to reproduce
  4. Affected versions - Check which branches have the issue (main, 13.4, 12.4)
  5. Related code - Review existing tests and similar implementations
  6. Edge cases - Consider what else might be affected

This analysis prevents wasted time on incomplete fixes or patches that don't address the actual problem.

Phase 5 & 8: CI Verification

Before marking ready for review:

  1. Run tests locally: ./Build/Scripts/runTests.sh -s unit && ./Build/Scripts/runTests.sh -s functional
  2. Check code style: ./Build/Scripts/cglFixMyCommit.sh
  3. Run PHPStan: ./Build/Scripts/runTests.sh -s phpstan
  4. After push: Wait for ALL Gerrit CI jobs to complete
  5. Read actual job logs for any failures - never guess!
  6. Fix ALL issues in one patchset before marking ready

See references/gerrit-workflow.md for CI debugging details.

Phase 11: Verify in Target Branches

After receiving +2 approval, before merge:

  1. Check your Releases: line (e.g., main, 13.4, 12.4)
  2. Cherry-pick to each target branch locally
  3. Verify fix works on each version
  4. Ensure no version-specific issues (API differences, etc.)

This prevents broken backports and ensures the fix works everywhere it's needed.

Commit Format

[TYPE] Subject line (imperative, max 52 chars)

Description explaining how and why.

Resolves: #12345
Releases: main, 13.4, 12.4

Types: [BUGFIX], [FEATURE], [TASK], [DOCS], [SECURITY], [!!!]

Related Skills

  • typo3-ddev-skill: Development environment
  • typo3-testing-skill: Test writing
  • typo3-conformance-skill: Code quality validation

References

TopicFile
Account setupreferences/account-setup.md
Commit formatreferences/commit-message-format.md
Gerrit workflowreferences/gerrit-workflow.md
Troubleshootingreferences/troubleshooting.md

Contributing: https://github.com/netresearch/typo3-core-contributions-skill

Source

git clone https://github.com/netresearch/typo3-core-contributions-skill/blob/main/skills/typo3-core-contributions/SKILL.mdView on GitHub

Overview

This skill guides the TYPO3 Core contribution workflow from setting up your account to submitting patches. It covers Forge issues, Gerrit reviews, CI validation, and updating documentation in TYPO3 Core.

How This Skill Works

Verify prerequisites with scripts/verify-prerequisites.sh, set up the dev environment using scripts/setup-typo3-coredev.sh, and iterate patches through Gerrit using the refs/for/main workflow. The process emphasizes issue analysis, development with tests, local CI validation, and incremental patch updates until all CI checks pass.

When to Use It

  • When you have a TYPO3 Forge issue URL (e.g., https://forge.typo3.org/issues/105737)
  • When contributing patches to TYPO3 Core or fixing core bugs
  • During the Gerrit review workflow, including rebasing and addressing CI failures
  • When contributing documentation updates to TYPO3 Core
  • When ensuring commits follow the required format (Resolves: #<issue>, Releases:...)

Quick Start

  1. Step 1: Verify prerequisites and set up the dev environment with scripts/verify-prerequisites.sh and scripts/setup-typo3-coredev.sh
  2. Step 2: Create a feature branch (e.g., git checkout -b feature/105737-fix-description)
  3. Step 3: Submit to Gerrit and monitor CI (git push origin HEAD:refs/for/main); fix issues and push again as needed

Best Practices

  • Verify prerequisites and ensure your TYPO3.org account, Gerrit SSH, and Git config email all align
  • Create a feature branch with a descriptive name (e.g., feature/105737-fix-description)
  • Develop with tests and validate using typo3-conformance-skill
  • Run the full local test suite and fix all issues in one patchset before pushing
  • Preserve Change-Id when amending commits and pushing updates to Gerrit

Example Use Cases

  • Submit a patch to fix a TYPO3 core bug linked to a Forge issue
  • Provide documentation updates to TYPO3 Core alongside code changes
  • Rebase and rework a patch after CI failures and push a revised patchset
  • Validate changes with local tests and the typo3-conformance-skill before submission
  • After approval, verify releases across main, 13.4, and 12.4 branches

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers