@seanyao/roll 2026.521.3 → 2026.522.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,6 +18,10 @@ Discuss approaches, design architecture, plan requirements, and write to `.roll/
18
18
  - A solution needs to be designed before splitting into Stories
19
19
  - An existing plan needs to be written into `.roll/backlog.md`
20
20
 
21
+ > **Doc-refresh discipline**: When splitting stories that change user-visible behavior, always append a closing "doc-refresh" story.
22
+ > **文档刷新纪律**:拆出的 story 只要改变了用户可见行为,最后必须追加一张"文档刷新"收尾 story。
23
+ > See [Doc Update Discipline](#doc-update-discipline) at the bottom of this file for the full rule.
24
+
21
25
  ## Use This Skill For
22
26
 
23
27
  - Approach exploration and comparison (discuss phase)
@@ -303,6 +307,11 @@ User Input
303
307
  │ - INVEST principles │
304
308
  │ - Bounded Context → US domain prefix │
305
309
  │ - Priority ordering │
310
+ │ - **强制检查**: 若本批次任一 US 改了 │
311
+ │ 用户可见行为(CLI 输出 / 命令参数 / │
312
+ │ 状态语义 / 错误提示),必须在末尾追加 │
313
+ │ 一张 doc-refresh 收尾 story │
314
+ │ (详见 Doc Update Discipline 一节)│
306
315
  └──────────────────┬──────────────────────┘
307
316
 
308
317
 
@@ -690,6 +699,39 @@ Note: `{DOMAIN}` maps to the Bounded Context name identified in DDD analysis.
690
699
  - Integration test: `tests/integration/{flow}.test.ts`
691
700
  ```
692
701
 
702
+ ### Closing Doc-Refresh Story Template — Phase N.M 收尾文档
703
+
704
+ When any preceding US in the batch changes user-visible behavior, append this template story at the end of the batch. Wire it as `depends-on:` against every preceding user-facing US so it runs last.
705
+
706
+ ```markdown
707
+ <a id="us-{domain}-{n}"></a>
708
+ ## US-{DOMAIN}-{N} Phase {N.M} 用户文档刷新(中英双轨) 📋
709
+
710
+ **Created**: {YYYY-MM-DD}
711
+
712
+ - As a roll user reading the docs
713
+ - I want the user-facing documentation to match the new behavior shipped in this Phase
714
+ - So that the next person reading the guide / README / `--help` does not hit a stale version
715
+
716
+ **AC:**
717
+ - [ ] Update each affected doc file listed below; **English line and Chinese line on separate lines**, never inline
718
+ - [ ] `roll <cmd> --help` output reflects new flags / commands / status semantics (paste verified output)
719
+ - [ ] README index links to any new guide pages
720
+ - [ ] Error-message changes are mirrored in troubleshooting / FAQ sections
721
+ - [ ] Verified: no doc page still describes the pre-Phase behavior
722
+
723
+ **Files:**
724
+ - `guide/en/{topic}.md`
725
+ - `guide/zh/{topic}.md`
726
+ - `README.md` (index entry)
727
+ - `{any other user-facing doc touched by the Phase}`
728
+
729
+ **Dependencies:**
730
+ - Depends on: {every preceding user-facing US in this batch}
731
+ - Worked example: 参考 `features/authoring/slide-deck-generator.md` 的 US-DECK-015 ——
732
+ roll slides Phase 1.5 把 6 张 user-visible US 末尾合并成一张 doc-refresh story 的范例。
733
+ ```
734
+
693
735
  ---
694
736
 
695
737
  ## INVEST Principles
@@ -768,3 +810,47 @@ Before creating any file or directory:
768
810
  4. **Follow what already exists** — introduce new patterns only when the current structure has no precedent
769
811
 
770
812
  > `roll init` no longer asks for project type. Skills are responsible for reading context and acting accordingly.
813
+
814
+ ---
815
+
816
+ <a id="doc-update-discipline"></a>
817
+ ## Doc Update Discipline
818
+
819
+ When `$roll-design` splits a feature into stories, **the closing tasking step is
820
+ always a doc-refresh story whenever any preceding US changes user-visible
821
+ behavior**. This is mandatory, not optional — without it, code ships and the
822
+ docs silently drift to the previous version, and only the next user to read the
823
+ guide notices.
824
+
825
+ **When a separate doc-refresh story IS required (任一为真即触发):**
826
+ - 任一 US 改了 **CLI 输出**(新增/修改输出行、表头、颜色、emoji 语义)
827
+ - 任一 US 改了 **命令参数**(新增/重命名 flag、改变 default、收紧/放宽校验)
828
+ - 任一 US 改了 **状态语义**(backlog 状态、cycle 状态机、退出码含义)
829
+ - 任一 US 改了 **错误提示** / 用户可读日志文案
830
+ - 任一 US 新增/删除/重命名一个用户能直接调用的命令
831
+
832
+ **When it can be skipped (纯内部变更,用户感知不到):**
833
+ - 纯内部重构(内部函数改名、模块边界调整、测试沙箱化)
834
+ - CI / hooks / 工具链修复
835
+ - 安全 / 隔离基础设施(沙箱配置、权限矩阵内部调整)
836
+ - 测试基础设施 / fixture 数据更新
837
+
838
+ **Checklist for the doc-refresh story (中英双语必需):**
839
+ - [ ] `guide/en/<topic>.md` — English guide updated
840
+ - [ ] `guide/zh/<topic>.md` — Chinese guide updated
841
+ - [ ] `README.md` index links to any new doc page
842
+ - [ ] `--help` output snapshot matches new flags / commands / status semantics
843
+ - [ ] Error-message strings reflected in troubleshooting / FAQ
844
+ - [ ] **Bilingual rule**: English and Chinese on **separate lines**, never inline
845
+ (遵循 project CLAUDE.md 中 Bilingual Output Convention)
846
+
847
+ **How to wire the doc-refresh story:**
848
+ 1. Place it **last** in the batch
849
+ 2. `depends-on:` lists **every** preceding user-facing US in the batch
850
+ 3. Title 用 "Phase N.M 用户文档刷新(中英双轨)" 模板(见 [Story Format](#story-format) 中的模板)
851
+ 4. Cite a worked example in its Dependencies note — current best reference is
852
+ `features/authoring/slide-deck-generator.md` US-DECK-015 (roll slides Phase 1.5)
853
+
854
+ > Self-validation: this very skill was strengthened via US-SKILL-009; the
855
+ > roll slides Phase 1.5 tasking (US-DECK-015) is the canonical worked example
856
+ > of the discipline in action.
@@ -56,7 +56,7 @@ Check:
56
56
  # Claude Code
57
57
  ls -la ~/.claude/skills/roll-*
58
58
 
59
- # Gemini (if exists)
59
+ # Antigravity (agy — reuses ~/.gemini/, if exists)
60
60
  ls -la ~/.gemini/skills/roll-* 2>/dev/null
61
61
 
62
62
  # Trae (if exists)
@@ -85,7 +85,7 @@ Present these in chat. **Aim for total time ≤ 3 minutes.** Group 1 confirms yo
85
85
  **Group 3 — Privacy & next steps**
86
86
 
87
87
  7. Add `.roll/` to `.gitignore`? (yes = keep project management private; no = commit it like Roll itself does)
88
- 8. Sync Roll conventions to which AI tools? Multi-select from detected agents (claude / cursor / codex / kimi / deepseek / pi / opencode / gemini / trae)
88
+ 8. Sync Roll conventions to which AI tools? Multi-select from detected agents (claude / cursor / codex / kimi / deepseek / pi / opencode / agy / trae)
89
89
  9. Enable `roll loop` autonomous execution after init?
90
90
 
91
91
  ### Step 4 — Write plan file