SuperAPI AI 工具集

dotdog

dotdog 是一个面向结构化软件规格的 CLI 工具链,用于规格驱动设计。它以人工可读的 .dog 文件作为源规格,编译为供智能体使用的 .dag 实现图谱,并通过 MCP 服务器让兼容 MCP 的 AI 智能体查询真实项目结构。支持空项目、已有项目和由多仓库组成的工作区三种起点,还提供验证、仓库映射、VS Code 语法高亮等能力。需要 Node.js >= 20 或 Bun >= 1.3。

访问官网

工具介绍

用途

dotdog 是一个规格驱动设计(spec-driven design)工具链,面向单仓库、monorepo 和 polyrepo 工作区。它的目标是把计划、仓库或多仓库产品转化为结构化的 .dog 规格,编译为 .dag 图谱,让 AI 智能体查询真实项目结构,而不是凭空猜测。

主要能力

三种起点

  • 空项目:在实现之前创建规格基础。
  • 已有项目:把当前仓库映射为结构化图谱事实。
  • 工作区产品:用 .doghouse/workspace.json 描述由 N 个仓库组成的产品。

.dog 与 .dag

.dog 文件是人类可读的源规格,采用 Markdown 散文加 YAML 结构化块。.dag 文件是编译后的实现图谱,供智能体和工具使用。

dotdog init 创建的内容

dotdog init <project> 会在 specs/<project>/ 下创建项目规格工作区,计划完整脚手架包括:

  • SPEC.dog — 产品意图、行为、流程和用户故事。
  • data-model.dog — 实体、状态、schema 和关系。
  • plan.dog — 实现阶段和任务。
  • constitution.dog — 约束、规则和边界。
  • INDEX.dog — 面向人类和智能体的导航图。
  • COPY.dog — 面向用户的文本和界面语言。

工作区(N 个仓库)

Dotdog 工作区是产品边界,可包含一个仓库、一个 monorepo 或 N 个独立仓库。工作区元数据位于 .doghouse/workspace.json。工作区图谱会生成带仓库限定的事实,让人类和智能体区分事实来源。单仓库项目不需要 manifest,Dotdog 默认把当前仓库视为单仓库工作区。只有 .doghouse/workspace.json 适合纳入版本控制,生成的工作区图谱和观察事实默认被忽略,因为它们可能包含仓库元数据。

已有仓库映射

dotdog 不只是为空项目搭建脚手架,还可映射已有仓库。目标图谱把产品意图连接到真实实现,目标节点类型包括文件、目录、包、前端组件、路由、页面、API 端点、后端处理器、服务、schema、数据库表、迁移、环境变量、云资源、CI 工作流、测试、任务和规格。目标边类型包括 imports、calls、renders、reads、writes、depends_on、implements、configured_by、deployed_by、tested_by、documented_by 和 owned_by。

对于全新项目,可在 dotdog compile 之后运行 dotdog design。它会审计编译后的数据模型,检查稳定标识符、关系、生命周期、所有权、访问模式和敏感数据处理,然后给出具体下一步,而不会虚构领域事实。

MCP 服务器

dotdog serve 通过 stdio 向任何兼容 MCP 的 AI 智能体暴露规格。它是一个本地 stdio 服务器,不打开 TCP 端口,也不写查询日志。若放在网关后面,需为网关配置认证和最小权限访问。

自验证

dotdog 会验证自己的规格,每个 PR 都会执行该验证。

VS Code 扩展

为 .dog 文件提供语法高亮。安装方式见官方仓库说明。

使用方式

需要 Node.js >= 20 或 Bun >= 1.3。

初始化项目:

dotdog init <project>

编译图谱:

dotdog compile

设计审计(全新项目):

dotdog design

启动 MCP 服务器:

dotdog serve

对于用 GitHub Spec Kit 创建的项目,导入器会读取本地 specs/<feature> 产物,在 .doghouse/speckit 下写入生成的图谱,并保留已编辑输出,除非显式使用 --force。导入的 Markdown 会被引用在生成的 .dog 文件中,以免源内容产生非预期的图谱语法。

格式规格

  • .dog 格式规格:语言定义、EBNF 语法、验证规则。
  • .dag 格式规格:图定义、MCP API、token 效率。

适用场景

规格驱动开发和规格驱动设计:先编写或映射规格,验证、编译,再让智能体查询实现图谱。适用于希望避免规格在 wiki 中腐坏、避免智能体从散文猜测的团队与项目。

相关项目

  • dotdefi — 规格优先的 DeFi 开发。编写 .dog 规格,生成 Solidity 存根。
  • collar — DAG 优先的智能体 harness。
  • dogbench — Collar 和 dotdog 的 token 节省基准。
  • dogfood-paybot — 狗粮测试:在真实支付机器人项目上使用 dotdog。
  • homebrew-dotdog — Homebrew tap,用于 brew install dotdog。

限制

  • 需要 Node.js >= 20 或 Bun >= 1.3。
  • dotdog serve 是本地 stdio 服务器,不打开 TCP 端口;若置于网关后,需自行配置认证和最小权限。
  • 只有 .doghouse/workspace.json 适合版本控制,生成的工作区图谱和观察事实默认被忽略。
  • 官方资料未提供具体收费、价格、平台支持范围或性能数据。