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>:对指定目录操作(默认当前工作目录)。--force:init/update时强制覆盖已存在的 AI 工具 skill 目录。--skip-update-check:update时不去 npm 查最新版,直接用当前 CLI 执行。--purge:uninstall时连.draftgo/(含 config / 日志 / 本地缓存)一起删。--output json:map/check输出机器可读 JSON。--strict:check将提醒项也视为失败。--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_format、supports_json_schema、图片生成诊断摘要。type=agent:mode、主模型/备用模型、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.json、changelog.md、lessons/、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.Route、app.On或app.Schedule后即可自动注册。服务在独立 Go 子进程中构建和执行;标准库与go.mod中声明的兼容依赖可用。 - 本地资源在
.draftgo/custom_scripts/;元数据写在index.json,代码文件以每条记录的code_file为准。推送时draftgo_push.py custom_scripts只读取code_file指向的文件。 - 新服务使用
mode=mixed,Register内的app.Route、app.On、app.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.Input(body、query_params、headers、method、path_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 的permission与config.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支持auto、native、prompt:auto会优先使用模型资产的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_format与supports_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 all 或 draftgo 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.json 的 auto_push 默认是 false。AI 在每次完成本地验证后调用 draftgo auto-push;仅当你将该值改为 true 时,命令才会继续执行 check → push。直接执行 draftgo push 或 draftgo 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.json的auto_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.js,init / 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、.codex、AGENTS.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.md、rules/、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