@seanyao/roll 2026.522.1 → 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.
- package/CHANGELOG.md +17 -0
- package/bin/roll +210 -42
- package/conventions/config.yaml +1 -1
- package/conventions/global/AGENTS.md +1 -1
- package/conventions/global/GEMINI.md +8 -3
- package/conventions/templates/backend-service/GEMINI.md +3 -3
- package/conventions/templates/cli/GEMINI.md +3 -3
- package/conventions/templates/frontend-only/GEMINI.md +3 -3
- package/conventions/templates/fullstack/GEMINI.md +3 -3
- package/lib/__pycache__/model_prices.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll-loop-status.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll_render.cpython-314.pyc +0 -0
- package/lib/model_prices.py +16 -5
- package/lib/roll-loop-status.py +76 -21
- package/lib/roll-peer.py +1 -1
- package/lib/roll-status.py +1 -1
- package/lib/roll_render.py +9 -3
- package/lib/slides/templates/introduction-v3.html +576 -0
- package/package.json +1 -1
- package/skills/roll-deck/SKILL.md +22 -14
- package/skills/roll-design/SKILL.md +86 -0
- package/skills/roll-doctor/SKILL.md +1 -1
- package/skills/roll-onboard/SKILL.md +1 -1
|
@@ -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.
|
|
@@ -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 /
|
|
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
|