mcpField
B
bagisto-git-workflow

bagisto-git-workflow

github.com/bagisto开发13117 次安装2 周前更新
代码仓库

关于 bagisto-git-workflow

bagisto-git-workflow 是依据 Bagisto 仓库历史整理的 Git 规范技能,面向项目贡献者。它说明分支、提交、变更日志和拉取请求的惯例,也明确验证要求及操作边界。

主要功能

  1. 01遵循仓库特定的分支惯例
  2. 02按 Conventional Commits 编写提交主题
  3. 03撰写面向升级者的简明变更日志
  4. 04说明拉取请求内容和验证情况
  5. 05避免未经许可的提交和依赖变更

适用场景

  1. 01为目标发布分支准备工作分支
  2. 02编写提交信息和变更日志条目
  3. 03准备拉取请求说明和验证记录

安装

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

$npx skills add https://github.com/bagisto/agent-skills --skill bagisto-git-workflow

安装后在 Claude Code 中输入/bagisto-git-workflow确认已加载。

详细介绍

Git 工作流

本仓库实际遵循的约定,依据其历史记录整理,而非通用 Git 指南。

分支

<author>/<topic> 或 <author>/<type>/<topic>,全部小写并以连字符连接:

devansh-webkul/themes-improvements
kartikeywebkul9260/v2.4_file_attribute_required_validation
Vansh-Sharmaa/fix/duplicate-product-customizable-options

从目标发布分支创建分支——开发 2.4 版本时用 2.4,开发下一个大版本时用 master——并向同一分支发起拉取请求。切勿直接向 2.4 或 master 提交。

提交

遵循 Conventional Commits,主题小写,使用祈使语气或描述性表述。最近 200 次提交中:fix: 66 次、feat: 21 次、chore: 9 次、chore(deps): 5 次、 test: 3 次、refactor(shop): 1 次、docs: 1 次。

fix: grouped themes into two parts my theme and buy themes
feat: playwight testcases updated and draft issue fixed
test: playwright testcases added
chore: changelog and version updated

作用域可选,且很少使用——refactor(shop):、chore(deps):。

只有在主题无法说明原因时才写正文——最近 100 次非合并提交中,只有 12 次带有正文。正文解释为什么,而不是 diff 中已经显示的内容——如果你想把某些内容写成代码注释,那么正文正是合适的位置,因为这个代码库不会在方法体内添加注释。

切勿添加 AI 或工具署名。 不要为助手添加 Co-Authored-By,不要添加“Generated with”,也不要添加机器人表情符号。该仓库的历史记录中没有这些内容,也不应出现。

CHANGELOG

CHANGELOG.md 以 ## Unreleased 开头,之后每个版本各有一个部分:

## Unreleased

- Entry.

## **v2.4.9 (5th of August 2026)** - *Release*

- Entry.

条目以 - 开头,彼此之间空一行,且必须是面向升级用户撰写的说明:用完整句子说明用户可见的效果。不要写成提交主题或 diff 摘要。

修复了大型搜索的问题:当另一个标签页有结果时,搜索会让你停留在空标签页,看起来像是没有找到任何内容。现在会打开第一个有匹配结果的标签页。

每个条目最多两行——清晰、简明。 这是硬性上限,以下两种格式都适用:

格式适用情况
- <prose>新功能或没有已报告问题的变更
- #11432 [fixed] - <prose>修复已报告的问题

说明用户可见的效果,然后就此为止。原因、内部机制和历史不属于 CHANGELOG 的内容——这些应写在提交消息或拉取请求中,任何调查此变更的人都会去那里查看。如果一个条目无法控制在两行内,就说明其中包含了应移至上述位置的解释内容。

- Fixed the admin product listing repeating a product once for every channel it is carried by.
- Fixed the admin product listing repeating a product once for every channel it is carried by, so a
  store with three channels listed it three times. The PostgreSQL work had widened the grouping from
  the product to every selected column, which made the channel part of the group; it now picks one
  row per product.        ← the cause belongs in the commit message, not here

将条目添加到 ## Unreleased 下。不要擅自添加版本标题或日期——版本会单独发布。

拉取请求

合并时使用 GitHub 的默认主题,这也是历史记录中显示的内容:

Merge pull request #11426 from devansh-webkul/themes-improvements

描述中应说明变更内容及原因,并指出审阅者无法从 diff 中看出的事项——例如配置默认值、迁移,或未纳入本次变更的后续工作。发起拉取请求前先运行验证门禁,并在描述中说明哪些检查已运行、哪些已跳过。

规则

  • 除非收到明确要求,否则不要提交、推送或发起 PR。 将工作保留在工作树中,并说明已准备好的内容。
  • 切勿对共享分支执行 --force,也不要改写已发布的历史记录。
  • 切勿提交 .env、凭据、vendor/、node_modules/,或 public/themes/*/build/ 下的构建产物。
  • 每个提交只包含一项逻辑变更。 修复和无关的重构应分别提交,这样可以单独撤销其中任一项。
  • 未经批准,不要添加或移除 Composer 或 npm 依赖项,也不要提交非预期的锁文件变更。
  • 先运行门禁检查。 未通过 Pint 或测试的提交,也无法通过 CI。

必需的子技能: 在宣布任何变更完成前,使用 bagisto-change-verification。

评论

支持 Markdown