diff --git "a/product-docs/GitGuard/10\343\200\201GitGuard-\345\212\237\350\203\275\350\217\234\345\215\225\344\270\216\347\211\210\346\234\254\350\247\204\345\210\222.md" "b/product-docs/GitGuard/10\343\200\201GitGuard-\345\212\237\350\203\275\350\217\234\345\215\225\344\270\216\347\211\210\346\234\254\350\247\204\345\210\222.md" new file mode 100644 index 0000000..e8c395f --- /dev/null +++ "b/product-docs/GitGuard/10\343\200\201GitGuard-\345\212\237\350\203\275\350\217\234\345\215\225\344\270\216\347\211\210\346\234\254\350\247\204\345\210\222.md" @@ -0,0 +1,52 @@ +# GitGuard 功能菜单与版本规划 + +> **文档说明**:列出 GitGuard 的命令菜单和版本归属。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 命令菜单 + +| 命令 | 类型 | +| :--- | :--- | +| install | 独立 CLI | +| uninstall | 独立 CLI | +| upgrade | 独立 CLI | +| version | 独立 CLI | +| doctor | 独立 CLI | +| status | 独立 CLI | +| discover | 独立 CLI | +| init | 独立 CLI | +| check | 独立 CLI | +| audit | 独立 CLI | +| policy | 独立 CLI | +| branch | 独立 CLI | +| sync | 独立 CLI | +| release | 独立 CLI | +| hooks | 独立 CLI | +| report | 独立 CLI | +| completion | 独立 CLI | + +## 2. 版本归属 + +| 命令组 | 版本 | 状态 | +| :--- | :--- | :--- | +| 生命周期 | 0.1.x | 已实现 | +| 项目事实 | 0.1.x | 部分/已实现 | +| 领域检查 | 当前版本 | 生产可用 | + +## 3. 未实现项 + +- 未完成的领域运行时。 +- 未验证的宿主 Hook 接线。 +- 未同步的市场 catalog 版本。 + +## 4. 验收 + +- 命令有真实退出码。 +- JSON 通过 schema 校验。 +- 没有证据时不返回 PASS。 + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/1\343\200\201GitGuard-\345\221\275\345\220\215\344\270\216\345\223\201\347\211\214\350\257\264\346\230\216.md" "b/product-docs/GitGuard/1\343\200\201GitGuard-\345\221\275\345\220\215\344\270\216\345\223\201\347\211\214\350\257\264\346\230\216.md" new file mode 100644 index 0000000..87796d4 --- /dev/null +++ "b/product-docs/GitGuard/1\343\200\201GitGuard-\345\221\275\345\220\215\344\270\216\345\223\201\347\211\214\350\257\264\346\230\216.md" @@ -0,0 +1,37 @@ +# GitGuard 命名与品牌说明 + +> **文档说明**:冻结 GitGuard 的品牌、命名与产品边界。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 品牌定位 + +- 一句话定位:GitGuard(分支规范防护)是 Partme Guard 研发防护体系中的独立插件。 +- 目标用户:需要在 Agent 协作中保留可核验工程结论的研发团队。 +- 核心价值:把检查、证据和修复建议变成可重复执行的命令,而不是依赖对话记忆。 + +## 2. 命名规则 + +- 英文名:GitGuard +- 中文名:分支规范防护 +- 命令名:gitguard +- 仓库名:gitguard-plugin +- 展示格式:GitGuard(分支规范防护) + +## 3. 产品边界 + +是什么: + +- 独立安装、独立版本、独立执行的研发防护插件。 +- 通过命令、Hook 或技能输出结构化结论和证据。 + +不是什么: + +- 不是 Partme Guard 总命令。 +- 不替代其他 Guard 的专业判断。 +- 没有真实执行证据时不得报告 PASS。 + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/2\343\200\201GitGuard-\346\234\257\350\257\255\350\241\250\344\270\216\350\257\215\346\261\207\350\241\250.md" "b/product-docs/GitGuard/2\343\200\201GitGuard-\346\234\257\350\257\255\350\241\250\344\270\216\350\257\215\346\261\207\350\241\250.md" new file mode 100644 index 0000000..8e11b3e --- /dev/null +++ "b/product-docs/GitGuard/2\343\200\201GitGuard-\346\234\257\350\257\255\350\241\250\344\270\216\350\257\215\346\261\207\350\241\250.md" @@ -0,0 +1,37 @@ +# GitGuard 术语表与词汇表 + +> **文档说明**:统一 GitGuard 的术语,避免实现、文档和宿主提示使用不同口径。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 核心术语 + +| 术语 | 定义 | +| :--- | :--- | +| Guard | 一个独立研发防护插件及其 CLI/Hook | +| decision | allow、deny、unverified、error 四类结论 | +| UNVERIFIED | 证据不足或运行时缺失,不能视为通过 | +| DESIGN_ONLY | 只有设计,没有可执行领域运行时 | +| PARTIAL | 只完成了部分链路或部分输入 | +| evidence | 可回读的运行结果、报告或状态快照 | +| Hook | 宿主生命周期或 Git 事件上的检查入口 | + +## 2. 命令术语 + +| 术语 | 含义 | +| :--- | :--- | +| install | 安装受管启动器,不写项目 | +| init | 初始化项目配置,幂等 | +| discover | 只读识别项目事实 | +| check | 只读门禁,不自动修复 | +| report | 读取已有证据,不重新执行 | +| explain | 解释规则、语言或上次日志 | + +## 3. 状态口径 + +分支、提交、同步、发布、Hook 与 CI 检查已实现 + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/3\343\200\201GitGuard-\345\270\202\345\234\272\344\270\216\345\225\206\344\270\232\345\210\206\346\236\220.md" "b/product-docs/GitGuard/3\343\200\201GitGuard-\345\270\202\345\234\272\344\270\216\345\225\206\344\270\232\345\210\206\346\236\220.md" new file mode 100644 index 0000000..af483d2 --- /dev/null +++ "b/product-docs/GitGuard/3\343\200\201GitGuard-\345\270\202\345\234\272\344\270\216\345\225\206\344\270\232\345\210\206\346\236\220.md" @@ -0,0 +1,38 @@ +# GitGuard 市场与商业分析 + +> **文档说明**:说明 GitGuard 的目标问题、用户与竞争边界。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 问题 + +Agent 能快速修改代码,但团队仍需要可核验的工程结论: + +- 改动是否越过架构边界。 +- 提交和分支是否符合团队规则。 +- 规格、测试和代码是否一致。 +- 检查结论是否来自真实执行,而不是模型自述。 + +## 2. 目标用户 + +- 使用 Codex、ZCode、Claude Code 等宿主的研发团队。 +- 需要把 Agent 产出接入 CI、Hook 或发布流程的平台团队。 +- 需要保留审计证据的受监管项目。 + +## 3. 竞品与差异 + +| 类型 | 典型做法 | GitGuard 的差异 | +| :--- | :--- | :--- | +| 通用 linter | 只报告文件问题 | 统一 decision、证据和退出码 | +| 代码审查服务 | 依赖远端模型 | 可本地执行,结论可回读 | +| 工作流平台 | 绑定单一宿主 | 独立 CLI 与 Hook,可组合 | + +## 4. 商业假设 + +- 开源插件作为入口,团队级治理和 CI 集成作为增值方向。 +- 当前阶段优先真实可用性,不承诺未实现能力。 + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/4\343\200\201GitGuard-\346\212\200\346\234\257\344\270\216\345\217\257\350\241\214\346\200\247\345\210\206\346\236\220.md" "b/product-docs/GitGuard/4\343\200\201GitGuard-\346\212\200\346\234\257\344\270\216\345\217\257\350\241\214\346\200\247\345\210\206\346\236\220.md" new file mode 100644 index 0000000..d024a0a --- /dev/null +++ "b/product-docs/GitGuard/4\343\200\201GitGuard-\346\212\200\346\234\257\344\270\216\345\217\257\350\241\214\346\200\247\345\210\206\346\236\220.md" @@ -0,0 +1,38 @@ +# GitGuard 技术与可行性分析 + +> **文档说明**:评估 GitGuard 当前实现、缺口与风险。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 当前结论 + +分支、提交、同步、发布、Hook 与 CI 检查已实现 + +成熟度:生产可用 + +## 2. 已确认事实 + +- 插件独立仓库:gitguard-plugin +- CLI 入口:gitguard +- 当前版本:0.5.2 +- 命令:install、uninstall、upgrade、version、doctor、status、discover、init、check、audit、policy、branch、sync、release、hooks、report、completion + +## 3. 主要风险 + +| 风险 | 影响 | 处理 | +| :--- | :--- | :--- | +| 运行时缺失 | 只能返回 UNVERIFIED/PARTIAL | doctor 明确缺失项 | +| 证据不可回读 | 结论无法审计 | report 读取真实产物 | +| Hook 冲突 | 重复阻断或漏检 | 固定事件所有权 | +| 版本漂移 | 宿主与插件不一致 | 统一版本与 catalog 同步 | + +## 4. 可行性结论 + +- 生命周期与只读命令:✅ 可行。 +- 领域判定:生产可用,未实现部分必须标注 DESIGN_ONLY。 +- 生产接入:需要真实宿主和真实仓库证据后才能声明完成。 + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/5\343\200\201GitGuard-\346\212\200\346\234\257\346\226\271\346\241\210\344\270\216\350\267\257\347\272\277.md" "b/product-docs/GitGuard/5\343\200\201GitGuard-\346\212\200\346\234\257\346\226\271\346\241\210\344\270\216\350\267\257\347\272\277.md" new file mode 100644 index 0000000..93a2352 --- /dev/null +++ "b/product-docs/GitGuard/5\343\200\201GitGuard-\346\212\200\346\234\257\346\226\271\346\241\210\344\270\216\350\267\257\347\272\277.md" @@ -0,0 +1,37 @@ +# GitGuard 技术方案与路线 + +> **文档说明**:给出 GitGuard 的实现分层和迭代路线。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 技术分层 + +~~~text +宿主 / Agent + → Skill / Command + → gitguard CLI + → 领域运行时 / 外部工具 + → 证据与报告 +~~~ + +## 2. 关键决策 + +- 独立 CLI,不合并为 Partme Guard 总命令。 +- install 只装受管启动器,不写项目。 +- init 只写项目配置,幂等。 +- check 只读,必须有真实退出码。 +- 没有证据时返回 UNVERIFIED 或 DESIGN_ONLY。 + +## 3. 路线 + +| 阶段 | 内容 | 状态 | +| :--- | :--- | :--- | +| P0 | 生命周期 CLI、JSON、退出码 | ✅ | +| P1 | 领域 check 与证据 | 生产可用 | +| P2 | Hook 与 CI 集成 | 部分 | +| P3 | 跨 Guard 证据协同 | 规划 | + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/6\343\200\201GitGuard-\344\272\247\345\223\201\344\270\216\347\211\210\346\234\254\350\247\204\345\210\222.md" "b/product-docs/GitGuard/6\343\200\201GitGuard-\344\272\247\345\223\201\344\270\216\347\211\210\346\234\254\350\247\204\345\210\222.md" new file mode 100644 index 0000000..411097e --- /dev/null +++ "b/product-docs/GitGuard/6\343\200\201GitGuard-\344\272\247\345\223\201\344\270\216\347\211\210\346\234\254\350\247\204\345\210\222.md" @@ -0,0 +1,35 @@ +# GitGuard 产品与版本规划 + +> **文档说明**:记录 GitGuard 的版本策略与发布边界。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 当前版本 + +0.5.2 + +## 2. 版本矩阵 + +| 版本 | 目标 | 状态 | +| :--- | :--- | :--- | +| 0.1.x | 生命周期 CLI 与文档 | 已发布 | +| 0.2.x | 领域检查与证据 | 规划 | +| 1.0.0 | 稳定协议与兼容承诺 | 未开始 | + +## 3. 发布规则 + +- 代码改动必须 bump 版本。 +- 发布 tag 与 release 必须指向 main。 +- 市场 catalog 版本必须与仓库一致。 +- 未实现能力不因版本发布变成可用。 + +## 4. 兼容性 + +- JSON schema:partme.guard/v1。 +- 退出码:0/1/2/3/4。 +- 旧命令保留别名并提示弃用。 + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/7\343\200\201GitGuard-\351\242\206\345\237\237\346\250\241\345\236\213\350\256\276\350\256\241.md" "b/product-docs/GitGuard/7\343\200\201GitGuard-\351\242\206\345\237\237\346\250\241\345\236\213\350\256\276\350\256\241.md" new file mode 100644 index 0000000..17866a8 --- /dev/null +++ "b/product-docs/GitGuard/7\343\200\201GitGuard-\351\242\206\345\237\237\346\250\241\345\236\213\350\256\276\350\256\241.md" @@ -0,0 +1,38 @@ +# GitGuard 领域模型设计 + +> **文档说明**:定义 GitGuard 的核心对象与状态。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 核心对象 + +| 对象 | 说明 | +| :--- | :--- | +| Project | 被检查的仓库或目录 | +| Run | 一次命令执行 | +| Finding | 一条可定位的问题或风险 | +| Evidence | 运行产物、日志、报告或状态快照 | +| Decision | allow / deny / unverified / error | + +## 2. 状态流转 + +~~~text +idle → discover → check → report + ↘ unverified + ↘ error +~~~ + +## 3. 证据规则 + +- 每个结论必须能回读到真实执行。 +- 没有执行证据时不能产生 allow。 +- report 只读,不重新执行 check。 + +## 4. 领域边界 + +分支、提交、同步、发布、Hook 与 CI 检查已实现 + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/8\343\200\201GitGuard-Architecture.zh_CN.md" "b/product-docs/GitGuard/8\343\200\201GitGuard-Architecture.zh_CN.md" new file mode 100644 index 0000000..878cacb --- /dev/null +++ "b/product-docs/GitGuard/8\343\200\201GitGuard-Architecture.zh_CN.md" @@ -0,0 +1,42 @@ +# GitGuard CLI 架构设计 + +> **文档说明**:描述 GitGuard 的命令分层、运行时和证据边界。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 组件 + +~~~text +bin/gitguard + → 命令路由 + → 生命周期 / 只读检查 / 领域运行时 + → 证据与报告 +~~~ + +## 2. 命令分层 + +- 生命周期:install、uninstall、upgrade、version、doctor、status、completion。 +- 项目事实:discover、init、check、report。 +- 领域命令:install、uninstall、upgrade、version、doctor、status、discover、init、check、audit、policy、branch、sync、release、hooks、report、completion。 + +## 3. 输出与退出码 + +统一信封:schemaVersion、tool、command、decision、exitCode、findings、evidence、nextActions。 + +退出码:0 PASS,1 BLOCK,2 用法/配置错误,3 UNVERIFIED/DESIGN_ONLY,4 内部错误。 + +## 4. 安全边界 + +- install 不写项目。 +- init 幂等,不覆盖用户配置。 +- check 只读。 +- 外部 CLI 缺失时返回 PARTIAL,不伪造通过。 + +## 5. 当前成熟度 + +生产可用 + +--- + +**文档状态**:✅ 待评审 diff --git "a/product-docs/GitGuard/9\343\200\201GitGuard-\350\247\206\350\247\211\344\270\216\344\272\244\344\272\222DNA\350\247\204\350\214\203.md" "b/product-docs/GitGuard/9\343\200\201GitGuard-\350\247\206\350\247\211\344\270\216\344\272\244\344\272\222DNA\350\247\204\350\214\203.md" new file mode 100644 index 0000000..ad8011d --- /dev/null +++ "b/product-docs/GitGuard/9\343\200\201GitGuard-\350\247\206\350\247\211\344\270\216\344\272\244\344\272\222DNA\350\247\204\350\214\203.md" @@ -0,0 +1,38 @@ +# GitGuard 视觉与交互 DNA 规范 + +> **文档说明**:定义 GitGuard 的终端输出、错误提示和交互语气。 +> +> **版本**:V1.0.0 +> **最后更新**:2026-10-24 + +## 1. 输出风格 + +- 人类可读模式:简洁、可操作、先结论后证据。 +- JSON 模式:稳定字段,不混入日志。 +- 错误:说明原因、影响和下一步,不输出伪成功。 + +## 2. 状态语言 + +| 状态 | 表达 | +| :--- | :--- | +| allow | 通过,并注明证据 | +| deny | 阻断,并给出修复方向 | +| unverified | 无法验证,不称通过 | +| DESIGN_ONLY | 设计存在,运行时未实现 | +| PARTIAL | 只覆盖部分链路或输入 | + +## 3. 颜色与图标 + +- 只在人类可读模式使用颜色。 +- JSON 模式不输出 ANSI 控制字符。 +- 不使用夸张的“完美”“已解决”措辞。 + +## 4. 交互原则 + +- 写操作支持 --dry-run / --yes。 +- 失败保留原始错误和证据。 +- 不自动提交、推送或修改用户代码。 + +--- + +**文档状态**:✅ 待评审