@seanyao/roll 2026.421.5 → 2026.424.1

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/bin/roll CHANGED
@@ -4,7 +4,7 @@ set -euo pipefail
4
4
  # Roll — AI Agent Convention Manager
5
5
  # Single source of truth for how all AI coding agents behave.
6
6
 
7
- VERSION="2026.421.5"
7
+ VERSION="2026.424.1"
8
8
  ROLL_HOME="${ROLL_HOME:-${HOME}/.roll}"
9
9
  ROLL_CONFIG="${ROLL_HOME}/config.yaml"
10
10
  ROLL_GLOBAL="${ROLL_HOME}/conventions/global"
@@ -235,6 +235,7 @@ ai_gemini: ~/.gemini|GEMINI.md|GEMINI.md
235
235
  ai_kimi: ~/.kimi|AGENTS.md|AGENTS.md
236
236
  ai_codex: ~/.codex|AGENTS.md|AGENTS.md
237
237
  ai_cursor: ~/.cursor|.cursor-rules|.cursor-rules
238
+ ai_trae: ~/.trae|user_rules.md|project_rules.md
238
239
  ai_openclaw: ~/.openclaw/workspace|AGENTS.md|AGENTS.md
239
240
 
240
241
  # User preferences
@@ -881,56 +882,6 @@ detect_project_type() {
881
882
  fi
882
883
  }
883
884
 
884
- # ─── Helper: detect AI tools from existing convention files ──────────────────
885
- detect_tools() {
886
- local dir="$1"
887
- local tools=""
888
- [[ -f "$dir/.claude/CLAUDE.md" ]] && tools+="claude,"
889
- [[ -f "$dir/GEMINI.md" ]] && tools+="gemini,"
890
- [[ -f "$dir/.cursor-rules" ]] && tools+="cursor,"
891
- echo "${tools%,}"
892
- }
893
-
894
- # ─── Helper: refresh a single project ────────────────────────────────────────
895
- refresh_project() {
896
- local project_dir="$1"
897
- local project_name
898
- project_name="$(basename "$project_dir")"
899
-
900
- local ptype
901
- ptype="$(detect_project_type "$project_dir")"
902
-
903
- if [[ "$ptype" == "unknown" ]]; then
904
- warn " ${BOLD}$project_name${NC}: cannot detect project type — skipping 无法检测项目类型 — 已跳过"
905
- return 1
906
- fi
907
-
908
- local tools
909
- tools="$(detect_tools "$project_dir")"
910
-
911
- local tpl_dir="$ROLL_TEMPLATES/$ptype"
912
- if [[ ! -d "$tpl_dir" ]]; then
913
- warn " ${BOLD}$project_name${NC}: template '$ptype' not found — skipping 模板 '$ptype' 未找到 — 已跳过"
914
- return 1
915
- fi
916
-
917
- info " ${BOLD}$project_name${NC} ($ptype | ${tools:-AGENTS.md only}) 正在处理: ${BOLD}$project_name${NC}"
918
-
919
- merge_convention "AGENTS.md" "$tpl_dir" "$project_dir" " AGENTS.md"
920
-
921
- if echo "$tools" | grep -q "claude"; then
922
- mkdir -p "$project_dir/.claude"
923
- merge_convention "CLAUDE.md" "$tpl_dir" "$project_dir/.claude" " .claude/CLAUDE.md"
924
- fi
925
- if echo "$tools" | grep -q "gemini"; then
926
- merge_convention "GEMINI.md" "$tpl_dir" "$project_dir" " GEMINI.md"
927
- fi
928
- if echo "$tools" | grep -q "cursor"; then
929
- merge_convention ".cursor-rules" "$tpl_dir" "$project_dir" " .cursor-rules"
930
- fi
931
-
932
- return 0
933
- }
934
885
 
935
886
  # ═══════════════════════════════════════════════════════════════════════════════
936
887
  # COMMAND: hooks <subcommand>
@@ -1043,7 +994,7 @@ cmd_status() {
1043
994
 
1044
995
  echo ""
1045
996
  echo -e "${BOLD}Global conventions: 全局约定${NC}"
1046
- for f in AGENTS.md CLAUDE.md GEMINI.md .cursor-rules; do
997
+ for f in AGENTS.md CLAUDE.md GEMINI.md .cursor-rules project_rules.md; do
1047
998
  if [[ -f "$ROLL_GLOBAL/$f" ]]; then
1048
999
  echo -e " ${GREEN}+${NC} $f"
1049
1000
  else
@@ -0,0 +1,28 @@
1
+ # Global Preferences — Trae IDE
2
+
3
+ > Extends AGENTS.md in this directory — read that first for shared conventions.
4
+ > This file adds Trae IDE-specific configuration only.
5
+
6
+ ## Identity
7
+
8
+ - Git: `Sean Yao <sean.dlut@gmail.com>`
9
+ - Default branch: `main`
10
+
11
+ ## Commit Message Format
12
+
13
+ - Format: `<type>: <description>` (遵循 Git Hook 自动生成的前缀)
14
+ - TCR micro-commits: `tcr: <description>` (No prefix)
15
+ - Types: Story N, Fix, Refactor, Docs, Chore
16
+
17
+ ## Trae-Specific
18
+
19
+ - When a project has Roll workflow, follow the AGENTS.md conventions and use Roll skills.
20
+ - Use Solo mode for complex multi-step tasks.
21
+ - Prefer targeted edits over full file rewrites.
22
+ - For file operations, verify the file exists before modifying.
23
+
24
+ ## Frontend Default Stack
25
+
26
+ - React + shadcn/ui + Tailwind CSS is the default.
27
+ - Use shadcn/ui components first. Custom only when shadcn doesn't cover it.
28
+ - Tailwind utility classes only. No inline styles, no CSS modules.
@@ -0,0 +1,16 @@
1
+ # Project Preferences — Backend Service (Trae IDE)
2
+
3
+ > Extends global project_rules.md + project AGENTS.md.
4
+
5
+ ## Stack
6
+
7
+ - Node.js / TypeScript / Express or Hono or Fastify
8
+ - Database: Prisma or Drizzle ORM
9
+ - Testing: Vitest + Supertest
10
+
11
+ ## Trae Notes
12
+
13
+ - No frontend in this project. API-only service.
14
+ - Write integration tests that hit real endpoints, not mocked handlers.
15
+ - Run `npm run build && npm run test` before pushing.
16
+ - Follow the project AGENTS.md for architecture constraints and Roll workflow.
@@ -0,0 +1,16 @@
1
+ # Project Preferences — CLI Tool (Trae IDE)
2
+
3
+ > Extends global project_rules.md + project AGENTS.md.
4
+
5
+ ## Stack
6
+
7
+ - Node.js / TypeScript
8
+ - CLI framework: commander or citty
9
+ - Testing: Vitest
10
+
11
+ ## Trae Notes
12
+
13
+ - No server, no frontend. CLI tool only.
14
+ - Test commands by running them, not just unit tests.
15
+ - Run `npm run build && node dist/index.js --help` before pushing.
16
+ - Follow the project AGENTS.md for architecture constraints and Roll workflow.
@@ -0,0 +1,14 @@
1
+ # Project Preferences — Frontend Only (Trae IDE)
2
+
3
+ > Extends global project_rules.md + project AGENTS.md.
4
+
5
+ ## Stack
6
+
7
+ - React + shadcn/ui + Tailwind CSS + Vite
8
+ - Testing: Vitest + Playwright
9
+
10
+ ## Trae Notes
11
+
12
+ - No backend in this project. All data via external API consumption.
13
+ - Run `npm run build` to verify production bundle compiles before pushing.
14
+ - Follow the project AGENTS.md for architecture constraints and Roll workflow.
@@ -0,0 +1,15 @@
1
+ # Project Preferences — Fullstack Web (Trae IDE)
2
+
3
+ > Extends global project_rules.md + project AGENTS.md.
4
+
5
+ ## Stack
6
+
7
+ - Frontend: React + shadcn/ui + Tailwind CSS + Vite
8
+ - Backend: Node.js API (Express/Hono/Fastify)
9
+ - Testing: Vitest (unit) + Playwright (E2E)
10
+
11
+ ## Trae Notes
12
+
13
+ - When modifying API contracts, update both `api/types.ts` and `src/shared/types/` in the same commit.
14
+ - Run `npm run build` to verify both frontend and backend compile before pushing.
15
+ - Follow the project AGENTS.md for architecture constraints and Roll workflow.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanyao/roll",
3
- "version": "2026.421.5",
3
+ "version": "2026.424.1",
4
4
  "description": "Roll — Roll out features with AI agents",
5
5
  "scripts": {
6
6
  "test": "find tests/unit tests/integration -name '*.bats' | sort | xargs ./tests/helpers/bats-core/bin/bats"
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  hidden: true
3
3
  name: roll-.changelog
4
+ license: MIT
4
5
  description: After build completion, extracts completed Stories from BACKLOG.md to generate CHANGELOG.md. Auto-triggered after successful deploy, keeping the external changelog in sync with the internal backlog.
5
6
  ---
6
7
 
@@ -10,9 +11,15 @@ After successful Build & Deploy, extracts completed Stories from BACKLOG.md to g
10
11
 
11
12
  ## When Triggered
12
13
 
13
- - **Auto-triggered**: After successful deploy of `$roll-story` or `$roll-fix`
14
+ - **Auto-triggered**: After successful deploy of `$roll-build` or `$roll-fix`
14
15
  - **Manual trigger**: When user requests "update changelog" or "generate release notes"
15
16
 
17
+ ## When Not to Use
18
+
19
+ - Generating commit messages or PR descriptions — this skill only runs post-deploy
20
+ - Recording dev diary / moments (use `$roll-notes`)
21
+ - Bumping package version (use `$roll-release`)
22
+
16
23
  ## Workflow
17
24
 
18
25
  ### 1. Read BACKLOG.md
@@ -71,7 +78,7 @@ git push
71
78
 
72
79
  ## Integration
73
80
 
74
- After successful deploy in `$roll-story` / `$roll-fix` / `$roll-fly`:
81
+ After successful deploy in `$roll-build` / `$roll-fix`:
75
82
 
76
83
  ```markdown
77
84
  **Post-Deploy:**
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  hidden: true
3
3
  name: roll-.clarify
4
+ license: MIT
4
5
  description: |
5
6
  Passive scope-clarification skill. Auto-triggers when roll-build receives vague or under-specified input in Fly mode. Summarizes intent and asks 3–5 targeted questions to establish boundaries before planning or coding.
6
7
  This is a passive skill. Never announce "I'm using roll-.clarify." Just do it naturally: summarize, ask, wait.
@@ -18,11 +19,13 @@ Auto-invoked by `roll-build` (Fly mode) when the user input is:
18
19
  - Contains ambiguous terms like "优化一下", "改一下", "加个东西"
19
20
  - Could be interpreted in multiple ways
20
21
 
21
- **Do NOT activate when:**
22
+ ## When Not to Use
23
+
22
24
  - Intent is already clear and actionable
23
25
  - User gives a specific command with a skill trigger (e.g. `$roll-jot ...`)
24
26
  - User is answering a clarification question you just asked
25
27
  - The task is simple enough that misinterpretation risk is negligible
28
+ - User messy thoughts need restatement rather than questioning (use `$roll-.echo`)
26
29
 
27
30
  ## Behavior
28
31
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  hidden: true
3
3
  name: roll-.echo
4
+ license: MIT
4
5
  description: |
5
6
  Passive intent clarification skill. Automatically activates when user input is vague, rambling, contradictory, or unclear. Restates the user's intent in structured, concise form and confirms before proceeding. Does NOT activate when intent is already clear — in that case, just execute directly.
6
7
  This is a passive skill. Never announce "I'm using roll-.echo." Just do it naturally: restate, confirm, proceed.
@@ -22,11 +23,13 @@ This skill fires **automatically** when the AI detects unclear intent. It should
22
23
  - Vague scope: "make it better", "fix this area", "do something about"
23
24
  - The intent could reasonably be interpreted in 2+ very different ways
24
25
 
25
- **Do NOT activate when**:
26
+ ## When Not to Use
27
+
26
28
  - Intent is already clear and actionable ("add a login button to the header")
27
- - User gives a specific command with a skill trigger ("$roll-story US-001")
29
+ - User gives a specific command with a skill trigger ("$roll-build US-001")
28
30
  - User is answering a question you asked (they're clarifying, not initiating)
29
31
  - The task is simple enough that misinterpretation risk is negligible
32
+ - User needs targeted Q&A to fill specific gaps (use `$roll-.clarify`)
30
33
 
31
34
  **When in doubt**: If you're 80%+ confident you understand correctly, just execute. Echo is for the 50/50 situations where getting it wrong would waste real effort.
32
35
 
@@ -1,17 +1,24 @@
1
1
  ---
2
2
  hidden: true
3
- name: roll-.qa-cover
3
+ name: roll-.qa
4
+ license: MIT
4
5
  description: QA coverage reference for build skills. Defines test pyramid (unit/E2E/visual/smoke), coverage requirements, and CI gates. Ensures quality assurance across all testing layers.
5
6
  ---
6
7
 
7
8
  # QA Cover
8
9
 
9
- This is a **reference skill** used by `roll-story`, `roll-fix`, and `roll-fly` for quality assurance and test coverage.
10
+ This is a **reference skill** used by `roll-build` and `roll-fix` for quality assurance and test coverage.
10
11
 
11
12
  ## When to Apply
12
13
 
13
14
  Any product with a user interface (Web, Desktop, Mobile) must follow these testing standards.
14
15
 
16
+ ## When Not to Use
17
+
18
+ - Non-UI backends (APIs, CLI tools, data pipelines) — use project-specific test frameworks
19
+ - Spike code or throwaway prototypes that won't ship
20
+ - Per-commit self-review of diffs (use `$roll-.review`)
21
+
15
22
  ## Required Testing Levels
16
23
 
17
24
  ### 1. Unit Tests (Logic)
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  hidden: true
3
- name: roll-.code-review
3
+ name: roll-.review
4
+ license: MIT
4
5
  description: Self code review step in the TCR workflow. Runs after each micro-step is completed and before commit, checking code quality, security, and design issues.
5
6
  ---
6
7
 
@@ -21,9 +22,15 @@ TCR Loop:
21
22
 
22
23
  ## When Triggered
23
24
 
24
- - **Auto-triggered**: After each TCR micro-step in `$roll-story` / `$roll-fix` / `$roll-fly`
25
+ - **Auto-triggered**: After each TCR micro-step in `$roll-build` / `$roll-fix`
25
26
  - **Manual trigger**: When the user wants to review current changes
26
27
 
28
+ ## When Not to Use
29
+
30
+ - Docs-only changes (README, CHANGELOG) with no code diff
31
+ - Test pyramid / coverage standards check (use `$roll-.qa`)
32
+ - Post-deploy production sampling (use `$roll-sentinel`)
33
+
27
34
  ## Review Scope
28
35
 
29
36
  ```bash
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-build
3
+ license: MIT
3
4
  description: "Universal delivery skill. Handles any input: a US-XXX ID executes from BACKLOG via TCR; a FIX-XXX redirects to roll-fix; any other text auto-clarifies, designs, and ships as a new Story."
4
5
  ---
5
6
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-debug
3
+ license: MIT
3
4
  description: Universal web debugger. Collects diagnostics (console/network/DOM) via Playwright, analyzes root causes, and suggests fixes. Works with or without Black Box (BB) integration.
4
5
  ---
5
6
 
@@ -21,6 +22,12 @@ Two collection modes:
21
22
  - "Analyze BB data", "look at the diagnostic file"
22
23
  - Any scenario requiring web page diagnosis
23
24
 
25
+ ## When Not to Use
26
+
27
+ - Non-web environments (CLI tools, backend-only services) — outside this skill's scope
28
+ - Scheduled production sampling / acceptance checks (use `$roll-sentinel`)
29
+ - Pure source-reading without runtime reproduction
30
+
24
31
  ## Quick Start
25
32
 
26
33
  ```bash
@@ -424,5 +431,5 @@ After `$roll-debug` finds issues:
424
431
 
425
432
  # For a complex multi-step fix
426
433
  # → Create US-XXX in backlog
427
- # → $roll-story US-XXX
434
+ # → $roll-build US-XXX
428
435
  ```
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-design
3
+ license: MIT
3
4
  description: Unified entry for discussion, design and planning. Explores options when uncertain, designs solutions, splits into INVEST-compliant user stories, and writes to BACKLOG.md. Use when user wants to discuss approaches, design solutions, plan features, or create stories.
4
5
  ---
5
6
 
@@ -24,6 +25,12 @@ Discuss approaches, design architecture, plan requirements, and write to `BACKLO
24
25
  - Splitting into Stories
25
26
  - Creating US / FIX entries
26
27
 
28
+ ## When Not to Use
29
+
30
+ - One-liner capture of ideas or bugs (use `$roll-jot`)
31
+ - Executing an already-split US-XXX (use `$roll-build`)
32
+ - Fixing a well-defined FIX-XXX (use `$roll-fix`)
33
+
27
34
  ## Quick Start
28
35
 
29
36
  ```bash
@@ -124,7 +131,7 @@ User: "Help me design the user system" / "What approach should we use for search
124
131
 
125
132
  "Confirm and execute?"
126
133
 
127
- ├── Yes ──→ $roll-story US-XXX
134
+ ├── Yes ──→ $roll-build US-XXX
128
135
 
129
136
  └── No ──→ Wait for user confirmation
130
137
  ```
@@ -221,16 +228,16 @@ FEATURE_FILE="docs/features/${FEATURE}.md"
221
228
 
222
229
  ## Integration
223
230
 
224
- ### With story-build
231
+ ### With roll-build
225
232
 
226
233
  ```
227
234
  $roll-design "login feature" → Create US-AUTH-001
228
235
  User: "Execute US-AUTH-001"
229
236
 
230
- $roll-story US-AUTH-001 → TCR → CI/CD → Deploy
237
+ $roll-build US-AUTH-001 → TCR → CI/CD → Deploy
231
238
  ```
232
239
 
233
- ### With fix-build
240
+ ### With roll-fix
234
241
 
235
242
  ```
236
243
  $roll-debug discovers issue → Suggest creating FIX
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: roll-fix
3
- description: Execute bugfix/hotfix from backlog. Reads FIX/BUG from BACKLOG.md, delivers via TCR workflow. Lighter than story-build, focused on single-issue fixes.
3
+ license: MIT
4
+ description: Execute bugfix/hotfix from backlog. Reads FIX/BUG from BACKLOG.md, delivers via TCR workflow. Lighter than roll-build, focused on single-issue fixes.
4
5
  ---
5
6
 
6
7
  # Fix Ship (TCR Edition)
@@ -30,7 +31,7 @@ Do not use for:
30
31
  - Requirements that need planning and splitting first
31
32
  - Roadmap work that should be tracked as Stories
32
33
 
33
- If the issue expands beyond a single bounded change, switch to `roll-story`.
34
+ If the issue expands beyond a single bounded change, switch to `roll-build`.
34
35
 
35
36
  ## Project Context Rule
36
37
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-jot
3
+ license: MIT
3
4
  description: "Fast backlog capture. Analyzes a short description, classifies it as bug or idea, and appends it to BACKLOG.md with an auto-incremented ID."
4
5
  ---
5
6
 
@@ -17,6 +18,12 @@ $roll-jot 手机端星星指标一行一个从上往下排
17
18
  $roll-jot 给 HOD 加一个批量导出 PDF 的功能
18
19
  ```
19
20
 
21
+ ## When Not to Use
22
+
23
+ - Requirement needs discussion or splitting into Stories (use `$roll-design`)
24
+ - A US-XXX / FIX-XXX is ready to execute (use `$roll-build` / `$roll-fix`)
25
+ - Recording a development moment or feeling (use `$roll-notes`)
26
+
20
27
  ## Behavior
21
28
 
22
29
  1. **Read** `BACKLOG.md` from the project root.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-notes
3
+ license: MIT
3
4
  description: "Project diary skill. Records development moments — successes, failures, discoveries — appended chronologically to a daily notes file."
4
5
  ---
5
6
 
@@ -19,6 +20,12 @@ $roll-notes 终于搞定了那个 WebSocket 断线重连的 bug
19
20
  $roll-notes 今天的 code review 给了很好的反馈
20
21
  ```
21
22
 
23
+ ## When Not to Use
24
+
25
+ - Capturing a bug or feature idea into BACKLOG (use `$roll-jot`)
26
+ - Generating user-facing release notes (use `$roll-.changelog`)
27
+ - Writing design documents or AC (use `$roll-design`)
28
+
22
29
  ## Behavior
23
30
 
24
31
  1. **Determine file path**: `notes/YYYY-MM-DD.md` relative to project root
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-release
3
+ license: MIT
3
4
  description: "Release skill for roll maintainers. Calculates next version (YYYY.MMDD.N format, auto-increments N from today's git tags), updates VERSION in bin/roll and package.json, commits, tags, and pushes to trigger npm auto-publish via GitHub Actions. Trigger: release, publish, 发版, 发布新版本."
4
5
  ---
5
6
 
@@ -7,6 +8,13 @@ description: "Release skill for roll maintainers. Calculates next version (YYYY.
7
8
 
8
9
  One-command publish flow for roll maintainers.
9
10
 
11
+ ## When Not to Use
12
+
13
+ - Non-maintainer users (this skill publishes `@seanyao/roll` to npm under seanyao)
14
+ - Internal project releases — only for the `roll` CLI package itself
15
+ - Hotfixing code without a version bump (use `$roll-fix`)
16
+ - Generating user-facing release notes (use `$roll-.changelog`)
17
+
10
18
  ## Version Format
11
19
 
12
20
  `YYYY.MMDD.N` — e.g. `2026.419.1`
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-research
3
+ license: MIT
3
4
  description: |
4
5
  HV (Horizontal-Vertical) Analysis deep research skill for products, companies, concepts, technologies, or people. Dual-axis: vertical traces full lifecycle narrative from origin to present; horizontal compares against competitors at current time; cross-axis produces new insights. Output: professionally formatted PDF report.
5
6
  Trigger: "deep research", "research this", "competitive analysis", "help me understand", "what's the deal with", "deep dive", "HV analysis", or any request implying systematic research (not a simple lookup).
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-sentinel
3
+ license: MIT
3
4
  description: Smart patrol inspector for production systems. Scheduled randomized sampling checks based on BACKLOG requirements. Cost-controlled AI validation with intelligent spot-checking logic.
4
5
  ---
5
6
 
@@ -7,6 +8,13 @@ description: Smart patrol inspector for production systems. Scheduled randomized
7
8
 
8
9
  **Smart Patrol Inspector** - Scheduled, randomized, cost-controlled patrol and acceptance checks for production systems.
9
10
 
11
+ ## When Not to Use
12
+
13
+ - One-off debugging of a reported bug (use `$roll-debug`)
14
+ - Full-coverage regression testing (sentinel samples, does not cover)
15
+ - Dev/staging environment checks (use CI tests instead)
16
+ - Pre-commit self-review of diffs (use `$roll-.review`)
17
+
10
18
  ## Core Principle
11
19
 
12
20
  ```
@@ -341,7 +349,7 @@ async function batchCheck(stories) {
341
349
  │ $roll-debug On-demand deep diagnosis (aux) │
342
350
  │ (When Sentinel finds an issue, manually trigger deep dive) │
343
351
  │ │
344
- │ $roll-story Post-fix regression verify │
352
+ │ $roll-build Post-fix regression verify │
345
353
  │ │
346
354
  └─────────────────────────────────────────────────────────────┘
347
355
  ```
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: roll-spar
3
+ license: MIT
3
4
  description: Adversarial TDD mode with Attacker/Defender agents. Attacker writes tests to break the system, Defender writes minimal code to pass. Use for high-risk logic like auth, payments, data integrity, or complex state machines.
4
5
  ---
5
6
 
@@ -109,7 +110,7 @@ User: "$roll-spar implement transfer logic" or agent auto-triggers
109
110
  │ - Defender summarizes defense │
110
111
  │ strategy │
111
112
  │ - Merged report │
112
- │ - Continue normal story-build
113
+ │ - Continue normal roll-build
113
114
  │ flow │
114
115
  │ (push → CI → deploy → verify) │
115
116
  └─────────────────────────────────────┘
@@ -205,12 +206,12 @@ Report to the user after each round:
205
206
  4. **Attack intent must be explained** — cannot just write tests without explaining "why this scenario matters"
206
207
  5. **Maximum round limit** — default 5 rounds, prevents infinite loops
207
208
 
208
- ## Integration with story-build
209
+ ## Integration with roll-build
209
210
 
210
- Spar replaces steps 4-5 in story-build (Test Design + TCR Implementation):
211
+ Spar replaces steps 4-5 in roll-build (Test Design + TCR Implementation):
211
212
 
212
213
  ```
213
- story-build normal flow:
214
+ roll-build normal flow:
214
215
  1. Clarify Story
215
216
  2. Split Actions
216
217
  3. Define verification
@@ -223,7 +224,7 @@ story-build normal flow:
223
224
  ...
224
225
  ```
225
226
 
226
- **Auto-switching from story-build to Spar:**
227
+ **Auto-switching from roll-build to Spar:**
227
228
 
228
229
  When the agent assesses an Action as high-risk at step 3:
229
230
  ```
@@ -232,7 +233,7 @@ When the agent assesses an Action as high-risk at step 3:
232
233
  Recommend enabling Spar mode — confirm? [Y/n]
233
234
  ```
234
235
 
235
- After user confirms, enter Spar. Once complete, return to story-build step 6 to continue.
236
+ After user confirms, enter Spar. Once complete, return to roll-build step 6 to continue.
236
237
 
237
238
  ## Example
238
239