mcpField
T
typo3-core-contributions

typo3-core-contributions

github.com/netresearch開発138 回インストール2 日前に更新
リポジトリ

typo3-core-contributions について

TYPO3 コアの貢献者向けに、問題分析、コード変更、テスト、Gerrit レビュー、CI の手順を案内するスキルです。コアの Gerrit フローと t3o sites の GitLab フローを区別します。

主な機能

  1. 01TYPO3 貢献ワークフローの案内
  2. 02Gerrit へのパッチ投稿とレビュー
  3. 03コミット形式と Change-Id の案内
  4. 04CI ログとテストのトラブル対応
  5. 05t3o GitLab の個別フロー

活用シーン

  1. 01TYPO3 コアパッチの準備
  2. 02リベースと Gerrit レビューの更新
  3. 03TYPO3 CI ジョブ失敗の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/netresearch/typo3-core-contributions-skill --skill typo3-core-contributions

インストール後、Claude Code で/typo3-core-contributionsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
account-setup.md
commit-message-format.md
commit-msg-hook.md
ddev-setup-workflow.md
forge-api.md
gerrit-review-patterns.md
gerrit-workflow.md
modern-typo3-patterns.md
proving-a-test.md
t3o-gitlab-workflow.md
troubleshooting.md
scripts/
create-commit-message.py
create-forge-issue.sh
query-forge-metadata.sh
setup-typo3-coredev.sh
t3o-gitlab.py
validate-commit-message.py
verify-prerequisites.sh

詳細

TYPO3 コアへの貢献

使用するタイミング — ホスト名で振り分ける

review.typo3.org(Gerrit)、forge.typo3.org(Redmine)、git.typo3.org/typo3/CI/cms(CI ログ)はコアです。Forge の課題、パッチ、レビュー、コミット形式、チェリーピック、リベースなど、以下のすべてが対象です。git.typo3.org/services/t3o-sites/** は t3o サイト用の通常の GitLab です。Gerrit はなく、refs/for/main に意味はありません。まず references/t3o-gitlab-workflow.md を読んでください。

前提条件

${CLAUDE_SKILL_DIR}/scripts/verify-prerequisites.sh を実行します。TYPO3.org アカウント、Gerrit SSH(ssh -p 29418 <user>@review.typo3.org)、Gerrit に登録したメールアドレスと一致する Git メールアドレスが必要です。

ワークフロー

  1. セットアップ:${CLAUDE_SKILL_DIR}/scripts/setup-typo3-coredev.sh
  2. ブランチ:git checkout -b feature/<issue>-description
  3. 分析:まず根本原因、再現方法、影響を受けるバージョンを確認します
  4. 開発:修正とテストを行い、typo3-conformance-skill で検証します。修正がない場合に各テストが失敗することを証明します — references/proving-a-test.md
  5. コミット:以下の形式を使用し、Resolves: #<issue> と Releases: を記述します
  6. プッシュ:git push origin HEAD:refs/for/main%wip — 通常のプッシュはWIPではありません。レビュアーが投票し、コミットを修正すると投票が無効になります
  7. CI:すべてのジョブが完了するまで待ち、git.typo3.org/typo3/CI/cms/-/jobs/<id> で実際のログを読みます。失敗はすべて、1 回の amend+push で修正します
  8. レビュー可能にする:git push origin HEAD:refs/for/main%ready または Gerrit UI の「Start Review」
  9. レビュー:Change-Id を保持してコミットを修正します。まずレビュアーのパッチセットを取得します:git fetch origin refs/changes/XX/NNNNN/N && git reset --soft FETCH_HEAD
  10. 更新:git commit --amend && git push origin HEAD:refs/for/main

コミット形式

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

How and why (not what). Wrap at 72 chars.

Resolves: #12345
Releases: main, 13.4, 12.4

[BUGFIX] [FEATURE](main のみ)[TASK] [DOCS] [SECURITY]。破壊的変更の場合は [!!!] を使用し、Releases: main のみを指定します。すべてのコミットに Resolves: を必ず記述し、Related: は使用しません。

CI のデバッグ

失敗したジョブのログをすべて読み、推測で判断しないでください。すべての問題を 1 つのパッチセットで修正します。ローカルでは:

./Build/Scripts/runTests.sh -s unit && ./Build/Scripts/runTests.sh -s functional
./Build/Scripts/cglFixMyCommit.sh && ./Build/Scripts/runTests.sh -s phpstan

主な操作

タスクコマンド
Gerrit にプッシュgit push origin HEAD:refs/for/main%wip
レビュー可能にするgit push origin HEAD:refs/for/main%ready
リベースgit fetch origin && git rebase origin/main
パッチをチェリーピックgit fetch origin refs/changes/XX/NNNNN/N && git cherry-pick FETCH_HEAD
フックをインストールcp Build/git-hooks/commit-msg .git/hooks/ && chmod +x .git/hooks/commit-msg
メールアドレスの不一致を修正GIT_COMMITTER_EMAIL="registered@email" git commit --amend --no-edit
Forge API${CLAUDE_SKILL_DIR}/scripts/create-forge-issue.sh、references/forge-api.md
t3o GitLabpython3 ${CLAUDE_SKILL_DIR}/scripts/t3o-gitlab.py access|issue|note|mr create|mr update|mr show|pipeline status|pipeline wait|link|probe

参考資料

トピックファイル
アカウントのセットアップreferences/account-setup.md
コミット形式references/commit-message-format.md
Gerrit ワークフローreferences/gerrit-workflow.md
レビューパターンreferences/gerrit-review-patterns.md
最新のパターンreferences/modern-typo3-patterns.md
DDEV のセットアップreferences/ddev-setup-workflow.md
Forge APIreferences/forge-api.md
git.typo3.org 上の t3o サイトreferences/t3o-gitlab-workflow.md
コミットフックreferences/commit-msg-hook.md
テストの証明references/proving-a-test.md
トラブルシューティングreferences/troubleshooting.md

コメント