草稿管理

草稿是 Backlog.md 中一种轻量级的任务前形态,用于记录尚未成熟的想法、待拆分的功能点或需要进一步澄清的需求。

草稿的用途

场景 说明
快速记录想法 无需填写完整字段,先保存标题和简要描述
待评审需求 在正式创建任务前,通过草稿收集反馈
任务拆分准备 将一个复杂功能先记为草稿,再细化为多个正式任务
避免污染任务列表 草稿不占用正式任务 ID,也不会出现在看板的默认视图中

创建草稿

通过 task create 创建

在创建任务时添加 --draft 选项,即可直接生成草稿:

backlog task create "未来可能需要的功能" --draft

通过 draft create 创建

使用草稿专属子命令,语法更简洁:

backlog draft create "未来可能需要的功能"

带描述的草稿

backlog draft create "重构认证模块" \
  -d "考虑将 Session 认证迁移到 JWT" \
  -l "refactor" \
  -a "@architect"

draft create 支持的选项包括:

选项 说明
-d, --description <text> 描述
--desc <text> --description 的别名
-a, --assignee <assignee> 负责人
-s, --status <status> 状态(默认 Draft)
-l, --labels <labels> 标签,逗号分隔
--due-date <date> 截止日期(YYYY-MM-DD)
--planned-start / --planned-end <date> 计划起止日期
--actual-start / --actual-end <datetime> 实际起止时间(UTC 存储)

草稿与任务共用同一套创建期日期选项。

编辑草稿

使用 draft edit 直接修改草稿字段,选项与 task edit 完全一致:

backlog draft edit draft-3 --title "更清晰的标题" -l "refactor,backend"
backlog draft edit draft-3 --append-notes "补充调研结论"

规则:

  • 只接受单个草稿 ID,不支持批量编辑
  • 至少需要一个字段标志,否则报错
  • --status 只接受 Draft;要变成正式任务请使用 backlog draft promote——脚本中不会被一次"编辑"悄悄提升
  • 加 --plain 输出编辑后的完整记录

草稿 ID 的歧义保护

草稿身份解析是 fail-closed 的:当同一 ID 命中多个草稿文件(如编号漂移造成的 draft-3 与 draft-03 并存)时,draft view / draft edit / draft archive / draft promote 都会列出全部候选并以非零退出,不会任选一个执行。backlog doctor 会报告这类草稿身份问题(重复编号、frontmatter 漂移、无法解析的文件)。

查看草稿列表

backlog draft list

默认按优先级排序。可选参数:

选项 说明
--sort <field> 按 priority 或 id 排序
--max-count <n> / --skip <n> / --count 分页窗口:最多 n 条 / 跳过 n 条 / 只输出总数(语义见 搜索与序列 的「列表分页」)
--plain 纯文本输出

草稿提升为任务

当草稿内容已经足够清晰,可以开始执行时,将其提升为正式任务:

backlog draft promote draft-3

提升后:

  • 草稿文件从 backlog/drafts/ 移入 backlog/tasks/
  • 草稿 ID(如 draft-3)被替换为正式任务 ID(如 back-15)
  • 原草稿文件被归档或删除

任务降级为草稿

若某个正式任务发现条件不成熟、需要暂缓执行,可将其降级回草稿:

backlog task demote back-10

降级后:

  • 任务文件从 backlog/tasks/ 移入 backlog/drafts/
  • 原正式任务 ID 被释放,可被新任务复用
  • 获得新的草稿 ID(如 draft-5)

Web UI 草稿页面

浏览器访问 /drafts 可查看草稿列表并进行筛选管理。

筛选栏

页面顶部提供与任务列表一致的筛选栏:

控件 说明
关键字搜索 按草稿 ID 或标题搜索,子串匹配,支持清除按钮
状态筛选 下拉选择所有可用状态
优先级筛选 全部 / 高 / 中 / 低
里程碑筛选 全部里程碑 / 无里程碑 / 各个活跃里程碑
标签筛选 多选 chip 输入,带自动补全

筛选结果实时显示计数 显示 X / Y 个草稿。有活跃筛选时,右侧出现「清除筛选」按钮一键重置。

筛选状态持久化

所有筛选条件(包括搜索词)自动同步到 URL 查询参数,页面可分享和收藏。支持的参数:

  • ?status= — 状态过滤
  • ?priority= — 优先级过滤
  • ?milestone= — 里程碑过滤(__none 表示无里程碑)
  • ?label= — 标签过滤(可多次出现)
  • ?q= — 关键字搜索

草稿卡片与操作

每个草稿显示标题、优先级徽标、ID、创建/更新时间、负责人和标签。点击卡片可编辑草稿详情,右侧「提升为任务」按钮可将草稿提升为正式任务。

归档草稿

对于不再需要的草稿,可以直接归档:

backlog draft archive draft-2

归档后草稿移入 backlog/archive/tasks/ 目录。

草稿使用独立 ID 空间

草稿与正式任务使用完全独立的编号体系:

  • 正式任务 ID:back-1、back-2、back-3……
  • 草稿 ID:draft-1、draft-2、draft-3……

这意味着:

  • 草稿的数量不会影响正式任务的 ID 序列
  • 草稿提升时会分配下一个可用的正式任务 ID
  • 正式任务降级时会分配下一个可用的草稿 ID
  • 删除或归档草稿后,其 ID 不会导致正式任务编号的断层

results matching ""

    No results matching ""