vbounce-engine 2.5.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.
Files changed (165) hide show
  1. package/README.md +142 -0
  2. package/VBOUNCE_MANIFEST.md +404 -0
  3. package/bin/vbounce.mjs +882 -0
  4. package/brains/AGENTS.md +71 -0
  5. package/brains/CHANGELOG.md +398 -0
  6. package/brains/CLAUDE.md +90 -0
  7. package/brains/GEMINI.md +102 -0
  8. package/brains/SETUP.md +195 -0
  9. package/brains/claude-agents/architect.md +226 -0
  10. package/brains/claude-agents/developer.md +133 -0
  11. package/brains/claude-agents/devops.md +267 -0
  12. package/brains/claude-agents/explorer.md +157 -0
  13. package/brains/claude-agents/qa.md +225 -0
  14. package/brains/claude-agents/scribe.md +171 -0
  15. package/brains/copilot/copilot-instructions.md +54 -0
  16. package/brains/cursor-rules/vbounce-docs.mdc +45 -0
  17. package/brains/cursor-rules/vbounce-process.mdc +51 -0
  18. package/brains/cursor-rules/vbounce-rules.mdc +29 -0
  19. package/brains/windsurf/.windsurfrules +35 -0
  20. package/docs/HOTFIX_EDGE_CASES.md +37 -0
  21. package/docs/IMPROVEMENT.md +46 -0
  22. package/docs/agent-skill-profiles.docx +0 -0
  23. package/docs/icons/alert.svg +1 -0
  24. package/docs/icons/beaker.svg +1 -0
  25. package/docs/icons/book.svg +1 -0
  26. package/docs/icons/git-branch.svg +1 -0
  27. package/docs/icons/git-merge.svg +1 -0
  28. package/docs/icons/graph.svg +1 -0
  29. package/docs/icons/light-bulb.svg +1 -0
  30. package/docs/icons/logo.svg +9 -0
  31. package/docs/icons/pencil.svg +1 -0
  32. package/docs/icons/rocket.svg +1 -0
  33. package/docs/icons/shield.svg +1 -0
  34. package/docs/icons/sync.svg +1 -0
  35. package/docs/icons/terminal.svg +1 -0
  36. package/docs/icons/tools.svg +1 -0
  37. package/docs/icons/zap.svg +1 -0
  38. package/docs/images/bounce_loop_diagram.png +0 -0
  39. package/docs/vbounce-os-manual.docx +0 -0
  40. package/package.json +48 -0
  41. package/scripts/close_sprint.mjs +134 -0
  42. package/scripts/complete_story.mjs +121 -0
  43. package/scripts/count_tokens.mjs +494 -0
  44. package/scripts/doctor.mjs +144 -0
  45. package/scripts/hotfix_manager.sh +157 -0
  46. package/scripts/init_gate_config.sh +151 -0
  47. package/scripts/init_sprint.mjs +129 -0
  48. package/scripts/post_sprint_improve.mjs +486 -0
  49. package/scripts/pre_gate_common.sh +576 -0
  50. package/scripts/pre_gate_runner.sh +176 -0
  51. package/scripts/prep_arch_context.mjs +178 -0
  52. package/scripts/prep_qa_context.mjs +152 -0
  53. package/scripts/prep_sprint_context.mjs +141 -0
  54. package/scripts/prep_sprint_summary.mjs +154 -0
  55. package/scripts/product_graph.mjs +387 -0
  56. package/scripts/product_impact.mjs +167 -0
  57. package/scripts/sprint_trends.mjs +160 -0
  58. package/scripts/suggest_improvements.mjs +363 -0
  59. package/scripts/update_state.mjs +132 -0
  60. package/scripts/validate_bounce_readiness.mjs +152 -0
  61. package/scripts/validate_report.mjs +165 -0
  62. package/scripts/validate_sprint_plan.mjs +117 -0
  63. package/scripts/validate_state.mjs +99 -0
  64. package/scripts/vdoc_match.mjs +269 -0
  65. package/scripts/vdoc_staleness.mjs +199 -0
  66. package/scripts/verify_framework.mjs +122 -0
  67. package/scripts/verify_framework.sh +13 -0
  68. package/skills/agent-team/SKILL.md +579 -0
  69. package/skills/agent-team/references/cleanup.md +42 -0
  70. package/skills/agent-team/references/delivery-sync.md +43 -0
  71. package/skills/agent-team/references/discovery.md +97 -0
  72. package/skills/agent-team/references/git-strategy.md +52 -0
  73. package/skills/agent-team/references/mid-sprint-triage.md +85 -0
  74. package/skills/agent-team/references/report-naming.md +34 -0
  75. package/skills/doc-manager/SKILL.md +444 -0
  76. package/skills/file-organization/SKILL.md +146 -0
  77. package/skills/file-organization/TEST-RESULTS.md +193 -0
  78. package/skills/file-organization/evals/evals.json +41 -0
  79. package/skills/file-organization/references/gitignore-template.md +53 -0
  80. package/skills/file-organization/references/quick-checklist.md +48 -0
  81. package/skills/improve/SKILL.md +296 -0
  82. package/skills/lesson/SKILL.md +136 -0
  83. package/skills/product-graph/SKILL.md +102 -0
  84. package/skills/react-best-practices/SKILL.md +3014 -0
  85. package/skills/react-best-practices/rules/_sections.md +46 -0
  86. package/skills/react-best-practices/rules/_template.md +28 -0
  87. package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  88. package/skills/react-best-practices/rules/advanced-init-once.md +42 -0
  89. package/skills/react-best-practices/rules/advanced-use-latest.md +39 -0
  90. package/skills/react-best-practices/rules/async-api-routes.md +38 -0
  91. package/skills/react-best-practices/rules/async-defer-await.md +80 -0
  92. package/skills/react-best-practices/rules/async-dependencies.md +51 -0
  93. package/skills/react-best-practices/rules/async-parallel.md +28 -0
  94. package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  95. package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  96. package/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  97. package/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  98. package/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  99. package/skills/react-best-practices/rules/bundle-preload.md +50 -0
  100. package/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  101. package/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  102. package/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  103. package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  104. package/skills/react-best-practices/rules/js-batch-dom-css.md +107 -0
  105. package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  106. package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  107. package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  108. package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  109. package/skills/react-best-practices/rules/js-early-exit.md +50 -0
  110. package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  111. package/skills/react-best-practices/rules/js-index-maps.md +37 -0
  112. package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  113. package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  114. package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  115. package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  116. package/skills/react-best-practices/rules/rendering-activity.md +26 -0
  117. package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  118. package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  119. package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  120. package/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  121. package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  122. package/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  123. package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  124. package/skills/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  125. package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  126. package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  127. package/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  128. package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  129. package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  130. package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  131. package/skills/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  132. package/skills/react-best-practices/rules/rerender-memo.md +44 -0
  133. package/skills/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  134. package/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  135. package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  136. package/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  137. package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  138. package/skills/react-best-practices/rules/server-auth-actions.md +96 -0
  139. package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  140. package/skills/react-best-practices/rules/server-cache-react.md +76 -0
  141. package/skills/react-best-practices/rules/server-dedup-props.md +65 -0
  142. package/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  143. package/skills/react-best-practices/rules/server-serialization.md +38 -0
  144. package/skills/vibe-code-review/SKILL.md +70 -0
  145. package/skills/vibe-code-review/references/deep-audit.md +259 -0
  146. package/skills/vibe-code-review/references/pr-review.md +234 -0
  147. package/skills/vibe-code-review/references/quick-scan.md +178 -0
  148. package/skills/vibe-code-review/references/report-template.md +189 -0
  149. package/skills/vibe-code-review/references/trend-check.md +224 -0
  150. package/skills/vibe-code-review/scripts/generate-snapshot.sh +89 -0
  151. package/skills/vibe-code-review/scripts/pr-analyze.sh +180 -0
  152. package/skills/write-skill/SKILL.md +133 -0
  153. package/templates/bug.md +100 -0
  154. package/templates/change_request.md +105 -0
  155. package/templates/charter.md +144 -0
  156. package/templates/delivery_plan.md +44 -0
  157. package/templates/epic.md +203 -0
  158. package/templates/hotfix.md +58 -0
  159. package/templates/risk_registry.md +87 -0
  160. package/templates/roadmap.md +174 -0
  161. package/templates/spike.md +143 -0
  162. package/templates/sprint.md +134 -0
  163. package/templates/sprint_context.md +61 -0
  164. package/templates/sprint_report.md +215 -0
  165. package/templates/story.md +193 -0
package/README.md ADDED
@@ -0,0 +1,142 @@
1
+ <div align="center">
2
+ <img src="docs/icons/logo.svg" width="100" height="100" alt="V-Bounce Engine Logo" />
3
+ <h1>V-Bounce Engine</h1>
4
+ <p><strong>Stop babysitting your AI. Build a disciplined, self-correcting engineering team.</strong></p>
5
+
6
+ <p>
7
+ <a href="https://github.com/sandrinio/v-bounce-engine/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg"></a>
8
+ <a href="https://www.npmjs.com/package/vbounce"><img alt="NPM Version" src="https://img.shields.io/npm/v/vbounce"></a>
9
+ </p>
10
+
11
+ <p>
12
+ V-Bounce Engine turns your single AI assistant — <b>Claude Code, Cursor, Gemini, Copilot</b> — into a fully equipped engineering team. It enforces a planning-first workflow, automated quality gates, structural audits, and a persistent learning loop.
13
+ </p>
14
+ </div>
15
+
16
+ ---
17
+
18
+ ## <img src="docs/icons/zap.svg" width="24" height="24" style="vertical-align: text-bottom;" /> Quick Start
19
+
20
+ Get your new AI team up and running in seconds. No complex setup, no vector databases. Just plain Markdown and Node.
21
+
22
+ ```bash
23
+ # 1. Install the framework for your platform of choice
24
+ npx vbounce install claude # Claude Code (Full Orchestration)
25
+ # Or: npx vbounce install cursor|gemini|codex|vscode
26
+
27
+ # 2. Verify your installation
28
+ npx vbounce doctor
29
+
30
+ # 3. Initialize your first sprint!
31
+ npx vbounce sprint init S-01 D-01
32
+ ```
33
+
34
+ > **Requirements**: Node.js and a project directory. That's it. One person to set the vision, the AI handles the execution.
35
+
36
+ ---
37
+
38
+ ## <img src="docs/icons/alert.svg" width="24" height="24" style="vertical-align: text-bottom;" /> The Problem: AI Chaos
39
+
40
+ AI coding tools are incredibly fast, but without guardrails, they create **expensive chaos**:
41
+ - **No accountability:** Code ships with bugs a junior dev would catch.
42
+ - **Invisible progress:** "The agent is still running." No milestones, no checks.
43
+ - **Goldfish memory:** Every session is Day 1. It makes the same architectural mistake twice.
44
+ - **Infinite loops:** The agent gets stuck trying to fix its own broken code.
45
+
46
+ ---
47
+
48
+ ## <img src="docs/icons/shield.svg" width="24" height="24" style="vertical-align: text-bottom;" /> Why V-Bounce Engine?
49
+
50
+ V-Bounce wraps your AI agents in the same discipline that makes human engineering teams reliable:
51
+
52
+ | Guardrail | What It Solves |
53
+ |-------------|-------------------|
54
+ | **Isolated Worktrees** | **Contamination.** Every story is a sandbox. One bad story won't break your app. |
55
+ | **QA Quality Gates** | **Missed Requirements.** Code is validated against Acceptance Criteria *before* merge. |
56
+ | **Architect Audits** | **Drift.** Blocks the AI from hallucinating new dependencies or breaking patterns. |
57
+ | **3-Bounce Escalation** | **Infinite Loops.** After 3 failed attempts, the AI surfaces the root cause to you. |
58
+ | **Persistent Lessons** | **Goldfish Memory.** The AI logs mistakes in `LESSONS.md` and reads them next sprint. |
59
+
60
+ ---
61
+
62
+ ## <img src="docs/icons/rocket.svg" width="24" height="24" style="vertical-align: text-bottom;" /> The Planning Phase
63
+
64
+ V-Bounce doesn't just protect execution — it structures **planning** so your AI never starts coding from a vague prompt.
65
+
66
+ You and the AI collaborate through a strict document hierarchy. Each level inherits context from the one above, so nothing is lost or hallucinated.
67
+
68
+ ```
69
+ Charter → Roadmap → Epic → Story → Sprint Plan → Bounce
70
+ WHY WHAT WHAT HOW WHEN DO
71
+ ```
72
+
73
+ ### How It Works
74
+
75
+ 1. **You set the vision.** Write a Charter (the *why*) and Roadmap (the *what*). The AI reads these before touching anything else.
76
+ 2. **AI researches, then plans.** Before creating Stories, the AI explores your actual codebase — reading affected files, discovering patterns, and identifying real dependencies. No guessing.
77
+ 3. **Ambiguity is surfaced, not hidden.** Every Epic and Story gets an Ambiguity Score (🟢 Low / 🟡 Medium / 🔴 High). If critical unknowns exist, the AI creates **Spikes** — focused investigations that must complete before coding begins.
78
+ 4. **Sprint Planning is collaborative.** The AI proposes scope, surfaces risks, flags open questions, and identifies dependency chains. You discuss, adjust, and confirm. **No sprint starts without your explicit sign-off.**
79
+ 5. **Stories are sized for success.** Each story has one clear goal, touches 1–3 files, and produces a verifiable result. Vertical slices over horizontal layers — always.
80
+
81
+ ### The Sprint Planning Gate
82
+
83
+ | Step | What Happens |
84
+ |------|--------------|
85
+ | **Read** | AI scans backlog, archive, and risk registry to build full context |
86
+ | **Propose** | AI selects stories by priority and dependency, flags blockers |
87
+ | **Discuss** | You and the AI resolve open questions, adjust scope, agree on execution mode |
88
+ | **Confirm** | You approve the Sprint Plan → stories move into execution → Bounce begins |
89
+
90
+ > **Hard rule:** The Bounce Loop *cannot* start without a finalized, human-confirmed Sprint Plan.
91
+
92
+ ---
93
+
94
+ ## <img src="docs/icons/sync.svg" width="24" height="24" style="vertical-align: text-bottom;" /> The "Bounce" Loop
95
+
96
+ Instead of letting an AI hallucinate straight to production, V-Bounce coordinates specialized roles working in isolation.
97
+
98
+ <div align="center">
99
+ <img src="docs/images/bounce_loop_diagram.png" width="100%" max-width="800" alt="The Bounce Loop Visualization" />
100
+ </div>
101
+
102
+ 1. <img src="docs/icons/terminal.svg" width="16" height="16" style="vertical-align: text-bottom;" /> **Developer**: Implements features in isolated git worktrees.
103
+ 2. <img src="docs/icons/beaker.svg" width="16" height="16" style="vertical-align: text-bottom;" /> **QA**: Validates code strictly against acceptance criteria. (Read-only)
104
+ 3. <img src="docs/icons/git-branch.svg" width="16" height="16" style="vertical-align: text-bottom;" /> **Architect**: Audits code against ADRs (Architecture Decision Records). (Read-only)
105
+ 4. <img src="docs/icons/git-merge.svg" width="16" height="16" style="vertical-align: text-bottom;" /> **DevOps**: Merges passing code cleanly to the sprint branch.
106
+ 5. <img src="docs/icons/pencil.svg" width="16" height="16" style="vertical-align: text-bottom;" /> **Scribe**: Keeps product documentation in sync with actual code.
107
+
108
+ ---
109
+
110
+ ## <img src="docs/icons/graph.svg" width="24" height="24" style="vertical-align: text-bottom;" /> Measure What Matters (Metrics)
111
+
112
+ For the first time, manage your AI work like a true Product Manager. Run `vbounce trends` to track:
113
+ - **Bounce Rate (QA / Architect)**: How often does the AI fail to meet spec?
114
+ - **Correction Tax**: How much manual human intervention was required? (0% = AI shipped autonomously).
115
+ - **Escalation Rate**: How often did stories hit the 3-bounce limit?
116
+
117
+ ---
118
+
119
+ ## <img src="docs/icons/tools.svg" width="24" height="24" style="vertical-align: text-bottom;" /> Supported Platforms
120
+
121
+ V-Bounce adapts to your current workflow effortlessly.
122
+
123
+ - **Claude Code (Tier 1)**: Full orchestration. Spawns specific subagents for each role seamlessly.
124
+ - **Gemini CLI / Codex (Tier 2)**: Single-agent mode, following the strict sequential bounce loop.
125
+ - **Cursor (Tier 3)**: Deep integration via modular `.cursor/rules/` MDC mapping.
126
+ - **Copilot / Windsurf (Tier 4)**: Embedded awareness through checklists and state reading.
127
+
128
+ ---
129
+
130
+ ## <img src="docs/icons/book.svg" width="24" height="24" style="vertical-align: text-bottom;" /> Deep Dive & Docs
131
+
132
+ Ready to see how deep the rabbit hole goes?
133
+ - **[System Overview & Architecture](OVERVIEW.md)**
134
+ - **[Epic and Story Templates](.vbounce/templates/epic.md)**
135
+ - **[Self-Improvement Pipeline (`vbounce improve`)](docs/IMPROVEMENT.md)** *(Your AI optimizes its own framework)*
136
+
137
+ ---
138
+
139
+ <div align="center">
140
+ <b>Built for builders who want to ship, not babysit.</b><br>
141
+ <i>Contributions, issues, and feature requests are welcome!</i>
142
+ </div>
@@ -0,0 +1,404 @@
1
+ # V-Bounce Engine — Framework Manifest
2
+
3
+ > **Internal map for AI agents and framework maintainers.**
4
+ > Any modification to `.claude/agents/`, `.vbounce/skills/`, `.vbounce/templates/`, or `.vbounce/scripts/` MUST also update this file.
5
+ > Run `vbounce doctor` to validate file existence against this manifest.
6
+
7
+ **Version:** 2.5.1
8
+ **Last updated:** 2026-03-25
9
+
10
+ ---
11
+
12
+ ## 1. Process Flow
13
+
14
+ ```
15
+ Phase 1: PLANNING (AI + Human, no subagents)
16
+ ├─ User talks about work → AI loads doc-manager + product-graph
17
+ ├─ Create/modify: Charter → Roadmap → Epic → Story → Delivery Plan → Risk Registry
18
+ ├─ Codebase research mandatory for Epic §4 and Story decomposition
19
+ ├─ AI surfaces ambiguity, risks, open questions collaboratively
20
+ └─ Triage: L1 Trivial → Hotfix Path | Everything else → Standard Path
21
+
22
+ Phase 2: SPRINT PLANNING (AI + Human, collaborative gate)
23
+ ├─ AI reads backlog + archive + Risk Registry
24
+ ├─ AI proposes sprint scope, surfaces blockers and edge cases
25
+ ├─ Human and AI discuss, adjust, resolve questions
26
+ ├─ Sprint Plan created (mandatory) with §0 Readiness Gate
27
+ └─ GATE: Human confirms → Sprint starts
28
+
29
+ Phase 3: THE BOUNCE (Subagent orchestration)
30
+ ├─ Step 0: Sprint Setup (branch, gate config, parallel readiness)
31
+ ├─ Step 0.5: Discovery Check (L4/🔴 stories)
32
+ ├─ Step 1: Story Init (worktree, task file)
33
+ ├─ Step 2: Developer Pass (TDD with E2E)
34
+ ├─ Step 3: QA Pass (pre-gate scan + validation)
35
+ ├─ Step 4: Architect Pass (pre-gate scan + audit)
36
+ ├─ Step 5: DevOps Merge
37
+ ├─ Step 5.5: Immediate Lesson Recording
38
+ ├─ Step 5.7: User Walkthrough (Post-Delivery Review)
39
+ ├─ Step 6: Sprint Integration Audit
40
+ ├─ Step 7: Sprint Consolidation
41
+ ├─ Escalation Recovery: 3+ bounces → present options → human decides
42
+ └─ Hotfix Path: L1 only → Dev → manual verify → merge
43
+
44
+ Phase 4: REVIEW
45
+ ├─ Sprint Report → Human review
46
+ ├─ Delivery Plan updated (boundary only)
47
+ ├─ Scribe generates/updates product docs
48
+ └─ Self-Improvement Pipeline (UNCONDITIONAL): trends → suggest → verbally present P0/P1 → human approves → improve
49
+ ```
50
+
51
+ ---
52
+
53
+ ## 2. File Registry
54
+
55
+ ### Root Files
56
+
57
+ | File | Purpose |
58
+ |------|---------|
59
+ | `README.md` | Public documentation — problem, guardrails, planning, sprint flow, CLI reference |
60
+ | `OVERVIEW.md` | System overview with diagrams — phases, agents, bounce loop, git branching |
61
+ | `CHANGELOG.md` | Version history (Keep a Changelog format) |
62
+ | `VBOUNCE_MANIFEST.md` | **This file** — complete framework map |
63
+ | `package.json` | NPM package definition (v2.4.x), CLI entry point, dependencies |
64
+ | `package-lock.json` | NPM dependency lock file |
65
+ | `vbounce.config.json` | Framework config — max diff lines, context budget, tool selection |
66
+ | `.gitignore` | Git ignore rules |
67
+
68
+ ---
69
+
70
+ ## 3. Brain Registry
71
+
72
+ Brains configure AI tools to follow the V-Bounce process. Each brain contains identity, phase routing table, critical rules, and skill pointers — adapted per tool.
73
+
74
+ ### Main Brain Files
75
+
76
+ | Installed Location | Tool | Tier | Subagents? |
77
+ |-------------------|------|------|-----------|
78
+ | `CLAUDE.md` (project root) | Claude Code | 1 | Yes — spawns 6 subagents |
79
+ | `AGENTS.md` (project root) | Codex CLI (OpenAI) | 2 | No — file-based handoffs |
80
+ | `GEMINI.md` (project root) | Gemini CLI / Antigravity | 2 | No — file-based handoffs |
81
+ | `.cursor/rules/vbounce-process.mdc` | Cursor | 3 | No — context injection |
82
+ | `.cursor/rules/vbounce-rules.mdc` | Cursor | 3 | No — context injection |
83
+ | `.cursor/rules/vbounce-docs.mdc` | Cursor | 3 | No — context injection |
84
+ | `.github/copilot-instructions.md` | GitHub Copilot | 4 | No — awareness mode |
85
+ | `.windsurfrules` | Windsurf | 4 | No — awareness mode |
86
+
87
+ ### Support Files
88
+
89
+ | File | Purpose |
90
+ |------|---------|
91
+ | `.vbounce/CHANGELOG.md` | Framework modification log |
92
+
93
+ ### Subagent Configs (Claude Code only)
94
+
95
+ | Installed Location | Agent | Tools | Reads | Writes |
96
+ |-------------------|-------|-------|-------|--------|
97
+ | `.claude/agents/explorer.md` | Explorer | Read, Glob, Grep, Bash | Product plans, state.json, codebase structure | Context Pack (read-only research) |
98
+ | `.claude/agents/developer.md` | Developer | Read, Edit, Write, Bash, Glob, Grep | Story §1+§3, LESSONS.md, ADRs, react-best-practices | Implementation Report, Checkpoint |
99
+ | `.claude/agents/qa.md` | QA | Read, Bash, Glob, Grep | Story §2, Dev Report, LESSONS.md, pre-gate scan | QA Validation Report |
100
+ | `.claude/agents/architect.md` | Architect | Read, Glob, Grep, Bash | Full Story, all reports, Roadmap §3 ADRs, Risk Registry | Architectural Audit Report |
101
+ | `.claude/agents/devops.md` | DevOps | Read, Edit, Write, Bash, Glob, Grep | Gate reports, Delivery Plan, LESSONS.md | DevOps Merge/Release Report |
102
+ | `.claude/agents/scribe.md` | Scribe | Read, Write, Bash, Glob, Grep | Sprint Report, Dev Reports, codebase, _manifest.json | Product docs, Scribe Report |
103
+
104
+ ---
105
+
106
+ ## 4. Template Registry
107
+
108
+ Templates are **immutable during execution**. Located in `.vbounce/templates/`.
109
+
110
+ | Template | Level | Output Path | Key Sections |
111
+ |----------|-------|-------------|-------------|
112
+ | `charter.md` | 1 | `product_plans/strategy/{project}_charter.md` | §1 Identity, §2 Design Principles, §3 Architecture, §4 Tech Stack, §5 Key Workflows, §6 Constraints |
113
+ | `roadmap.md` | 2 | `product_plans/strategy/{project}_roadmap.md` | §1 Strategic Context, §2 Release Plan, §3 ADRs, §4 Dependencies, §5 Strategic Constraints |
114
+ | `epic.md` | 3 | `product_plans/backlog/EPIC-{NNN}_{name}/EPIC-{NNN}_{name}.md` | §1 Problem & Value, §2 Scope Boundaries, §3 Context, §4 Technical Context (codebase research required), §5 Decomposition Guidance, §6 Risks, §7 Acceptance Criteria, §8 Open Questions, §9 Artifact Links |
115
+ | `story.md` | 4 | `product_plans/backlog/EPIC-{NNN}_{name}/STORY-{EpicID}-{StoryID}-{Name}.md` | §1 The Spec (§1.1 User Story, §1.2 Detailed Requirements, §1.3 Out of Scope), §2 The Truth (Gherkin + Verification), §3 Implementation Guide (§3.0 Env Prerequisites, §3.1 Tests, §3.2 Context, §3.3 Logic, §3.4 API Contract), §4 Quality Gates (§4.1 Min Test Expectations, §4.2 Definition of Done) |
116
+ | `spike.md` | 3.5 | `product_plans/backlog/EPIC-{NNN}_{name}/SPIKE-{EpicID}-{NNN}-{topic}.md` | §1 Question, §2 Context, §3 Approach, §4 Findings, §5 Decision, §6 Residual Risk, §7 Affected Documents |
117
+ | `delivery_plan.md` | 4.5 | `product_plans/D-{NN}_{release}/D-{NN}_DELIVERY_PLAN.md` | §1 Project Window, §2 Epics, §3 Backlog, §4 Delivery Log, §8 Applied Hotfixes |
118
+ | `sprint.md` | 4.5 | `product_plans/sprints/sprint-{XX}/sprint-{XX}.md` | §0 Sprint Readiness Gate (mandatory confirmation), §1 Active Scope + Context Pack, §2 Execution Strategy (Shared File Map, Dependency Chain, Execution Mode, Risk Flags), §3 Open Questions, §4 Execution Log (with test counts) |
119
+ | `sprint_report.md` | Output | `.vbounce/sprint-report-S-{XX}.md` | §1 What Was Delivered, §2 Story Results (with Tax Type), §3 Execution Metrics (Bug Fix Tax / Enhancement Tax split), §4 Lessons Learned (review, not gate), §5 Retrospective + Framework Self-Assessment |
120
+ | `sprint_context.md` | Sprint | `.vbounce/sprint-context-S-{XX}.md` | Design tokens, shared patterns, locked deps, active lessons, sprint-specific rules |
121
+ | `risk_registry.md` | Cross-cutting | `product_plans/strategy/RISK_REGISTRY.md` | §1 Active Risks, §2 Resolved Risks, §3 Analysis Log |
122
+ | `hotfix.md` | Bypass | `product_plans/hotfixes/HOTFIX-{Date}-{Name}.md` | Problem, Fix, Files Affected, Verification |
123
+ | `bug.md` | Mid-sprint | `product_plans/sprints/sprint-{XX}/BUG-{Date}-{Name}.md` | §1 The Bug (repro steps), §2 Impact, §3 Fix Approach, §4 Verification |
124
+ | `change_request.md` | Mid-sprint | `product_plans/sprints/sprint-{XX}/CR-{Date}-{Name}.md` | §1 The Change, §2 Impact Assessment, §3 Decision, §4 Execution Plan |
125
+
126
+ ---
127
+
128
+ ## 5. Skill Registry
129
+
130
+ Skills are modular instructions loaded by agents. Located in `.vbounce/skills/`.
131
+
132
+ | Skill | File | Phase | Trigger | Loaded By |
133
+ |-------|------|-------|---------|-----------|
134
+ | **product-graph** | `.vbounce/skills/product-graph/SKILL.md` | Phase 1-2 (Planning) | Auto-loads during planning | Team Lead |
135
+ | **agent-team** | `.vbounce/skills/agent-team/SKILL.md` | Phase 3 (Execution) | Auto-loads during execution | Team Lead |
136
+ | **doc-manager** | `.vbounce/skills/doc-manager/SKILL.md` | Phase 1-2 (Planning) | Auto-loads during planning; also `/doc` | AI (planning partner) |
137
+ | **lesson** | `.vbounce/skills/lesson/SKILL.md` | All phases | Always loaded in brain; also `/lesson` | All agents |
138
+ | **vibe-code-review** | `.vbounce/skills/vibe-code-review/SKILL.md` | Phase 3 (Execution) | `/review`; auto by QA/Architect | QA, Architect |
139
+ | **improve** | `.vbounce/skills/improve/SKILL.md` | Phase 4 (Review) | `/improve`; auto on sprint close | Team Lead |
140
+ | **write-skill** | `.vbounce/skills/write-skill/SKILL.md` | Any | `/write-skill` | Team Lead |
141
+ | **react-best-practices** | `.vbounce/skills/react-best-practices/SKILL.md` | Phase 3 (Execution) | `/react`; auto by Developer | Developer |
142
+ | **file-organization** | `.vbounce/skills/file-organization/SKILL.md` | Phase 1 (Planning) | On-demand | Team Lead |
143
+
144
+ ### Skill Reference Files
145
+
146
+ #### agent-team references
147
+ | File | Purpose |
148
+ |------|---------|
149
+ | `.vbounce/skills/agent-team/references/cleanup.md` | Post-sprint cleanup procedures |
150
+ | `.vbounce/skills/agent-team/references/delivery-sync.md` | When to update Delivery Plan vs Sprint Plan |
151
+ | `.vbounce/skills/agent-team/references/discovery.md` | Spike execution protocol for L4/🔴 stories |
152
+ | `.vbounce/skills/agent-team/references/git-strategy.md` | Branch model and git commands |
153
+ | `.vbounce/skills/agent-team/references/mid-sprint-triage.md` | Routing for mid-sprint changes — decision tree routes to bug.md, change_request.md, or hotfix.md |
154
+ | `.vbounce/skills/agent-team/references/report-naming.md` | Canonical naming for all report files |
155
+
156
+ #### vibe-code-review references
157
+ | File | Purpose |
158
+ |------|---------|
159
+ | `.vbounce/skills/vibe-code-review/references/quick-scan.md` | Fast health check mode |
160
+ | `.vbounce/skills/vibe-code-review/references/pr-review.md` | PR diff analysis mode |
161
+ | `.vbounce/skills/vibe-code-review/references/deep-audit.md` | Full codebase analysis mode |
162
+ | `.vbounce/skills/vibe-code-review/references/trend-check.md` | Cross-sprint metrics comparison mode |
163
+ | `.vbounce/skills/vibe-code-review/references/report-template.md` | Review report structure |
164
+ | `.vbounce/skills/vibe-code-review/scripts/pr-analyze.sh` | PR analysis automation |
165
+ | `.vbounce/skills/vibe-code-review/scripts/generate-snapshot.sh` | Codebase snapshot generation |
166
+
167
+ #### file-organization references
168
+ | File | Purpose |
169
+ |------|---------|
170
+ | `.vbounce/skills/file-organization/references/quick-checklist.md` | File organization verification checklist |
171
+ | `.vbounce/skills/file-organization/references/gitignore-template.md` | Template .gitignore with V-Bounce patterns |
172
+ | `.vbounce/skills/file-organization/evals/evals.json` | Evaluation data for file organization |
173
+ | `.vbounce/skills/file-organization/TEST-RESULTS.md` | Test results for file-organization skill |
174
+
175
+ #### react-best-practices rules (57 files)
176
+ | Directory | Count | Categories |
177
+ |-----------|-------|-----------|
178
+ | `.vbounce/skills/react-best-practices/rules/` | 55 | async (5), bundle (5), client (4), js (12), rendering (8), rerender (12), server (6), advanced (3) |
179
+ | `.vbounce/skills/react-best-practices/rules/_sections.md` | — | Index of all rule categories |
180
+ | `.vbounce/skills/react-best-practices/rules/_template.md` | — | Template for new rules |
181
+
182
+ ---
183
+
184
+ ## 6. Script Registry
185
+
186
+ Scripts automate framework operations. Located in `.vbounce/scripts/`.
187
+
188
+ ### Sprint Lifecycle
189
+ | Script | When | Input | Output |
190
+ |--------|------|-------|--------|
191
+ | `.vbounce/scripts/init_sprint.mjs` | Sprint setup | Sprint ID, Delivery ID | `.vbounce/state.json`, sprint plan directory |
192
+ | `.vbounce/scripts/close_sprint.mjs` | Sprint end | Sprint ID | Archives reports, triggers improvement pipeline |
193
+ | `.vbounce/scripts/complete_story.mjs` | Story merge | Story ID, metrics | Updates state.json + sprint plan §4 Execution Log |
194
+ | `.vbounce/scripts/update_state.mjs` | Any state change | Story ID, new state | Atomic state.json update |
195
+
196
+ ### Context Preparation
197
+ | Script | When | Input | Output |
198
+ |--------|------|-------|--------|
199
+ | `.vbounce/scripts/prep_sprint_context.mjs` | Before sprint | Sprint ID | `.vbounce/sprint-context-S-XX.md` |
200
+ | `.vbounce/scripts/prep_qa_context.mjs` | Before QA gate | Story ID | `.vbounce/qa-context-STORY-ID.md` |
201
+ | `.vbounce/scripts/prep_arch_context.mjs` | Before Architect gate | Story ID | `.vbounce/arch-context-STORY-ID.md` |
202
+ | `.vbounce/scripts/prep_sprint_summary.mjs` | Sprint consolidation | Sprint ID | Aggregated metrics from archived reports |
203
+
204
+ ### Quality Gates
205
+ | Script | When | Input | Output |
206
+ |--------|------|-------|--------|
207
+ | `.vbounce/scripts/pre_gate_runner.sh` | Before QA/Architect | Gate type, worktree path | `.vbounce/reports/pre-{gate}-scan.txt` |
208
+ | `.vbounce/scripts/pre_gate_common.sh` | — | — | Shared functions for gate checks |
209
+ | `.vbounce/scripts/init_gate_config.sh` | First sprint | — | `.vbounce/gate-checks.json` (auto-detect stack) |
210
+
211
+ ### Validation
212
+ | Script | When | Input | Output |
213
+ |--------|------|-------|--------|
214
+ | `.vbounce/scripts/validate_report.mjs` | After any agent report | Report file | PASS/FAIL (YAML frontmatter validation) |
215
+ | `.vbounce/scripts/validate_state.mjs` | State changes | state.json | Schema validation |
216
+ | `.vbounce/scripts/validate_sprint_plan.mjs` | Sprint setup | Sprint plan file | Structure validation |
217
+ | `.vbounce/scripts/validate_bounce_readiness.mjs` | Before bounce | Story ID | Readiness check (spec, criteria, guide, ambiguity) |
218
+ | `.vbounce/scripts/verify_framework.mjs` | On demand | — | Framework integrity check |
219
+ | `.vbounce/scripts/verify_framework.sh` | On demand | — | Shell wrapper for above |
220
+ | `.vbounce/scripts/doctor.mjs` | `vbounce doctor` | — | Health check (templates, skills, scripts, brains) |
221
+
222
+ ### Self-Improvement
223
+ | Script | When | Input | Output |
224
+ |--------|------|-------|--------|
225
+ | `.vbounce/scripts/sprint_trends.mjs` | Sprint close | Archived reports | `.vbounce/trends.md` |
226
+ | `.vbounce/scripts/post_sprint_improve.mjs` | Sprint close | Sprint Report, LESSONS.md, trends | `.vbounce/improvement-manifest.json` |
227
+ | `.vbounce/scripts/suggest_improvements.mjs` | Sprint close | Improvement manifest | `.vbounce/improvement-suggestions.md` |
228
+
229
+ ### Product Graph
230
+ | Script | When | Input | Output |
231
+ |--------|------|-------|--------|
232
+ | `.vbounce/scripts/product_graph.mjs` | After doc edits, sprint lifecycle events | product_plans/ | `.vbounce/product-graph.json` |
233
+ | `.vbounce/scripts/product_impact.mjs` | Before modifying a document | DOC-ID | Impact analysis (BFS traversal) |
234
+
235
+ ### Token Tracking
236
+ | Script | When | Input | Output |
237
+ |--------|------|-------|--------|
238
+ | `.vbounce/scripts/count_tokens.mjs` | After each agent completes; sprint consolidation | Session JSONL / story docs | Per-agent and per-sprint token counts |
239
+
240
+ ### Utilities
241
+ | Script | When | Input | Output |
242
+ |--------|------|-------|--------|
243
+ | `.vbounce/scripts/hotfix_manager.sh` | Hotfix lifecycle | Subcommand (audit/sync/ledger) | Hotfix ledger, worktree sync |
244
+ | `.vbounce/scripts/vdoc_match.mjs` | Context prep | Story ID, manifest | JSON/markdown context with matched docs |
245
+ | `.vbounce/scripts/vdoc_staleness.mjs` | Sprint close | Sprint ID | `.vbounce/scribe-task-S-XX.md` (stale doc list) |
246
+
247
+ ---
248
+
249
+ ## 7. Information Flow
250
+
251
+ ### Document Inheritance (upstream → downstream)
252
+
253
+ ```
254
+ Charter §1 (Identity) ──────────→ Roadmap §1 (Strategic Context)
255
+ Charter §2 (Design Principles) ──→ ALL agents (decision tiebreaker)
256
+ Charter §3 (Architecture) ──────→ Roadmap §3 (ADRs)
257
+ Charter §5 (Key Workflows) ─────→ Epic §1 (Problem & Value)
258
+ Charter §6 (Constraints) ───────→ Roadmap §5 (Strategic Constraints)
259
+
260
+ Roadmap §2 (Release Plan) ──────→ Epic Metadata (Release field)
261
+ Roadmap §3 (ADRs) ──────────────→ Story §3.2 (ADR References)
262
+ Roadmap §4 (Dependencies) ──────→ Risk Registry §1 (Active Risks)
263
+ Roadmap §5 (Constraints) ───────→ Delivery Plan (sprint capacity)
264
+
265
+ Epic §2 (Scope Boundaries) ─────→ Story §1 (The Spec)
266
+ Epic §4 (Technical Context) ────→ Story §3 (Implementation Guide)
267
+ Epic §5 (Decomposition) ────────→ Codebase research scope + Story creation
268
+ Epic §6 (Risks) ────────────────→ Risk Registry §1 (Active Risks)
269
+ Epic §7 (Acceptance Criteria) ──→ Story §2 (The Truth)
270
+ Epic §8 (Open Questions) ───────→ Spike §1 (Question)
271
+
272
+ Sprint Plan §1 (Active Scope) ──→ Team Lead (source of truth during sprint)
273
+ Sprint Plan §1 (Context Pack) ──→ Ready to Bounce gate
274
+
275
+ Spike §4 (Findings) ────────────→ Epic §4 (Technical Context update)
276
+ Spike §5 (Decision) ────────────→ Roadmap §3 (ADRs, if architectural)
277
+ ```
278
+
279
+ ### Agent Report Flow (Phase 3)
280
+
281
+ ```
282
+ Developer Report
283
+
284
+ Pre-QA Gate Scan → QA reads Dev Report + Story §2
285
+ ↓ (if PASS)
286
+ Pre-Architect Gate Scan → Architect reads all reports + Story + Roadmap §3
287
+ ↓ (if PASS)
288
+ DevOps reads all reports → merges → archives
289
+
290
+ Team Lead records lessons (Step 5.5) → consolidates Sprint Report (Step 7)
291
+
292
+ Human reviews → Scribe updates docs → Improvement pipeline runs
293
+ ```
294
+
295
+ ### Cascade Rules (modify upstream → update downstream)
296
+
297
+ | If you change... | Then also update... |
298
+ |------------------|---------------------|
299
+ | Charter §1 (Identity) | Roadmap §1 |
300
+ | Charter §2 (Design Principles) | Notify all agents |
301
+ | Charter §3 (Tech Stack) | Roadmap §3 (ADRs) |
302
+ | Roadmap §2 (Release Plan) | Delivery Plan sprint goals |
303
+ | Roadmap §3 (ADR) | All Stories referencing that ADR |
304
+ | Epic §2 (Scope) | All child Stories §1 |
305
+ | Epic §4 (Technical Context) | All child Stories §3 |
306
+ | Spike §4/§5 (Findings/Decision) | Epic §4, Epic §8, Risk Registry |
307
+ | Any `.claude/agents/` or `.vbounce/skills/` file | `.vbounce/CHANGELOG.md` + this manifest |
308
+
309
+ ---
310
+
311
+ ## 8. Runtime Directories
312
+
313
+ These directories are created during project execution, not part of the framework distribution.
314
+
315
+ | Directory | Purpose | Created By |
316
+ |-----------|---------|-----------|
317
+ | `product_plans/strategy/` | Charter, Roadmap, Risk Registry, Delivery Plan (frozen during sprints) | Phase 1 (Planning) |
318
+ | `product_plans/backlog/` | Epics and unassigned Stories | Phase 1 (Planning) |
319
+ | `product_plans/sprints/` | Active sprint workspace | Phase 2 (Sprint Planning) |
320
+ | `product_plans/hotfixes/` | Emergency L1 fixes | Phase 3 (Hotfix Path) |
321
+ | `product_plans/archive/` | Completed sprints and epics (immutable) | Phase 4 (Review) |
322
+ | `.vbounce/` | Sprint state, reports, improvement artifacts, product graph | `vbounce sprint init` |
323
+ | `.vbounce/reports/` | Active bounce reports (gitignored) | Agents during Phase 3 |
324
+ | `.vbounce/archive/S-{XX}/` | Archived reports per sprint (committed) | DevOps after merge |
325
+ | `.worktrees/` | Git worktrees for isolated story branches | Phase 3 Step 1 |
326
+ | `vdocs/` | Product documentation + `_manifest.json` | Scribe agent |
327
+
328
+ ---
329
+
330
+ ## 9. Diagrams
331
+
332
+ | File | What it shows |
333
+ |------|--------------|
334
+ | `diagrams/01-story-state-machine.mermaid` | Story state transitions (Draft → Done, with spike loop and escalation) |
335
+ | `diagrams/02-document-hierarchy.mermaid` | Document inheritance (Charter → Roadmap → Epic → Story) |
336
+ | `diagrams/03-bounce-sequence.mermaid` | Bounce cycle interaction (Dev ↔ QA ↔ Architect → DevOps) |
337
+ | `diagrams/04-delivery-lifecycle.mermaid` | Full delivery flow (Planning → Sprint → Release) |
338
+ | `diagrams/05-agent-roles.mermaid` | Six agents and their relationships |
339
+ | `diagrams/06-git-branching.mermaid` | Git strategy (main → sprint → story worktrees) |
340
+
341
+ ---
342
+
343
+ ## 10. Documentation
344
+
345
+ | File | Audience | Purpose |
346
+ |------|----------|---------|
347
+ | `docs/HOTFIX_EDGE_CASES.md` | Team Lead | Edge cases for hotfix handling |
348
+ | `docs/IMPROVEMENT.md` | Public / Users | User-facing guide to the Self-Improvement Pipeline |
349
+ | `docs/agent-skill-profiles.docx` | Framework maintainers | Agent capability profiles |
350
+ | `docs/vbounce-os-manual.docx` | All users | Comprehensive V-Bounce manual |
351
+
352
+ ### Visual Assets
353
+
354
+ | Directory | Purpose |
355
+ |-----------|---------|
356
+ | `docs/icons/` | SVG icons used in README and documentation (logo, section headers, role icons) |
357
+ | `docs/images/` | Generated images (e.g., Bounce Loop diagram) used in README |
358
+
359
+ ---
360
+
361
+ ## 11. Test Suite
362
+
363
+ Regression suite for validating the engine after any path, script, or template change. Run: `node tests/run.mjs`
364
+
365
+ | File | Suite | What it checks |
366
+ |------|-------|----------------|
367
+ | `tests/harness.mjs` | — | Test primitives: `suite()`, `record()`, `assertFileExists()`, `assertNoMatch()`, `assertScriptRuns()`, `generateReport()` |
368
+ | `tests/run.mjs` | — | Main runner: installs to temp dir, runs all suites, generates JSON + Markdown reports |
369
+ | `tests/suites/install.mjs` | Install Integrity | 76+ file existence checks across all installed components |
370
+ | `tests/suites/paths.mjs` | Path Integrity | 500+ stale path pattern scans across all shipped `.md`/`.mjs` files |
371
+ | `tests/suites/doctor.mjs` | Doctor Accuracy | False positive and false negative detection |
372
+ | `tests/suites/scripts.mjs` | Script Validation | Import checks, functional tests, ROOT resolution for all 22 `.mjs` scripts |
373
+ | `tests/suites/brains.mjs` | Agent Contracts | Frontmatter, report YAML signatures, CLAUDE.md ↔ agents consistency |
374
+ | `tests/suites/manifest.mjs` | Manifest Completeness | All backtick paths resolve, orphan file detection |
375
+ | `tests/suites/templates.mjs` | Template/Skill Integrity | Structure validation, stale paths, CLAUDE.md ↔ skills cross-reference |
376
+ | `tests/suites/lifecycle.mjs` | Full Lifecycle | 41-test simulation: fixtures → init → transitions → context prep → complete → close → analytics → edge cases |
377
+
378
+ Reports output to `tests/reports/report-{timestamp}.{json,md}`.
379
+
380
+ ---
381
+
382
+ ## 12. CLI Entry Point
383
+
384
+ | File | Purpose |
385
+ |------|---------|
386
+ | `bin/vbounce.mjs` | Main CLI — `npx vbounce install`, `vbounce sprint init`, `vbounce graph`, `vbounce doctor`, etc. |
387
+
388
+ ---
389
+
390
+ ## File Count Summary
391
+
392
+ | Category | Count |
393
+ |----------|-------|
394
+ | Root files (core) | 8 |
395
+ | Brain files | 16 |
396
+ | Templates | 13 |
397
+ | Skills (SKILL.md + references) | 26 |
398
+ | React rules | 57 |
399
+ | Scripts | 27 |
400
+ | Test suite | 10 |
401
+ | Diagrams | 6 |
402
+ | Docs + Visual Assets | 6 + ~15 icons/images |
403
+ | CLI | 1 |
404
+ | **Total** | **~185** |