发现 AI 代理的未来arrow_forward

spec-gen

calendar_today收录于 2026年4月24日
category智能体与应用工具
code开源
RustMCPAI代理CLI智能体与应用工具开发者工具/代码协议/API/集成

从现有代码库逆向工程生成结构化 OpenSpec 规范,持续检测规范与代码漂移,并为 AI 代理提供语义导航能力的 CLI 工具。

spec-gen 是一个基于 TypeScript 的 CLI 工具(npm 包名 spec-gen-cli,当前版本 1.3.3),专注于从现有代码库逆向生成结构化的 OpenSpec 规范。其核心工作流涵盖三个层面:

静态分析层: 基于 tree-sitter 实现 9 种语言(TypeScript、JavaScript、Python、Go、Rust、Ruby、Java、C++、Swift)的 AST 解析,构建跨语言依赖图,自动聚类业务域,提取 DB schema(Prisma、TypeORM、Drizzle、SQLAlchemy)、HTTP 路由(Express、NestJS、Next.js、FastAPI、Flask)、UI 组件(React、Vue、Svelte、Angular)、中间件链和环境变量等结构信息。特别地,它能进行跨语言 HTTP 边检测,例如将 JS/TS 中的 fetch/axios 调用匹配到 Python FastAPI/Flask 的路由定义。

规范生成与治理层: 通过六阶段 LLM 驱动流程(项目调查 → 实体提取 → 服务分析 → API 提取 → 架构综合 → ADR 丰富)输出 OpenSpec 格式规范(GIVEN/WHEN/THEN 场景结构)。配套的漂移检测功能(spec-gen drift)纯静态毫秒级执行,覆盖 Gap、Stale、Uncovered、Orphaned、ADR Gap/Orphaned 五类漂移,--use-llm 可减少误报,--suggest-tests 关联受影响域的测试文件。架构决策追踪(spec-gen decisions)通过 pre-commit hook 门控实现提交前强制审查,支持交互式 TUI、结构化 JSON(ACP 兼容 IDE)、Agent JSON 三种模式。

测试与集成层: 测试生成(spec-gen test)将场景块解析为可执行测试骨架,THEN 子句模式引擎无需 LLM 即可生成断言,支持 Vitest、Playwright、pytest、Google Test、Catch2,并提供 --min-coverage <n> CI 门控和 // spec-gen: {} 注释标签实现位置无关的覆盖率追踪。MCP 服务器(spec-gen mcp)暴露语义搜索与调用图扩展能力供 AI 代理使用。同时可自动生成 CLAUDE.md、.cursorrules、.clinerules/、.vibe/skills/ 等 AI 工具配置文件。依赖图可视化(spec-gen view)基于内嵌的 React 19 + Vite 7 查看器。

安装与使用: 运行时要求 Node.js >= 20.0.0。npm install -g spec-gen-cli 全局安装后,通过 spec-gen init 初始化、spec-gen analyze --ai-configs 执行静态分析、spec-gen generate 生成规范(需 API Key)、spec-gen drift 检测漂移。支持 Nix/NixOS 从源码安装。分析产物存储于 .spec-gen/analysis/(结构化 JSON),规范输出于 openspec/specs/openspec/decisions/。内部使用 LanceDB + Apache Arrow 实现向量语义搜索,CLI 框架为 Commander.js,文件监控使用 chokidar。

待确认信息: npm 发布页面 URL 从 package.json 推断但未直接访问验证;@fission-ai/openspec 规范标准细节未在 README 中详述;MCP 服务器完整工具 schema 未列出;具体支持的 LLM provider 列表未明确。

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch