mcpField
T
typo3-core-contributions

typo3-core-contributions

github.com/dirnbauer开发3364 次安装13 周前更新
代码仓库

关于 typo3-core-contributions

typo3-core-contributions 面向参与 TYPO3 Core 开发的人员,指导从 Forge 问题分析到 Gerrit 提交、CI 排错及评审更新的流程。

主要功能

  1. 01Forge 问题分析与创建
  2. 02Gerrit 补丁提交流程
  3. 03提交格式与 Git 操作
  4. 04CI 日志诊断与本地检查
  5. 05评审反馈处理及补丁集更新

适用场景

  1. 01准备并提交 TYPO3 Core 补丁
  2. 02排查 TYPO3 CI 作业失败
  3. 03根据 Gerrit 评审修改提交

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dirnbauer/webconsulting-skills --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
troubleshooting.md
scripts/
create-commit-message.py
create-forge-issue.sh
query-forge-metadata.sh
setup-typo3-coredev.sh
validate-commit-message.py
verify-prerequisites.sh

详细介绍

TYPO3 核心贡献

TYPO3 核心贡献指南:Forge 问题、Gerrit 补丁、CI 调试和评审工作流。

使用场景

  • 分析或创建 Forge 问题(forge.typo3.org/issues/*)
  • 提交补丁、调试 CI、使用 Gerrit 评审工作流
  • 设置提交消息格式、cherry-pick、变基

前置条件

运行 ${CLAUDE_SKILL_DIR}/scripts/verify-prerequisites.sh 进行检查:TYPO3.org 账号、Gerrit SSH(ssh -p 29418 <user>@review.typo3.org)、与 Gerrit 匹配的 Git 邮箱。参见 references/account-setup.md。

工作流

  1. 设置:账号和环境(${CLAUDE_SKILL_DIR}/scripts/setup-typo3-coredev.sh、references/ddev-setup-workflow.md)
  2. 分支:git checkout -b feature/<issue>-description
  3. 分析:编码前了解根本原因、复现步骤和受影响的版本
  4. 开发:实现修复并编写测试,使用 typo3-conformance-skill 验证
  5. 提交:遵循下方格式,包含 Resolves: #<issue> 和 Releases:
  6. 推送:git push origin HEAD:refs/for/main(初始状态为 WIP)
  7. CI:等待所有任务完成。查看 GitLab 上的实际日志:git.typo3.org/typo3/CI/cms/-/jobs/<id>。通过一次 amend+push 修复所有失败项
  8. 标记为就绪:通过 git push origin HEAD:refs/for/main%ready 或 Gerrit 界面中的“Start Review”标记为就绪
  9. 评审:处理反馈、amend 提交,并保留 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] 破坏性变更:使用 [!!!][TYPE] 前缀;仅 Releases: main 必填项:每个提交都必须包含 Resolves:(不能只写 Related:)

CI 调试

查看所有失败任务的日志(切勿猜测)。常见任务:cgl pre-merge(代码风格)、phpstan(静态分析)、unit/functional(测试)。在一个补丁集中修复所有问题。本地检查:

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

关键操作

任务命令
推送到 Gerritgit push origin HEAD:refs/for/main
标记为就绪git push origin HEAD:refs/for/main%ready
设置为 WIPgit push origin HEAD:refs/for/main%wip
变基git fetch origin && git rebase origin/main
cherry-pick 补丁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

参考资料

主题文件
账号设置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
提交钩子references/commit-msg-hook.md
故障排查references/troubleshooting.md

致谢与署名

本技能基于 Netresearch DTT GmbH 的出色工作。

原始仓库:https://github.com/netresearch/typo3-core-contributions-skill

版权所有 (c) Netresearch DTT GmbH — 方法论和最佳实践(MIT / CC-BY-SA-4.0)

特别感谢 Netresearch DTT GmbH 为 TYPO3 社区慷慨贡献开源成果,这些成果帮助塑造了本技能集合。 由 webconsulting.at 改编,用于本技能集合

评论

支持 Markdown