用途
git-ai-archaeology 用于对某个 Git 仓库做一次完整的“AI 配置演进”分析。它帮助回答:各类 AI 配置文件(如 CLAUDE.md、.claude 及其子目录、.cursor、MCP 相关文件、AI 指令与评审文档等)分别在何时首次被引入;与 AI 配置相关的提交速度如何逐月变化;哪些 PR 或提交构成了演进中的关键节点;项目经历了哪些成熟阶段。
主要能力
- 首次提交定位:针对一组 AI 配置路径,使用
git log --diff-filter=A --follow找出每个路径的创建提交(日期、哈希、提交信息),并生成按时间排序的 ASCII 时间线。 - 月度分布统计:按 AI 配置相关关键词(如 claude、feat.ai、docs.ai、tech.ai、mcp、skill、hook、agent、llm、prompt 等)过滤提交,按月份统计数量、占当月总提交的比例,并生成 ASCII 分布图。
- 重要 PR 与提交提取:分类提取
feat(ai)/docs(ai)/tech(ai)提交、MCP 服务器集成、技能/命令/钩子/智能体相关提交,以及代码评审自动化相关提交。 - CHANGELOG 分析:若仓库存在 CHANGELOG.md,则提取带 AI 提及的发布记录,形成发布、日期、AI 相关内容表;不存在或无关内容时标注为“Not applicable”并跳过。
- 演进阶段归纳:基于收集到的证据识别成熟阶段(常见为 4 个阶段,但并非规则),定位主要拐点月份,计算“近期与历史”的提交比例(例如“最近 2 个月占 81% 的 AI 配置提交”)。
使用方式
调用格式:
/git-ai-archaeology repo_path=/path/to/repo [output=./talks/slug] [slug=talk-name] [since=2025-01-01]
repo_path:目标 Git 仓库的绝对路径(必填)。output:输出目录,默认./talks。slug:输出文件名,默认使用仓库文件夹名。since:分析起始日期,默认使用仓库首次提交时间。
工作流程依次为:验证仓库 → 收集全局指标(总提交数、发布数、贡献者、时间范围、合并 PR 数)→ 第 1 节首次提交 → 第 2 节月度分布 → 第 3 节重要 PR 与提交 → 第 4 节 CHANGELOG → 第 5 节阶段归纳 → 保存输出文件。
输出为单个文件 {output_dir}/{slug}-git-archaeology.md,包含首次提交表与创建时间线、月度分布表与可视化、主要 PR 与提交各分类表、CHANGELOG 分析、演进阶段(含证据时间线与阶段描述)以及关键洞察段落。
适用场景
- 梳理一个项目在 AI 工具与配置上的采用历史。
- 查找关键 AI 配置文件首次被引入的时间点。
- 按月份描绘 AI 配置相关提交的速度变化。
- 识别项目 AI 配置实践从零散到体系化的演进阶段。
限制与规则
- 只读:不执行任何会修改仓库状态的 Git 命令。
- 先验证再断言:若某日期在 Git 中找不到,应标注“未验证”。
- 路径自适应:第 1 节的路径必须过滤为该仓库中实际存在的路径,跳过不存在的路径。
- 关键词可扩展:若仓库使用不同约定(如
feat[ai]与feat(ai)),需相应调整 grep 模式。 - 第 4 节可选:无 CHANGELOG.md 或无 AI 提及则标注“Not applicable”并跳到第 5 节。
- 阶段数灵活:4 个阶段是常见模式而非规则,2 个或 6 个阶段同样有效。
- 反模式:不得臆造 Git 中不存在的数据;不得对数字进行未标注的取整;不得分析本仓库不存在的路径;不得把重命名提交误认为创建提交;不得省略“平淡”月份(0 个 AI 配置提交同样说明问题)。