draftgo-cli
v2.0.3
Published
Install and manage the DraftGo skill across AI coding agents (Claude Code, Codex, Cursor, Windsurf, Antigravity, Copilot, Gemini, Kiro).
Maintainers
Readme
draftgo-cli
跨 AI 编码工具一键安装 / 更新 / 卸载 DraftGo 开发助手 skill 的命令行工具。
支持的 AI 工具:Claude Code、Codex CLI、Cursor、Windsurf、Antigravity、GitHub Copilot、Gemini CLI、Kiro。
前置条件
- Node.js 14+(运行 CLI)
- Python 3.9+(运行 DraftGo init/sync 脚本;CLI 本身不需要)
安装
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 工具自己的 skill 目录;保留本地 config / changelog / lessons / Task 等运行时数据。若 npm 上存在更新的 CLI 版本,会先自动升级 CLI 再重跑自己。 |
| draftgo uninstall [target]... | 移除指定 AI 工具的 skill 目录(含入口文件 + 子技能 + scripts)。加 --purge 会连 .draftgo/ 一起删。 |
| draftgo status | 查看当前项目装了哪些 AI 工具入口、skill 版本。 |
| draftgo doctor | 诊断:Python 是否可用、检测到哪些 AI 工具、各入口状态。 |
| 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 / 日志 / 本地缓存)一起删。
可以通过环境变量 DRAFTGO_NO_UPDATE_CHECK=1 全局关闭自动升级检查(离线、CI 等场景)。
更新
cd <your-project>
draftgo update就这一条命令。update 会自己去 npm 查最新版:
- 如果 CLI 已是最新 → 直接把内置 skill 资源覆盖到每个已安装 AI 工具的 skill 目录
- 如果 CLI 过时 → 自动执行
npm install -g draftgo-cli@latest,然后用新 CLI 重跑一遍update
整个过程中,你本地的 .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。
动态 DB SDK 也提供 sdk.db.create_many(...) 与 sdk.db.update_many(...),用于脚本内批量写入。
自动识别的依据
| 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 副本(SKILL.md + 子技能 + rules + scripts),写入它自己的目录。.draftgo/ 只放运行时数据。
<project>/
├── .draftgo/ # 运行时数据(CLI 不会覆盖你这里的内容)
│ ├── config.json # init / connect 后生成(已加入 .gitignore)
│ ├── token # connect 后生成(已加入 .gitignore)
│ ├── changelog.md # 更新日志(按日期分节)
│ ├── Task/ # 每个开发任务一个 md,含需求 / 设计 / 任务标记
│ ├── lessons/ # 开发经验、踩坑记录、基座局限场景
│ ├── pages/ navigations/ ... # init 拉取的本地缓存
│ └── .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/{...}渲染时 SKILL.md 中的
{{SKILL_DIR}}/{{SKILL_SCRIPTS}}会被替换成当前 AI 工具自身的目录,确保子技能、rules、scripts 引用永远指向同一个工具的副本。CLI 不会 改写你的AGENTS.md/GEMINI.md。
v1.2.0 升级要点(高质量开发规范)
CLI v1.2.0 在 skill 包里追加了一套分级开发流程规范(rules/dev-workflow.md),目标是让 AI 在做 DraftGo 项目开发时"小修不拖慢、功能有计划、高风险有门禁、质量靠证据"。
分级流程:
小修:直接定位 → 改 → check → push
轻功能:范围复述 → 直接做 → 主路径验证 → push
标准功能:轻量确认 → Task → TDR
高风险:完整 Story / 计划 / 验证 / 人工确认新增本地目录:
.draftgo/Task/:每个开发任务一个 Markdown 文件,含需求纪要 / 设计 / 任务清单 / ⬜🟡✅❌⏸ 标记 / 完成回顾
经验记录(lessons):
.draftgo/lessons/统一记录开发过程中的阻碍、踩坑、框架运行时问题、基座能力局限和可复用经验。- 文件按
YYYY-MM-DD-主题关键词.md命名,便于后续回顾和沉淀为开发规范。
前端审美方向:现代工艺 + 艺术风 + 用户体验三个方向,不立细则只立锚点(参考 Linear / Vercel / Apple HIG / Notion)。
完整规范见各 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等结构承接剩余空间,数据少时保留工作区空白,数据多时优先让数据区内部滚动。 - 数据表规则同步:
data-table.md新增工作台空间模型和 CSS 骨架参考,避免分页跟随 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 进一步降低开发流程摩擦:保留真实功能闭环、页面绑定、平台禁区和推送验证这些硬约束,同时让小修和轻功能更快进入实现。
核心变化:
- 小修渐进读取:小修优先只读目标资源和最小必要规则,不再默认展开完整规则链路。
- 新增轻功能档:简单页面能力、单入口交互、小型数据联动可走“范围复述 → 直接做 → 主路径验证 → push”,不强制创建 Task。
- 计划字段按需:
depends / resource_lock / wave只在多任务、多资源冲突或准备并行时强制;单人串行小计划不再为字段服务。 - 并行按收益启用:只有任务数足够、边界清晰、资源不冲突且并行收益大于协调成本时才启用并行。
- 取消 80 行硬限制:改为“复杂或高风险代码分段实现并验证”,避免机械分批拖慢前端开发。
- 验证按等级分层:小修验证改动点,轻功能验证入口和主路径,标准功能 / 高风险再完整覆盖四态、数据、跳转和影响范围。
v1.6.1 升级要点(前端规则去模板化)
CLI v1.6.1 继续优化开发效果:减少前端规则中过细的“适合 / 不适合”和固定模板描述,让 AI 在满足平台硬约束的前提下,更主动地根据页面目标、业务复杂度和用户体验做设计判断。
核心变化:
- GSAP 优先体验原则:开发前端页面时优先考虑使用 GSAP 提升体验,不再用固定场景清单限制是否引入。
- 数据表规则改为参考:数据列表 / 表格规范从“必须按模板实现”调整为参考指南,避免无差别套搜索、高级筛选、列配置、分页。
- 空态与圆角更灵活:空态保留稳定布局要求,写法不再唯一;圆角默认保持系统一致,但允许按品牌感、卡片层级和营销视觉适度放开。
- 审美方向更开放:保留现代工艺、艺术风、用户体验三轴,但减少反例式限制,让 AI 可以根据项目气质探索更鲜明的视觉语言。
v1.6.0 升级要点(开发任务规划升级)
CLI v1.6.0 强化了 skill 对“开发任务规划”的判断力,重点解决新页面 / 新功能只做成静态展示页、漏后台管理、漏真实数据、漏导航入口的问题。
核心变化:
- 用户意图翻译:当用户用非技术语言描述“案例库、新闻中心、产品中心、预约、资料下载”等业务目标时,AI 会先识别它是页面、多页面还是完整功能模块,而不是要求用户说出 CRUD、API、路由等开发术语。
- 页面默认完整功能:用户说“做一个页面”时,默认按可真实使用的页面功能处理;只有明确说“静态 / 纯页面 / demo / 先看效果”时,才按静态页处理。
- 用户路径链路:功能规划从“用户打开官网 / 系统入口 → 看见入口 → 点击进入 → 操作 → 反馈 → 后台维护 → 前台展示更新”这一整条链路倒推页面、导航、数据和权限。
- 新增页面绑定:创建页面后必须绑定到导航栏、首页入口、后台菜单或相关页面按钮之一;只创建页面文件、无法从正常路径点击进入,不算完成。
- 真实功能闭环:按钮、表单、搜索、筛选、分页、保存、删除、发布等交互默认要真实有效;需要可维护内容时,主动规划后台管理和同一份真实数据。
这些规则保持轻量:小修仍然直接定位 → 改 → check → push;轻功能不强制 Task;标准功能只做必要确认;高风险任务才进入完整 Story / 人工确认流程。
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: "这个模块在系统里的定位(核心/辅助/基座)"
style:
personality: "系统说话像谁"
keywords: ["设计关键词"]
do: ["正面指引"]
dont: ["禁区"]
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
开发流程升级为分级门禁:
小修:直接定位 → 改 → check → push
轻功能:范围复述 → 直接做 → 主路径验证 → 凭证据闭环
标准功能:轻量确认 → Task → TDR → 凭证据闭环
高风险:Story → 完整确认 → 计划 → TDR → 人工确认 / 回读验证注意: .draftgo/story.yaml 不在 draftgo init 中创建。它由 AI 在首次开发对话时通过与开发者交流后生成,确保内容有意义而不是空模板。
完整规范见各 AI 工具自身 skill 目录下的 story/SKILL.md,例如 .claude/skills/draftgo/story/SKILL.md。
许可证
MIT
