@fernado03/zoo-flow 0.9.1 → 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.
- package/README.md +113 -81
- package/bin/zoo-flow.js +444 -134
- package/package.json +3 -3
- package/templates/claude-code/.claude/commands/caveman.md +26 -0
- package/templates/claude-code/.claude/commands/commit-and-document.md +27 -0
- package/templates/claude-code/.claude/commands/diagnose.md +27 -0
- package/templates/claude-code/.claude/commands/feature.md +46 -0
- package/templates/claude-code/.claude/commands/fix.md +45 -0
- package/templates/claude-code/.claude/commands/grill-me.md +27 -0
- package/templates/claude-code/.claude/commands/grill-with-docs.md +27 -0
- package/templates/claude-code/.claude/commands/handoff.md +27 -0
- package/templates/claude-code/.claude/commands/improve-codebase-architecture.md +27 -0
- package/templates/claude-code/.claude/commands/prototype.md +27 -0
- package/templates/claude-code/.claude/commands/refactor.md +46 -0
- package/templates/claude-code/.claude/commands/review.md +27 -0
- package/templates/claude-code/.claude/commands/scaffold-context.md +27 -0
- package/templates/claude-code/.claude/commands/setup-matt-pocock-skills.md +27 -0
- package/templates/claude-code/.claude/commands/tdd.md +27 -0
- package/templates/claude-code/.claude/commands/teach.md +27 -0
- package/templates/claude-code/.claude/commands/to-issues.md +27 -0
- package/templates/claude-code/.claude/commands/to-prd.md +27 -0
- package/templates/claude-code/.claude/commands/triage.md +27 -0
- package/templates/claude-code/.claude/commands/tweak.md +27 -0
- package/templates/claude-code/.claude/commands/update-docs.md +27 -0
- package/templates/claude-code/.claude/commands/verify.md +27 -0
- package/templates/claude-code/.claude/commands/write-a-skill.md +27 -0
- package/templates/claude-code/.claude/commands/zoom-out.md +27 -0
- package/templates/claude-code/.claude/skills/engineering/commit-and-document/SKILL.md +37 -0
- package/templates/claude-code/.claude/skills/engineering/diagnose/SKILL.md +102 -0
- package/templates/claude-code/.claude/skills/engineering/explore/SKILL.md +61 -0
- package/templates/claude-code/.claude/skills/engineering/feature/SKILL.md +66 -0
- package/templates/claude-code/.claude/skills/engineering/fix/SKILL.md +59 -0
- package/templates/claude-code/.claude/skills/engineering/grill-with-docs/SKILL.md +35 -0
- package/templates/claude-code/.claude/skills/engineering/improve-codebase-architecture/SKILL.md +39 -0
- package/templates/claude-code/.claude/skills/engineering/prototype/SKILL.md +34 -0
- package/templates/claude-code/.claude/skills/engineering/refactor/SKILL.md +59 -0
- package/templates/claude-code/.claude/skills/engineering/review/SKILL.md +117 -0
- package/templates/claude-code/.claude/skills/engineering/scaffold-context/SKILL.md +44 -0
- package/templates/claude-code/.claude/skills/engineering/setup-matt-pocock-skills/SKILL.md +48 -0
- package/templates/claude-code/.claude/skills/engineering/tdd/SKILL.md +81 -0
- package/templates/claude-code/.claude/skills/engineering/to-issues/SKILL.md +37 -0
- package/templates/claude-code/.claude/skills/engineering/to-prd/SKILL.md +39 -0
- package/templates/claude-code/.claude/skills/engineering/triage/SKILL.md +36 -0
- package/templates/claude-code/.claude/skills/engineering/tweak/SKILL.md +37 -0
- package/templates/claude-code/.claude/skills/engineering/update-docs/SKILL.md +33 -0
- package/templates/claude-code/.claude/skills/engineering/verify/SKILL.md +38 -0
- package/templates/claude-code/.claude/skills/engineering/zoom-out/SKILL.md +34 -0
- package/templates/claude-code/.claude/skills/productivity/caveman/SKILL.md +24 -0
- package/templates/claude-code/.claude/skills/productivity/grill-me/SKILL.md +21 -0
- package/templates/claude-code/.claude/skills/productivity/handoff/SKILL.md +20 -0
- package/templates/claude-code/.claude/skills/productivity/teach/SKILL.md +116 -0
- package/templates/claude-code/.claude/skills/productivity/write-a-skill/SKILL.md +59 -0
- package/templates/claude-code/.zoo-flow/CONTEXT.md +8 -0
- package/templates/claude-code/.zoo-flow/START_HERE.md +28 -0
- package/templates/claude-code/.zoo-flow/docs/adr/0001-record-architecture-decisions.md +22 -0
- package/templates/claude-code/.zoo-flow/evals/no-regression-checklist.md +26 -0
- package/templates/claude-code/.zoo-flow/evals/routing-cases.jsonl +18 -0
- package/templates/claude-code/.zoo-flow/evals/routing-cases.md +211 -0
- package/templates/claude-code/.zoo-flow/project-profile.json +24 -0
- 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
|
|
6
|
-
|
|
7
|
-
It does not try to be a giant skills pack. It makes
|
|
8
|
-
free-form requests are routed through
|
|
9
|
-
planning gates, implementation stays in
|
|
10
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
|
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
|
-
|
|
37
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
|