npm.io
3.0.29 • Published yesterdayCLI

draftgo-cli

Licence
MIT
Version
3.0.29
Deps
2
Size
933 kB
Vulns
0
Weekly
0

draftgo-cli

跨 AI 编码工具一键安装 / 更新 / 卸载 DraftGo 开发助手 skill 的命令行工具。

支持的 AI 工具:Claude Code、Codex CLI、Cursor、Windsurf、Antigravity、GitHub Copilot、Gemini CLI、Kiro。

前置条件

  • Node.js >=20.19(运行 CLI)
  • Python 3.9+(运行 DraftGo init/sync 脚本;CLI 本身不需要)

DraftGo Next v3 基线

DraftGo Next 前端基线为 React + Vite。draftgo-cli v3 的定位是 DraftGo 工作台 CLI:负责本地运行环境、资源同步、开发检查、push/pull 闭环和 AI 工具 skill 分发。

数据库页面以 HTML 为核心,默认使用 Tailwind CSS 和页面级 CSS。

已存在的 draftgo init/update/status/doctor/map/check/connect/local-dev 保持兼容;首批工作台命令如下:

命令 说明
draftgo local up 启动 draftgo local-dev 生成的 .draftgo/docker/docker-compose.yaml 本地栈。
draftgo local down 停止本地栈。
draftgo local logs 查看本地栈日志,默认跟随 app 服务。
draftgo local status 查看本地栈容器状态。
draftgo dev 运行当前项目 package.json 中的 scripts.dev
draftgo build 运行当前项目 package.json 中的 scripts.build
draftgo check 本地资源闭环检查,辅助发现入口绑定、缺文件、重复路由、疑似 mock 与颜色/主题风险。
draftgo verify-ui <url> 使用 Playwright 执行单视口 UI smoke check;默认按 Git 变更判断,失败时才截图。
draftgo api <keyword> 结构化检索内置 OpenAPI,无需让 AI 读取完整规范文件。
draftgo pull 包装随 skill 分发的 draftgo_pull.py,默认 --all 拉取资源。
draftgo push 包装随 skill 分发的 draftgo_push.py,推送页面、导航、DB meta 等资源。
draftgo deploy 显式执行 check → push;支持 `--delivery local

安装

npm install -g draftgo-cli

快速开始

cd /path/to/your/project
draftgo init                 # 自动识别当前项目在用的 AI 工具并安装

也可以手动指定要安装到哪些 AI 工具:

draftgo init claudecode                  # 只装 Claude Code
draftgo init claudecode kiro cursor      # 多选
draftgo init all                         # 所有支持的工具

命令清单

命令 说明
draftgo init [target]... 安装 skill。不传 target 时自动识别;all 表示全部。
draftgo update [target]... 把当前 CLI 内置 skill 原子更新到已安装或检测到的 AI 工具目录;发现新版时只提示,不自动修改全局 CLI。
draftgo upgrade 显式执行全局 CLI 升级,然后使用新版刷新 skill。
draftgo uninstall [target]... 移除指定 AI 工具的 skill 目录(含入口文件 + 子技能 + scripts)。加 --purge 会连 .draftgo/ 一起删。
draftgo status 查看当前项目装了哪些 AI 工具入口、skill 版本。
draftgo doctor 诊断:Python 是否可用、检测到哪些 AI 工具、各入口状态。
draftgo map 输出本地 DraftGo 资源地图:页面、导航、DB、脚本、AIHub、文档、系统配置、入口引用,帮助 AI 快速进入项目。
draftgo check 本地闭环体检:检查 route、入口绑定、文件存在性、重复路由和疑似 mock/伪功能风险。
draftgo verify-ui <url> 浏览器 smoke check;支持 `--mobile-check auto
draftgo api <keyword> 查询内置 OpenAPI 端点。
draftgo deploy [type] [id...] 显式交付;local 只检查,preview dry-run,deploy 推送。
draftgo list-targets 列出支持的 AI 工具名。
draftgo --version 打印 CLI 版本。
draftgo --help 查看帮助。
全局选项
  • --project <dir>:对指定目录操作(默认当前工作目录)。
  • --forceinit/update 时强制覆盖已存在的 AI 工具 skill 目录。
  • --skip-update-checkupdate 时不去 npm 查最新版,直接用当前 CLI 执行。
  • --purgeuninstall 时连 .draftgo/(含 config / 日志 / 本地缓存)一起删。
  • --output jsonmap/check 输出机器可读 JSON。
  • --strictcheck 将提醒项也视为失败。
  • --mobile-check auto|always|never:控制 verify-ui 是否执行,默认 auto
  • --screenshot on-failure|always|never:控制 UI 截图,默认仅失败时生成。
  • --delivery local|preview|deploy:控制 deploy 的交付级别。

版本查询结果缓存 24 小时。可以通过环境变量 DRAFTGO_NO_UPDATE_CHECK=1 全局关闭版本检查(离线、CI 等场景)。

机器可读输出

draftgo map --output json 会输出本地资源地图,适合 Agent 在开发前快速读取上下文;覆盖 pages、navigations、db_meta、custom_scripts、aihub、docs、doc_categories、system_config、roles 和入口引用。AIHub 条目会包含常用配置摘要:

  • type=model:模型数量、supports_response_formatsupports_json_schema、图片生成诊断摘要。
  • type=agentmode、主模型/备用模型、output_format、用户选模型配置、工具来源摘要。
  • type=mcp:传输协议、已发现工具数量。

文档会摘要 slug/category/content_file/status,系统配置只展示 config_key/category/value_type/is_sensitive/status,避免把敏感值直接暴露给 Agent 输出。

draftgo check --output json 会输出 { map, errors, warnings, warningDetails },其中 warningDetails 带规则编号与置信度。--strict 会把 warnings 也视为失败。检查会提示明显的硬编码配色风险,要求优先使用系统 var(--dg-*) token;自主配色需同时兼容浅色与深色主题。

更新

cd <your-project>
draftgo update

update 会用当前版本刷新 skill,并查询 npm 最新版:

  • 如果 CLI 已是最新 → 原子替换每个目标的 skill 资源
  • 如果 CLI 过时 → 提示运行 draftgo upgrade,本次仍使用当前版本完成刷新

需要升级 CLI 时显式运行:

draftgo upgrade

整个过程中,你本地的 .draftgo/config.jsonchangelog.mdlessons/Task/ 等运行时数据都不会被动到。

内置 Skill 文档约定

CLI 随包分发的 DraftGo skill 会同步基座 API 约定。集合写入统一为:

  • 创建:POST /api/<resource> 支持单个对象或对象数组。
  • 批量更新:PATCH /api/<resource>/batch,请求体为带 id 的对象数组。
  • 动态 DB 因为资源带 type,批量更新路径是 PATCH /api/db/{type}/batch
  • GET 列表请求不传 page / page_size 时全量返回且无数量上限;任一分页参数传入时正常分页,缺失项按 page=1 / page_size=20 兜底。

前端资源约定:

  • DraftGo 基座内置 SVG 图标库,运行时路径为 /assets/icons/{name}.svg
  • 图标文件统一使用 kebab-case.svg 命名;完整映射见 /assets/icons/manifest.json
  • 页面或导航栏需要单色图标时,优先用 CSS mask + currentColor,可自动适配深浅主题。
  • html2canvas 1.4.1 已内置,页面需要截图 / 导出图片时优先使用本地路径 /assets/vendor/html2canvas/html2canvas.min.js;确需 CDN 时优先使用国内镜像引入。

Go 自定义服务通过 ctx.DB.CreateMany(...)ctx.DB.UpdateMany(...) 批量写入动态数据。

自定义服务(Custom Scripts)约定:

  • 自定义服务使用 Go:导入内置 draftgo/sdk,实现 Register(app *sdk.App),调用 app.Routeapp.Onapp.Schedule 后即可自动注册。服务在独立 Go 子进程中构建和执行;标准库与 go.mod 中声明的兼容依赖可用。
  • 本地资源在 .draftgo/custom_scripts/;元数据写在 index.json,代码文件以每条记录的 code_file 为准。推送时 draftgo_push.py custom_scripts 只读取 code_file 指向的文件。
  • 新服务使用 mode=mixedRegister 内的 app.Routeapp.Onapp.Schedule 会自动形成完整触发器清单;旧 triggers 字段不参与 Go 注册。
  • slug=<slug> 是服务命名空间;app.Route("GET", "/items", handler) 映射为 GET /api/x/<slug>/items。一个服务可同时注册多个路由、事件和定时任务。
  • Go handler 签名为 func handler(ctx *sdk.Context) (any, error);普通值直接返回,需要状态码或响应头时使用 ctx.Respond(...)
  • 第三方依赖写在同一条 index 元数据的 go_mod / go_sum;推送后应真实请求无副作用 GET 端点验证,不要只看 OK script_id=...
  • app.On("user.registered", handler) 可重复声明;同一服务既能监听多个事件,也能为同一事件注册多个 handler。
  • Route 输入在 ctx.Inputbodyquery_paramsheadersmethodpath_params);当前用户用 ctx.Auth.CurrentUser() 获取。普通值可直接返回,需要状态码或响应头时用 ctx.Respond(...)
  • 动态数据使用 ctx.DB.Query(type, sdk.QueryOptions{...});完整 Go SDK 见 specs/custom-services.md
  • 管理面按 scripts:read/create/update/delete/execute 接入角色 RBAC;获得创建/编辑权限的用户属于可信代码编辑者。调用面仍由每个 route 的 permissionconfig.route_security 独立控制,管理权限不会绕过调用权限。
  • 服务可用 config.max_concurrency / queue_timeout_ms 设置并发退避;出站请求使用 ctx.HTTP,饱和 Route 返回 HTTP 429。
  • 完整 SDK(users/db/auth/notify/http/cache/config/aihub/log)、各触发类型 ctx、管理 API 和部署限制见 resources/skill/specs/custom-services.md

AIHub Agent 用户选模型约定:

  • 管理端在 Agent 的 data.spec.model_selection.user_selectable=true 后,页面可调用 DraftGoAI.getSelectableModels(agentId) 获取 { user_selectable, models }
  • models 是该 Agent 的主模型 + 备用模型白名单,不是供应商全量模型列表。
  • 调用 DraftGoAI.chat(...)DraftGoAI.images(...) 时,可在 options.model 中传入用户选择的模型;后端会继续按 Agent 白名单校验。

AIHub Agent JSON 输出约定:

  • Agent 的结构化输出写在 data.spec.output_format 中;mode="json" 表示要求 JSON 输出。
  • data.spec.output_format.json.strategy 支持 autonativepromptauto 会优先使用模型资产的 supports_response_format/supports_json_schema 诊断结果,必要时降级为提示词约束。
  • data.spec.output_format.json.schema 可传 JSON Schema;后端会尽量构造 OpenAI 兼容 response_format,流式响应结束时会追加 json.validation 事件。
  • 模型资产可通过 POST /api/aihub/{id}/test-response-format 探测并写回 supports_response_formatsupports_json_schema

示例:

{
  "data": {
    "schema_version": "agent.v3",
    "spec": {
      "model_id": 1,
      "model": "gpt-4.1",
      "output_format": {
        "mode": "json",
        "json": {
          "strategy": "auto",
          "schema_name": "summary",
          "schema": {
            "type": "object",
            "properties": {
              "title": { "type": "string" },
              "tags": { "type": "array", "items": { "type": "string" } }
            },
            "required": ["title", "tags"],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

自动识别的依据

AI 工具 探测信号(任一命中即视为在用)
Claude Code .claude/CLAUDE.md
Kiro .kiro/
Cursor .cursor/
Windsurf .windsurf/
Antigravity .agent/
GitHub Copilot .github/prompts/.github/copilot-instructions.md
Codex CLI .codex/AGENTS.md
Gemini CLI .gemini/GEMINI.md

若未命中任何信号,请用 draftgo init alldraftgo init <target> 手动指定。

产物结构

每个 AI 工具拿到完整的核心说明(SKILL.md + 子技能 + rules + scripts)。大型 OpenAPI 快照只在 .draftgo/skill-shared/ 保存一份,避免多个工具重复复制;也可直接用 draftgo api <keyword> 查询。

<project>/
├── .draftgo/                         # 运行时数据(CLI 不会覆盖你这里的内容)
│   ├── config.json                   # init / connect 后生成(已加入 .gitignore)
│   ├── token                         # connect 后生成(已加入 .gitignore)
│   ├── changelog.md                  # 更新日志(按日期分节)
│   ├── Task/                         # 每个开发任务一个 md,含需求 / 设计 / 任务标记
│   ├── lessons/                      # 开发经验、踩坑记录、基座局限场景
│   ├── pages/  navigations/  ...     # init 拉取的本地缓存
│   ├── skill-shared/quickref/api.json # 多 AI 工具共享的 OpenAPI 快照
│   └── .version                      # CLI 写入:当前已装 skill 的版本
│
└── (AI 工具 skill 目录,按需写入;每份都是完整副本)
    .claude/skills/draftgo/{SKILL.md, init/, push/, pull/, story/, rules/, scripts/}
    .codex/skills/draftgo/{SKILL.md, ...}
    .gemini/skills/draftgo/{SKILL.md, ...}
    .cursor/commands/draftgo.md           +  .cursor/commands/draftgo/{...}
    .windsurf/workflows/draftgo.md        +  .windsurf/workflows/draftgo/{...}
    .agent/workflows/draftgo.md           +  .agent/workflows/draftgo/{...}
    .kiro/steering/draftgo.md             +  .kiro/steering/draftgo/{...}
    .github/prompts/draftgo.prompt.md     +  .github/prompts/draftgo/{...}

config.jsonauto_push 默认是 false。AI 在每次完成本地验证后调用 draftgo auto-push;仅当你将该值改为 true 时,命令才会继续执行 check → push。直接执行 draftgo pushdraftgo deploy 仍属于显式推送,不受此开关限制。

渲染时 SKILL.md 中的 {{SKILL_DIR}} / {{SKILL_SCRIPTS}} 会被替换成当前 AI 工具自身的目录,确保子技能、rules、scripts 引用永远指向同一个工具的副本。CLI 不会 改写你的 AGENTS.md / GEMINI.md


v3.0.28 升级要点(同步可靠性)

  • 修复导航 pull:列表元数据会逐条获取详情 HTML,避免空内容覆盖本地导航。
  • 指定 ID 的 pull 改为合并索引;请求失败、详情缺失或响应不完整时返回非零,保留本地缓存。
  • draftgo push 支持默认全量推送;deploy --delivery preview 使用无副作用的 dry-run 预览。

v3.0.27 升级要点(自动推送与索引恢复)

  • 新增 draftgo auto-push:始终先运行本地 check,仅在 .draftgo/config.jsonauto_push: true 时继续推送;关闭时保留验证并返回未推送信息。
  • 支持 draftgo auto-push --batch,并行任务也受同一开关约束。
  • 指定资源缺少 index.json 条目时,push 会回读云端;资源存在则补齐元数据并继续推送本地文件,资源不存在则提示清理本地孤儿文件。

v1.2.0 升级要点(高质量开发规范)

CLI v1.2.0 在 skill 包里追加了一套分级开发流程规范rules/dev-workflow.md),目标是让 AI 在做 DraftGo 项目开发时"小修不拖慢、功能有计划、高风险有门禁、质量靠证据"。

分级流程

小修:直接定位 → 改 → 轻量证据
轻功能:范围复述 → 直接做 → 凭证据闭环
标准功能:轻量确认 → 内部短计划 → 执行闭环
高风险:完整 Story / 计划 / 验证 / 回读证据

新增本地目录

  • .draftgo/Task/:每个开发任务一个 Markdown 文件,含需求纪要 / 设计 / 任务清单 / 标记 / 完成回顾

经验记录(lessons)

  • .draftgo/lessons/ 统一记录开发过程中的阻碍、踩坑、框架运行时问题、基座能力局限和可复用经验。
  • 文件按 YYYY-MM-DD-主题关键词.md 命名,便于后续回顾和沉淀为开发规范。

前端 UI 能力:DraftGo 平台前端默认采用 React + Tailwind CSS。若本地 Agent 环境存在前端 UI 相关 Skills,前端界面开发时优先调用。DraftGo-CLI 提供运行时、资源、数据、路由、入口绑定和验证方法。

完整规范见各 AI 工具自身 skill 目录下的 rules/dev-workflow.md,例如 .claude/skills/draftgo/rules/dev-workflow.md


v2.0.3 升级要点(操作型页面空间利用)

CLI v2.0.3 补充操作型页面的空间模型,重点解决后台管理 / 表格 / 列表页面按普通文档流布局时,数据少导致分页、保存栏、批量操作区上浮,页面空间利用不足的问题。

核心变化:

  • 工作台布局原则:后台管理、表格、列表、审批、配置、内容维护等操作型页面,优先让页面根容器占满可用视口 / iframe 内容区。
  • 稳定控制区:顶部筛选、搜索、标题操作区保持稳定高度,底部分页、批量操作栏、保存栏等流程控制区保持在工作区底部或稳定位置。
  • 数据区承接剩余空间:主体数据区使用 flex:1; min-height:0; overflow:auto 等结构承接剩余空间,数据少时保留工作区空白,数据多时优先让数据区内部滚动。
  • 工作台结构同步rules/frontend.md 补充操作型页面的空间方法,基座对应文档为 docs/frontend/rules.md,避免分页跟随 1-2 条数据上浮。

v2.0.2 升级要点(统一目标识别信号)

CLI v2.0.2 进一步完善 draftgo update 的目标识别逻辑,避免只修到单个工具而遗漏其他 AI 工具。

核心变化:

  • 平台定义成为单一信号源:每个 AI 工具的入口文件、skill 目录和项目级探测信号统一维护在 platforms.jsinit / update / doctor 共用同一份识别依据。
  • update 覆盖所有检测到的工具:不传 target 时,draftgo update 会合并“已安装 skill 的目标”和“项目中检测到的 AI 工具信号”,并刷新全部命中的工具。
  • 全平台测试覆盖:单测现在会同时模拟 Claude Code、Cursor、Windsurf、Antigravity、Kiro、GitHub Copilot、Codex、Gemini 的项目级信号,防止后续再出现只命中部分工具的问题。

v2.0.1 升级要点(update 目标识别修复)

CLI v2.0.1 修复 draftgo update 空参数时只刷新部分工具的问题。

核心变化:

  • update 合并识别目标:不传 target 时,draftgo update 会同时刷新“已安装 skill 的目标”和项目中可检测到的 AI 工具信号(如 .claude.codexAGENTS.md)。
  • Codex 项目级目录不再漏刷:项目里已有 .codex 但 Codex skill 尚未落地时,update 也会主动写入 .codex/skills/draftgo/

v2.0.0 升级要点(精简 skill 包体)

CLI v2.0.0 删除了内置 resources/skill/reference/ 基座参考副本,进一步精简安装到各 AI 工具中的 DraftGo skill 包体。

核心变化:

  • 移除 reference 目录:不再随 CLI 分发 OpenAPI 与前端 runtime 源码副本,减少安装体积和过期参考带来的误导。
  • 规则以当前 skill 为准:开发时优先依据 SKILL.mdrules/init/pull/push/story 子技能和本地 .draftgo/ 数据推进。
  • 避免源码级参考漂移:基座能力变化时,不再依赖 CLI 内置快照推断行为,降低旧 reference 与真实运行时不一致的风险。

v1.6.2 升级要点(开发效率轻量化)

CLI v1.6.2 进一步降低开发流程摩擦:保留真实落地闭环、页面绑定和平台禁区,同时让小修和轻功能更快进入实现。

核心变化:

  • 小修渐进读取:小修优先只读目标资源和最小必要规则,不再默认展开完整规则链路。
  • 新增轻功能档:简单页面能力、单入口交互、小型数据联动可走“范围复述 → 直接做 → 凭证据闭环”,不强制创建 Task。
  • 计划字段按需depends / resource_lock / wave 只在多任务、多资源冲突或准备并行时强制;单人串行小计划不再为字段服务。
  • 并行按收益启用:只有任务数足够、边界清晰、资源不冲突且并行收益大于协调成本时才启用并行。
  • 取消 80 行硬限制:改为“复杂或高风险代码分段实现并验证”,避免机械分批拖慢前端开发。
  • 验证按影响分层:小修验证改动点,轻功能验证入口引用和主路径;标准功能按实际影响覆盖四态、数据、跳转和同步证据。

v1.6.1 升级要点(前端规则收敛)

CLI v1.6.1 继续优化开发效果:减少前端规则中过细的“适合 / 不适合”和固定模板描述,让 AI 在满足平台硬约束的前提下,根据页面目标和业务复杂度做实现判断。

核心变化:

  • 前端规则收敛:DraftGo 规则关注本地资源、运行时 API、入口绑定、真实数据和验证方法。
  • GSAP 资源改为按需使用:本地 GSAP 资源仍可用,但 CLI 不再给出使用场景判断。
  • 表格规则去模板化:不再要求固定搜索、高级筛选、列配置、分页结构,具体界面由 Agent 和本地 UI Skills 判断。
  • 状态规则保留方法约束:空态、加载态、错误态、成功态必须存在,但具体呈现不由 CLI 指定。

v1.6.0 升级要点(开发任务规划升级)

CLI v1.6.0 强化了 skill 对“开发任务规划”的判断力,重点解决新页面 / 新功能只做成静态展示页、漏后台管理、漏真实数据、漏导航入口的问题。

核心变化:

  • 用户意图翻译:当用户用非技术语言描述“案例库、新闻中心、产品中心、预约、资料下载”等业务目标时,AI 会先识别它是页面、多页面还是完整功能模块,而不是要求用户说出 CRUD、API、路由等开发术语。
  • 页面默认完整功能:用户说“做一个页面”时,默认按可真实使用的页面功能处理;只有明确说“静态 / 纯页面 / demo / 先看效果”时,才按静态页处理。
  • 用户路径链路:功能规划从“用户打开官网 / 系统入口 → 看见入口 → 点击进入 → 操作 → 反馈 → 后台维护 → 前台展示更新”这一整条链路倒推页面、导航、数据和权限。
  • 新增页面绑定:创建页面后必须绑定到导航栏、首页入口、后台菜单或相关页面按钮之一;只创建页面文件、无法从正常路径点击进入,不算完成。
  • 真实落地闭环:按钮、表单、搜索、筛选、分页、保存、删除、发布等交互默认要真实有效;需要可维护内容时,优先规划后台管理和同一份真实数据,追求高可用。

这些规则保持轻量:小修直接定位 → 改 → 轻量证据;轻功能不强制 Task;普通标准功能使用内部短计划;跨资源、多页面协作、并行或高风险时才落 Task。


init / push 的正确运行方式

skill 内置两个 Python 脚本。不要用 curl / npx 代替,脚本会处理 token、字段结构、错误日志。脚本被复制到每个 AI 工具自己的 skill 目录下,例如 Claude Code 是 .claude/skills/draftgo/scripts/

# 以 Claude Code 安装位置为例(其它工具替换路径前缀即可)
python .claude/skills/draftgo/scripts/draftgo_init.py --server <url>
python .claude/skills/draftgo/scripts/draftgo_push.py pages   [page_id]
python .claude/skills/draftgo/scripts/draftgo_push.py nav     [nav_id]
python .claude/skills/draftgo/scripts/draftgo_push.py db_meta [meta_id]

token 通过环境变量 DRAFTGO_TOKEN 传入,脚本不接受命令行 --token

更推荐的用法:在 AI 工具里说「初始化 draftgo 项目」或「同步页面 123」,skill 会自动触发对应脚本。

v1.4.0 升级要点(Story System — 系统灵魂档案)

CLI v1.4.0 引入 Story System,解决 Vibe Coding 时代最大的痛点:每次新对话 AI 都不知道"这个系统为什么存在、不做什么、做过什么取舍"。

核心机制:Story Context / Gate

开发任务开始时,AI 按任务级别处理 .draftgo/story.yaml

  • 小修 → 不强制触发 Story
  • 功能 → 存在则静默加载,不存在不阻塞开发,收尾提醒补 Story
  • 高风险 → 不存在则暂存请求,进入 Story 构建流程(对话式采集,不是填表);存在则静默加载并做冲突检测

Story 文件结构(三层):

# .draftgo/story.yaml
meta:
  version: 1
  created: 2026-05-17
  last_touched: 2026-05-17
  maturity: seed   # seed | growing | stable

identity:
  what: "一句话讲清这是什么"
  why: "解决什么痛点,给谁用"
  not:
    - "不是 XX"
    - "不变成 YY"

design:
  overview: "核心流转逻辑:用户从哪进来 → 经过什么 → 得到什么价值"
  modules:
    - name: "模块名"
      role: "这个模块在系统里的定位(核心/辅助/基座)"
decisions:
  - id: D001
    date: 2026-05-17
    chose: "选了什么"
    over: "拒绝了什么"
    because: "原因"
    status: active

now:
  focus: "当前在做什么"
  next: "下一步方向"
  open_questions:
    - "悬而未决的事"

运行时行为:

  • 冲突检测:当开发请求与 Story 的 identity.not 或 active 决策矛盾时,AI 会显式摊牌,给出"想法变了 / 双轨并行 / 只是特例"三个选项
  • 主动沉淀:检测到方向性决策时,AI 主动提议记入 decisions
  • now 更新:对话结束时提议更新 focus/next

开发流程升级为分级门禁:

小修:直接定位 → 改 → 轻量证据
轻功能:范围复述 → 直接做 → 凭证据闭环
标准功能:轻量确认 → 内部短计划 → 执行闭环
高风险:Story → 完整确认 → 计划 → 回读验证 / 影响说明

注意: .draftgo/story.yaml 不在 draftgo init 中创建。它由 AI 在首次开发对话时通过与开发者交流后生成,确保内容有意义而不是空模板。

完整规范见各 AI 工具自身 skill 目录下的 story/SKILL.md,例如 .claude/skills/draftgo/story/SKILL.md


许可证

MIT

Keywords