malakhov-dmitrii/forge

GitHub: malakhov-dmitrii/forge

一个以独立验证链为核心的 Claude Code 插件,将任务通过规划、审查与可执行验证的系统化流程,确保输出结果可靠且可追溯。

Stars: 19 | Forks: 2

# Forge **矿石进,钢出。** 铁匠不会责怪矿石。它熔炼、塑形、回火、淬火——直到产出的东西拥有锋芒。Forge 对代码做同样的事情:接受任何任务,无论多么原始,通过规划门、独立审查和验证执行进行加工,直到结果被证明有效。 Claude Code 插件。三项技能:规划流水线、文档卫生和代码卫生。支持从每次运行中学习的持久化记忆。 ``` "fix the auth bug" → research → plan → 2 independent reviews → TDD execute → independent verify → done ``` ## 安装 ``` git clone https://github.com/malakhov-dmitrii/forge.git ~/.claude/plugins/forge bun run ~/.claude/plugins/forge/scripts/install.mjs ``` 安装程序会创建技能符号链接,在 `settings.json` 中注册钩子,并初始化知识数据库。 ## 技能 ### `/forge` — 规划 + 执行 + 验证 主流水线。将任务从想法推进到已验证的实现。 ``` /forge "add rate limiting to the API" — plan → execute → verify /forge --full "migrate to new auth system" — deeper research + spike /forge --discuss "improve engagement" — clarify vague input first /forge --plan-only — stop after final plan ``` 两台机器按顺序工作: **Plan Forge** — 精炼循环。搜索项目的隐患、过往计划和架构文档。探测高风险假设。从不同的 AI 模型获取第二意见。循环直到两位独立审查者发现零个问题。最多 5 次迭代。 **Verification Chain** — 两名从未见过执行器输出的代理独立验证每一个验收标准。审计员抽查 30-50% 的证据。缺口会反馈给执行阶段。 **铁律**(硬编码,系统无法覆盖): - 每个计划至少 2 次独立审查 - 规划者 ≠ 审查者。不共享上下文。 - 流水线配置是项目范围的。不会在项目之间自动传播。 ### `/docs-refresh` — 文档卫生 审计所有项目文档的新鲜度。删除已失效的内容,更新发生偏移的部分,压缩臃肿的内容。同时作为 Forge 的最终阶段运行。 ``` /docs-refresh — full audit: memory, CLAUDE.md, lessons, references /docs-refresh --scan-only — report only, no changes /docs-refresh --memory-only — scope to memory files ``` ### `/code-hygiene` — 代码库健康分析 运行静态分析工具,解释结果,映射架构,评估测试质量。将结构化结果存储在 `.omc/hygiene/` 中以便长期跟踪。 **工具优先方法**:运行 tsc、scc、semgrep、knip、jscpd、dependency-cruiser,然后解释 JSON 输出。生成健康分数(0-100)、按严重性分类的发现(P0-P3)、包含 Mermaid 图表的架构概览,以及测试质量分析。P0/P1 发现可以转化为待处理的 Forge 任务以便重构。 ## Forge 智能 每次 Forge 运行都会写入 SQLite 数据库(`.omc/forge.db`)。系统从自身历史中学习。 **跟踪内容:** - 每次迭代的门结果(哪些审查失败、发现了什么) - 尖峰缓存(带有 TTL 的已确认/反驳的假设) - 每个系统的风险分数(自动从过去的失败中聚合) - 共同故障模式(哪些系统倾向于一起出错) **实现的功能:** - `--park` / `--resume` — 保存工作,在新会话中继续 - `--spawn "子任务"` — 创建带有依赖跟踪的子 Forge - 上下文窗口重置时保留状态 - PRECEDENT 阶段在规划前查询历史运行(“上次这个系统需要 3 次迭代”) **跨项目知识** 存储在 `~/.forge/global.db` 中——适用于所有工具的已验证事实。关于外部工具的尖峰会自动提升。 模式已版本化(`PRAGMA user_version`)——未来更新会自动迁移。 ## 工作原理 ### 计划 Forge ``` PRECEDENT ── gotchas, past plans, forge.db risk scores, cached spikes │ RESEARCH ─── read every file, grep all usages, spike anything testable in <5 min │ CHALLENGE ── second opinion on approach (codex CLI or fresh opus agent) │ PLAN ─────── concrete steps with acceptance criteria (static + unit + e2e) │ REVIEW ───── 2+ binary gates: Skeptic (mirages) + Second Opinion (production failures) │ └── fail? → fix specific issue → re-run failed gate only → max 5 iterations ``` ### 验证链 ``` Layer 0: Static ── tsc, semgrep, lsp diagnostics Layer 1: Unit ──── test suite on changed modules Layer 2: E2E ───── trigger real flows, verify actual behavior Layer 3: Agents ── Evidence Collector (sonnet) → Auditor (opus), no executor access ``` ### 文档刷新(最终阶段) 验证完成后:检查本次工作是否产生新的隐患、使旧文档过时,或发现值得记录的模式。自动从永久尖峰创建课程文件,从重复的门审查结果中添加 CLAUDE.md 隐患。 ## Forge 命令 ``` /forge "task" — new forge, start pipeline /forge --park [reason] — save state to forge.db /forge --resume [slug] — continue from where you left off /forge --spawn "sub-task" — child forge, optionally blocks parent /forge --switch [slug] — park current + resume another /forge --list — all forges with status /forge --complete — mark done, record lesson, unblock dependents /forge --abandon [reason] — mark abandoned, preserve context ``` ## 项目结构 ``` skills/ forge/SKILL.md # Planning pipeline specification docs-refresh/SKILL.md # Documentation hygiene hooks/ forge-schema.mjs # SQLite schema, migrations, triggers forge-crud.mjs # CRUD operations, risk aggregation forge-hooks.mjs # SessionStart/End/PreCompact handlers forge-global.mjs # Cross-project knowledge DB agents/ skeptic.md # Mirage hunter — verifies claims against reality evidence-collector.md # Independent verification, no executor access auditor.md # Spot-checks evidence, catches gaps researcher.md # Deep codebase investigation planner.md # Concrete, testable plans ... # 13 agents total commands/ forge.md # Main command forge-setup.md # One-time project setup templates/ semgrep-starter.yml # Starter gotcha rules docs-structure.md # Knowledge vault template scripts/ install.mjs # Symlinks, hook registration, DB init ``` ## HUD 集成 当 Forge 活跃时,终端状态栏会显示进度: ``` forge:REV·2 S✓I✓2✗ +1parked — Review iter 2, Skeptic pass, Integration pass, 2nd fail, 1 parked forge:EXE 4/6 — Execute phase, 4 of 6 steps done forge:VER — Verification chain running ``` ## 哲学 1. **矿石进,钢出。** 系统精炼而不拒绝。模糊的输入会被澄清。错误的假设会被探测。薄弱的计划会被锤炼。 2. **独立验证。** 塑造金属的代理不能测试刀刃。独立的代理,不共享上下文。 3. **先尖峰,后理论。** 五分钟的测试胜过三十分钟的辩论。 4. **Forge 有记忆。** 每次运行都教会下一次。风险分数、缓存的尖峰、共同故障模式——知识会累积。 5. **铁律成立。** 每个计划都有两次独立审查。系统可以在边界内优化,但不能移除自身的安全检查。 ## 要求 - [Bun](https://bun.sh) — 运行时(用于 hooks 中的 bun:sqlite) - [Claude Code](https://claude.ai/code) — AI 编码助手 可选: ``` brew install semgrep scc # static analysis + complexity metrics ``` [Codegen CLI](https://github.com/openai/codex) 推荐用于跨模型的第二意见。 ## 许可证 MIT — [Dmitrii Malakhov](https://github.com/malakhov-dmitrii)
标签:AI 编码辅助, Claude Code 插件, Forge, Ironclad Planning, Ruby, SEO: AI 编码插件, SEO: TDD 工具, SEO: 代码质量工具, SEO: 项目规划, TDD, XML 请求, 代码卫生, 安全开发, 审核管道, 审计追踪, 开源框架, 执行器隔离验证, 持久化记忆, 持续集成, 数据可视化, 文档卫生, 独立评审, 独立验证, 知识库, 自定义脚本, 规划管道, 项目规划, 黑smith 隐喻