@fernado03/zoo-flow 0.9.0 → 0.10.0

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 (60) hide show
  1. package/README.md +113 -81
  2. package/bin/zoo-flow.js +444 -134
  3. package/package.json +3 -3
  4. package/templates/claude-code/.claude/commands/caveman.md +26 -0
  5. package/templates/claude-code/.claude/commands/commit-and-document.md +27 -0
  6. package/templates/claude-code/.claude/commands/diagnose.md +27 -0
  7. package/templates/claude-code/.claude/commands/feature.md +46 -0
  8. package/templates/claude-code/.claude/commands/fix.md +45 -0
  9. package/templates/claude-code/.claude/commands/grill-me.md +27 -0
  10. package/templates/claude-code/.claude/commands/grill-with-docs.md +27 -0
  11. package/templates/claude-code/.claude/commands/handoff.md +27 -0
  12. package/templates/claude-code/.claude/commands/improve-codebase-architecture.md +27 -0
  13. package/templates/claude-code/.claude/commands/prototype.md +27 -0
  14. package/templates/claude-code/.claude/commands/refactor.md +46 -0
  15. package/templates/claude-code/.claude/commands/review.md +27 -0
  16. package/templates/claude-code/.claude/commands/scaffold-context.md +27 -0
  17. package/templates/claude-code/.claude/commands/setup-matt-pocock-skills.md +27 -0
  18. package/templates/claude-code/.claude/commands/tdd.md +27 -0
  19. package/templates/claude-code/.claude/commands/teach.md +27 -0
  20. package/templates/claude-code/.claude/commands/to-issues.md +27 -0
  21. package/templates/claude-code/.claude/commands/to-prd.md +27 -0
  22. package/templates/claude-code/.claude/commands/triage.md +27 -0
  23. package/templates/claude-code/.claude/commands/tweak.md +27 -0
  24. package/templates/claude-code/.claude/commands/update-docs.md +27 -0
  25. package/templates/claude-code/.claude/commands/verify.md +27 -0
  26. package/templates/claude-code/.claude/commands/write-a-skill.md +27 -0
  27. package/templates/claude-code/.claude/commands/zoom-out.md +27 -0
  28. package/templates/claude-code/.claude/skills/engineering/commit-and-document/SKILL.md +37 -0
  29. package/templates/claude-code/.claude/skills/engineering/diagnose/SKILL.md +102 -0
  30. package/templates/claude-code/.claude/skills/engineering/explore/SKILL.md +61 -0
  31. package/templates/claude-code/.claude/skills/engineering/feature/SKILL.md +66 -0
  32. package/templates/claude-code/.claude/skills/engineering/fix/SKILL.md +59 -0
  33. package/templates/claude-code/.claude/skills/engineering/grill-with-docs/SKILL.md +35 -0
  34. package/templates/claude-code/.claude/skills/engineering/improve-codebase-architecture/SKILL.md +39 -0
  35. package/templates/claude-code/.claude/skills/engineering/prototype/SKILL.md +34 -0
  36. package/templates/claude-code/.claude/skills/engineering/refactor/SKILL.md +59 -0
  37. package/templates/claude-code/.claude/skills/engineering/review/SKILL.md +117 -0
  38. package/templates/claude-code/.claude/skills/engineering/scaffold-context/SKILL.md +44 -0
  39. package/templates/claude-code/.claude/skills/engineering/setup-matt-pocock-skills/SKILL.md +48 -0
  40. package/templates/claude-code/.claude/skills/engineering/tdd/SKILL.md +81 -0
  41. package/templates/claude-code/.claude/skills/engineering/to-issues/SKILL.md +37 -0
  42. package/templates/claude-code/.claude/skills/engineering/to-prd/SKILL.md +39 -0
  43. package/templates/claude-code/.claude/skills/engineering/triage/SKILL.md +36 -0
  44. package/templates/claude-code/.claude/skills/engineering/tweak/SKILL.md +37 -0
  45. package/templates/claude-code/.claude/skills/engineering/update-docs/SKILL.md +33 -0
  46. package/templates/claude-code/.claude/skills/engineering/verify/SKILL.md +38 -0
  47. package/templates/claude-code/.claude/skills/engineering/zoom-out/SKILL.md +34 -0
  48. package/templates/claude-code/.claude/skills/productivity/caveman/SKILL.md +24 -0
  49. package/templates/claude-code/.claude/skills/productivity/grill-me/SKILL.md +21 -0
  50. package/templates/claude-code/.claude/skills/productivity/handoff/SKILL.md +20 -0
  51. package/templates/claude-code/.claude/skills/productivity/teach/SKILL.md +116 -0
  52. package/templates/claude-code/.claude/skills/productivity/write-a-skill/SKILL.md +59 -0
  53. package/templates/claude-code/.zoo-flow/CONTEXT.md +8 -0
  54. package/templates/claude-code/.zoo-flow/START_HERE.md +28 -0
  55. package/templates/claude-code/.zoo-flow/docs/adr/0001-record-architecture-decisions.md +22 -0
  56. package/templates/claude-code/.zoo-flow/evals/no-regression-checklist.md +26 -0
  57. package/templates/claude-code/.zoo-flow/evals/routing-cases.jsonl +18 -0
  58. package/templates/claude-code/.zoo-flow/evals/routing-cases.md +211 -0
  59. package/templates/claude-code/.zoo-flow/project-profile.json +24 -0
  60. package/templates/claude-code/CLAUDE.md +237 -0
package/README.md CHANGED
@@ -1,63 +1,95 @@
1
1
  # Zoo Flow
2
2
 
3
- > **Workflow control plane for [Zoo Code](https://docs.zoocode.dev/).**
4
-
5
- Zoo Flow is a Zoo Code workflow-control template.
6
-
7
- It does not try to be a giant skills pack. It makes Zoo Code predictable:
8
- free-form requests are routed through Custom Orchestrator, risky work gets
9
- planning gates, implementation stays in Code Tweaker, architecture stays in
10
- System Architect, and every command follows a small command/skill contract.
3
+ > **Workflow control plane for [Zoo Code](https://docs.zoocode.dev/) and [Claude Code](https://docs.anthropic.com/en/docs/claude-code).**
4
+
5
+ Zoo Flow is a workflow-control template that supports both Zoo Code and Claude Code.
6
+
7
+ It does not try to be a giant skills pack. It makes AI coding assistants predictable:
8
+ free-form requests are routed through the appropriate profile, risky work gets
9
+ planning gates, implementation stays in the Implementer profile, architecture stays in
10
+ the Architect profile, and every command follows a small command/skill contract.
11
+
12
+ **Platform support:**
13
+ - **Zoo Code**: Uses `.roomodes`, `.roo/commands/`, `.roo/skills/`, and `.roo/rules/`
14
+ - **Claude Code**: Uses `CLAUDE.md`, `.claude/commands/`, and `.claude/skills/`
11
15
 
12
16
  For the deeper rationale, see [`docs/overview.md`](docs/overview.md)
13
17
  and [`docs/philosophy.md`](docs/philosophy.md).
14
18
 
15
19
  ## Install
16
20
 
17
- Run this from the root of the project where you use Zoo Code:
21
+ Run this from the root of the project where you use Zoo Code or Claude Code:
18
22
 
19
23
  ```bash
20
24
  npx @fernado03/zoo-flow@latest init
21
25
  ```
22
26
 
23
- This copies the runtime template (`.roomodes` and `.roo/`) plus the
24
- `.zoo-flow/` starter docs into your project. It does not copy this
25
- repository's `docs/` folder. Zoo Flow also ensures `.roo/`, `.roomodes`, and `.zoo-flow/` are
26
- listed in `.gitignore` so generated config and local context docs stay
27
- out of normal commits.
27
+ Zoo Flow will prompt you to choose a platform:
28
+
29
+ ```
30
+ ? Which platform would you like to install for?
31
+ 1. Claude Code
32
+ 2. Zoo Code
33
+ ```
34
+
35
+ ### Claude Code Installation
36
+
37
+ For Claude Code, this copies:
38
+ - `CLAUDE.md` - Project instructions with behavioral profiles and routing guide
39
+ - `.claude/commands/` - 25 slash commands adapted for Claude Code
40
+ - `.claude/skills/` - Workflow skills with Claude Code tool names
41
+ - `.zoo-flow/` - Starter docs and context files
42
+
43
+ Zoo Flow ensures `.claude/` and `.zoo-flow/` are listed in `.gitignore` so generated config and local context docs stay out of normal commits.
28
44
 
29
- If `.roomodes` or `.roo/` already exist, Zoo Flow stops without
30
- overwriting. To back up and overwrite:
45
+ If `CLAUDE.md` or `.claude/` already exist, Zoo Flow stops without overwriting. To back up and overwrite:
31
46
 
32
47
  ```bash
33
48
  npx @fernado03/zoo-flow@latest init --force
34
49
  ```
35
50
 
36
- A timestamped backup is always written to `.zoo-flow-backup/` before
37
- overwrite.
51
+ After install, open Claude Code in the project directory. The slash commands (e.g., `/tweak`, `/fix`, `/feature`) will be available immediately.
52
+
53
+ ### Zoo Code Installation
54
+
55
+ For Zoo Code, this copies:
56
+ - `.roomodes` - Mode definitions (Custom Orchestrator, System Architect, Code Tweaker)
57
+ - `.roo/commands/` - Slash commands with routing metadata
58
+ - `.roo/skills/` - Workflow skills with Zoo Code tool names
59
+ - `.roo/rules/` - Global and mode-specific rules
60
+ - `.zoo-flow/` - Starter docs and context files
61
+
62
+ Zoo Flow ensures `.roo/`, `.roomodes`, and `.zoo-flow/` are listed in `.gitignore` so generated config and local context docs stay out of normal commits.
63
+
64
+ If `.roomodes` or `.roo/` already exist, Zoo Flow stops without overwriting. To back up and overwrite:
65
+
66
+ ```bash
67
+ npx @fernado03/zoo-flow@latest init --force
68
+ ```
38
69
 
39
- After install, reload VS Code (Command Palette **Developer: Reload
40
- Window**) and open Zoo Code.
41
-
42
- ## Validate Install
43
-
44
- Use this inside a project after install or update:
45
-
46
- ```bash
47
- npx @fernado03/zoo-flow@latest doctor
48
- ```
70
+ A timestamped backup is always written to `.zoo-flow-backup/` before overwrite.
71
+
72
+ After install, reload VS Code (Command Palette → **Developer: Reload Window**) and open Zoo Code.
73
+
74
+ ## Validate Install
75
+
76
+ Use this inside a project after install or update:
77
+
78
+ ```bash
79
+ npx @fernado03/zoo-flow@latest doctor
80
+ ```
49
81
 
50
82
  > **Note**: `.roomodes`, `.roo/commands/`, and `.roo/rules-{mode-slug}/`
51
83
  > are kept as-is because they are the official Zoo Code configuration
52
84
  > paths. Zoo Flow does not introduce a `.zoo/` directory.
53
85
 
54
- ## Using Zoo Flow
55
-
86
+ ## Using Zoo Flow
87
+
56
88
  First run:
57
89
 
58
90
  - Run `/scaffold-context` when the project needs local context docs.
59
- - Run `/setup-matt-pocock-skills` when tracker or triage config is needed.
60
-
91
+ - Run `/setup-matt-pocock-skills` when tracker or triage config is needed.
92
+
61
93
  Daily use:
62
94
 
63
95
  - Start in `custom-orchestrator`, describe the task normally.
@@ -66,7 +98,7 @@ Daily use:
66
98
  - Explicit slash commands count as approval. Free-form requests do not.
67
99
  - **Clickable choices must not include slash commands or mode names.**
68
100
 
69
- For team usage, see `docs/team-mode.md`.
101
+ For team usage, see `docs/team-mode.md`.
70
102
 
71
103
  ## Update
72
104
 
@@ -84,11 +116,11 @@ Zoo Flow keeps always-loaded rules small. Domain docs (`.zoo-flow/CONTEXT.md`, `
84
116
 
85
117
  ## Modes
86
118
 
87
- | Slug | Name | Role | Edits allowed | Delegation |
88
- | --------------------- | --------------------- | ---------------------------------------------------------- | ---------------------------------------------- | ------------------------------------------- |
89
- | `custom-orchestrator` | 🪃 Custom Orchestrator | Router. Picks workflow, delegates, waits for the user. | None | `new_task` to Zoo Flow modes only |
90
- | `system-architect` | 🏗️ System Architect | Planning, diagnosis, refactor design, exploration, review. | Markdown, `.scratch/`, `docs/` | `switch_mode` to `code-tweaker` |
91
- | `code-tweaker` | ⚡ Code Tweaker | Implementation, TDD, verify, docs, prototypes, commits. | Full repo edits within the assigned command | `switch_mode` to `system-architect` |
119
+ | Slug | Name | Role | Edits allowed | Delegation |
120
+ | --------------------- | --------------------- | ---------------------------------------------------------- | ---------------------------------------------- | ------------------------------------------- |
121
+ | `custom-orchestrator` | 🪃 Custom Orchestrator | Router. Picks workflow, delegates, waits for the user. | None | `new_task` to Zoo Flow modes only |
122
+ | `system-architect` | 🏗️ System Architect | Planning, diagnosis, refactor design, exploration, review. | Markdown, `.scratch/`, `docs/` | `switch_mode` to `code-tweaker` |
123
+ | `code-tweaker` | ⚡ Code Tweaker | Implementation, TDD, verify, docs, prototypes, commits. | Full repo edits within the assigned command | `switch_mode` to `system-architect` |
92
124
 
93
125
  Modes are defined in
94
126
  [`templates/full/.roomodes`](templates/full/.roomodes). The detailed
@@ -108,14 +140,14 @@ run directly inside `system-architect` or `code-tweaker` when needed.
108
140
  | `/tdd` | `code-tweaker` | Test-first implementation loop. |
109
141
  | `/prototype` | `code-tweaker` | Throwaway prototype to settle a design uncertainty. |
110
142
  | `/update-docs` | `code-tweaker` | Reconcile docs with code reality. |
111
- | `/commit-and-document` | `code-tweaker` | Stage, message, commit, journal — pauses for approval. |
112
- | `/verify` | `code-tweaker` | Run targeted tests, typecheck, lint, or build checks. |
113
- | `/fix` | `system-architect` | Diagnose → implement → post-mortem chain. |
114
- | `/feature` | `system-architect` | Sharpen → optional prototype → PRD → issues → TDD chain. |
115
- | `/refactor` | `system-architect` | Plan and stage architecture changes. |
116
- | `/explore` | `system-architect` | Map unfamiliar code before touching it. |
117
- | `/triage` | `system-architect` | Clean and prioritize an issue queue. |
118
- | `/review` | `system-architect` | Review a diff or branch before commit. |
143
+ | `/commit-and-document` | `code-tweaker` | Stage, message, commit, journal — pauses for approval. |
144
+ | `/verify` | `code-tweaker` | Run targeted tests, typecheck, lint, or build checks. |
145
+ | `/fix` | `system-architect` | Diagnose → implement → post-mortem chain. |
146
+ | `/feature` | `system-architect` | Sharpen → optional prototype → PRD → issues → TDD chain. |
147
+ | `/refactor` | `system-architect` | Plan and stage architecture changes. |
148
+ | `/explore` | `system-architect` | Map unfamiliar code before touching it. |
149
+ | `/triage` | `system-architect` | Clean and prioritize an issue queue. |
150
+ | `/review` | `system-architect` | Review a diff or branch before commit. |
119
151
 
120
152
  ### Helper (run directly when needed)
121
153
 
@@ -127,31 +159,31 @@ run directly inside `system-architect` or `code-tweaker` when needed.
127
159
  | `/to-prd` | `system-architect` | Turn sharpened context into a PRD. |
128
160
  | `/to-issues` | `system-architect` | Slice a PRD into issues. |
129
161
  | `/zoom-out` | `system-architect` | Pull back to architectural altitude. |
130
- | `/handoff` | `system-architect` | Produce a clean handoff package for another agent or human. |
131
- | `/grill-me` | `system-architect` | Adversarial Q&A to sharpen an idea. |
132
- | `/caveman` | modeless | Ultra-compressed communication style utility. |
162
+ | `/handoff` | `system-architect` | Produce a clean handoff package for another agent or human. |
163
+ | `/grill-me` | `system-architect` | Adversarial Q&A to sharpen an idea. |
164
+ | `/caveman` | modeless | Ultra-compressed communication style utility. |
133
165
  | `/write-a-skill` | `code-tweaker` | Author a new skill following the bucket layout. |
134
166
  | `/setup-matt-pocock-skills` | `code-tweaker` | One-shot setup helper for the bundled skill set. |
135
167
 
136
- Command files live in
137
- [`templates/full/.roo/commands/`](templates/full/.roo/commands).
138
- `/caveman` intentionally has no `mode:` because it changes communication style, not workflow authority.
168
+ Command files live in
169
+ [`templates/full/.roo/commands/`](templates/full/.roo/commands).
170
+ `/caveman` intentionally has no `mode:` because it changes communication style, not workflow authority.
139
171
 
140
172
  ## Worked examples
141
173
 
142
- - [`examples/fix-flow.md`](examples/fix-flow.md)
143
- - [`examples/feature-flow.md`](examples/feature-flow.md)
144
- - [`examples/demo-transcripts/`](examples/demo-transcripts/)
174
+ - [`examples/fix-flow.md`](examples/fix-flow.md)
175
+ - [`examples/feature-flow.md`](examples/feature-flow.md)
176
+ - [`examples/demo-transcripts/`](examples/demo-transcripts/)
145
177
 
146
178
  ## How this is different
147
179
 
148
- Zoo Flow is not a methodology and not a giant skills pack. It is a
149
- thin Zoo-native control plane: three modes, a routing matrix, and a
150
- path-safety contract that turn into a predictable workflow. For a
151
- longer comparison with adjacent projects, see
152
- [`docs/comparison.md`](docs/comparison.md).
153
-
154
- For command-addition rules, see [`docs/command-design.md`](docs/command-design.md).
180
+ Zoo Flow is not a methodology and not a giant skills pack. It is a
181
+ thin Zoo-native control plane: three modes, a routing matrix, and a
182
+ path-safety contract that turn into a predictable workflow. For a
183
+ longer comparison with adjacent projects, see
184
+ [`docs/comparison.md`](docs/comparison.md).
185
+
186
+ For command-addition rules, see [`docs/command-design.md`](docs/command-design.md).
155
187
 
156
188
  ## Manual install
157
189
 
@@ -159,25 +191,25 @@ If you would rather copy the template by hand:
159
191
 
160
192
  ```sh
161
193
  git clone https://github.com/Fernado03/zoo-flow.git /tmp/zoo-flow
162
- cp /tmp/zoo-flow/templates/full/.roomodes .
163
- cp -R /tmp/zoo-flow/templates/full/.roo .
164
- cp -R /tmp/zoo-flow/templates/full/.zoo-flow .
165
- touch .gitignore
166
- grep -qxF "# Zoo Flow — generated config (never committed)" .gitignore 2>/dev/null || {
167
- printf "\n# Zoo Flow — generated config (never committed)\n" >> .gitignore
168
- printf ".roomodes\n.roo/\n.zoo-flow/\n" >> .gitignore
169
- }
170
- ```
171
-
172
- Windows uses `git clone ... C:\Temp\zoo-flow` and `Copy-Item` (including `Copy-Item -Recurse` for `.roo\` and `.zoo-flow\`) instead. Add `.roomodes`, `.roo/`, and `.zoo-flow/` to `.gitignore`.
173
-
174
- ## Development
175
-
176
- Before publishing, run:
177
-
178
- ```bash
179
- npm run release:check
180
- ```
194
+ cp /tmp/zoo-flow/templates/full/.roomodes .
195
+ cp -R /tmp/zoo-flow/templates/full/.roo .
196
+ cp -R /tmp/zoo-flow/templates/full/.zoo-flow .
197
+ touch .gitignore
198
+ grep -qxF "# Zoo Flow — generated config (never committed)" .gitignore 2>/dev/null || {
199
+ printf "\n# Zoo Flow — generated config (never committed)\n" >> .gitignore
200
+ printf ".roomodes\n.roo/\n.zoo-flow/\n" >> .gitignore
201
+ }
202
+ ```
203
+
204
+ Windows uses `git clone ... C:\Temp\zoo-flow` and `Copy-Item` (including `Copy-Item -Recurse` for `.roo\` and `.zoo-flow\`) instead. Add `.roomodes`, `.roo/`, and `.zoo-flow/` to `.gitignore`.
205
+
206
+ ## Development
207
+
208
+ Before publishing, run:
209
+
210
+ ```bash
211
+ npm run release:check
212
+ ```
181
213
 
182
214
  ## Migration
183
215