本项目提供了一套旨在提升 Git 提交信息质量,并将其转化为可供 AI 使用的高质量上下文(Prompt)的结构化工作流。
这个方法论的核心思想是:让每一次 Git 提交不仅是代码变更的记录,更是结构化知识的沉淀,能够被 AI 理解和利用。
传统的 Git 提交信息主要是写给人看的,而本工作流引入了 "Commit-as-Prompt" 的概念,通过为 AI 设定一个 “Commit-to-Prompt Engineer” 的角色,将提交信息的撰写过程,转变为构建 AI 问题上下文的过程。
为了让提交信息变得结构化且信息丰富,本工作流强制要求每个核心提交都必须清晰地阐述三个关键问题:
- WHAT(做什么): 一句话精准描述本次变更的核心动作和目标对象。
- WHY(为什么做):深入阐述变更背后的动机,包括业务需求、用户故事、技术债修复或架构决策等。
- HOW(怎么做):简要概述实现该变更所采用的技术策略、关键步骤、风险点以及对系统的影响。
这种结构确保了代码变更的意图能够被完整地记录和传递。
本工作流引入了一种特殊的提交类型,以 prompt: 作为标题前缀。这类提交被明确标识为需要被提取并用作 AI 上下文的知识单元。
常规的提交(如 feat:, fix:)则遵循标准的 Conventional Commits 规范,不参与到最终的 Prompt 生成流程中。
- 分析与暂存: 开发者在提交前,首先分析代码变更,并使用
git add -p等工具,精确地将与单一主题相关的变更暂存起来。噪声变更(如纯格式化)应被分离到独立的提交中。 - 编写结构化信息: 对于
prompt:类型的提交,开发者按照 WHAT/WHY/HOW 的结构精心撰写提交信息。 - 提交与推送: 正常执行
git commit和git push。 - 自动聚合 (设想): 通过相应的工具或脚本,可以自动扫描 Git 历史记录,抽取出所有
prompt:类型的提交,并将它们的 WHAT/WHY/HOW 内容聚合成一个结构化的、带有<Context>标签的文本块。 - 赋能 AI: 这个聚合后的文本块可以被直接用作一个高质量的 Prompt,提供给 AI 进行代码审查、文档生成、技术方案评估等复杂任务。
- 理解原则: 仔细阅读
prompt.md,理解 WHAT/WHY/HOW 的编写要点和文件挑选原则。 - 实践于日常开发: 在您的日常 Git 工作流中,开始有意识地按照本规范来撰写提交信息。
- 使用
/commit-as-prompt(如果适用): 使用Claude自定义命令,可以将prompt.md的内容设置为一个名为/commit-as-prompt的命令,AI 将引导您完成整个提交流程。 - 构建自己的工具: 您可以基于此理念,开发脚本来自动从 Git log 中提取和格式化
prompt:提交,生成可用的 AI 上下文。
通过采纳此工作流,您的项目版本历史将转变为一个不断增长的、结构化的知识库,极大地提升与 AI 助手的协作效率。
来源说明: 本内容来源于 kingkongshot/prompts。