@fernado03/zoo-flow 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,76 +1,70 @@
1
1
  # Zoo Flow
2
2
 
3
- > **Smoke-tested workflow control plane for Zoo Code.**
4
-
5
- Zoo Flow is a small, opinionated template that turns [Zoo Code](https://docs.zoocode.dev/)
6
- into a predictable mode + command + skill orchestrator. It defines three
7
- modes, a fixed routing matrix, a command protocol, and path-safety rules.
8
- Drop it into a workspace and your AI assistant stops freelancing.
9
-
10
- ## Why this exists
11
-
12
- Out of the box, AI coding assistants tend to skip planning when you want
13
- planning, plan when you want a tweak, and quietly invent file paths that do
14
- not exist. Adding a pile of skills makes it worse.
15
-
16
- Zoo Flow takes a different bet:
17
-
18
- - A **router mode** chooses the workflow.
19
- - An **architect mode** plans, diagnoses, and triages — and cannot edit
20
- source code.
21
- - A **tweaker mode** implements, runs tests, prototypes, and commits — only
22
- when explicitly approved.
23
- - A small set of **slash commands** acts as the public API between you and
24
- the modes.
25
- - A few **always-on rules** keep the path layout honest and stop skill paths
26
- from drifting under `.roo/rules/`.
27
-
28
- Everything else is optional. The skills bundled in the template are a
29
- sensible starting point, not the point of the project.
30
-
31
- ## Why are the folders still named `.roo/`?
32
-
33
- Zoo Code keeps compatibility with Roo-style workspace paths. Project
34
- modes still live in `.roomodes`, project slash commands still live in
35
- `.roo/commands/`, and mode-specific rules still live in
36
- `.roo/rules-{mode-slug}/`.
37
-
38
- Zoo Flow uses Zoo Code as the primary target, but keeps those `.roo/`
39
- paths because they are the official Zoo Code configuration paths. See
40
- [the Zoo Code docs](https://docs.zoocode.dev/) for the canonical
41
- reference.
42
-
43
- Zoo Flow keeps skill discovery in [`docs/skills-index.md`](docs/skills-index.md),
44
- not `.roo/rules/`, so the always-loaded rule set stays small. Zoo Code
45
- loads everything in `.roo/rules/` on every turn, so that folder only
46
- contains rules needed every turn: path safety, the command protocol,
47
- and the manual-reply protocol.
48
-
49
- ## Core workflow
50
-
51
- ```mermaid
52
- flowchart TD
53
- User([User])
54
- Orchestrator[🪃 custom-orchestrator<br/>router only]
55
- Architect[🏗️ system-architect<br/>plan / diagnose / triage<br/>Markdown edits only]
56
- Tweaker[⚡ code-tweaker<br/>implement / test / prototype / commit]
57
-
58
- User -- "free-form request" --> Orchestrator
59
- Orchestrator -- "proposes /command, waits" --> User
60
- User -- "/tweak, /tdd, /update-docs,<br/>/commit-and-document, /prototype" --> Orchestrator
61
- User -- "/fix, /feature, /refactor,<br/>/explore, /triage" --> Orchestrator
62
-
63
- Orchestrator -- "new_task" --> Tweaker
64
- Orchestrator -- "new_task" --> Architect
65
-
66
- Architect -- "switch_mode (same window)" --> Tweaker
67
- Tweaker -- "switch_mode (same window)" --> Architect
68
-
69
- Tweaker -- "attempt_completion" --> Orchestrator
70
- Architect -- "attempt_completion" --> Orchestrator
71
- Orchestrator -- "summarize, HALT" --> User
3
+ > **Smoke-tested workflow control plane for [Zoo Code](https://docs.zoocode.dev/).**
4
+
5
+ A small, opinionated template that turns Zoo Code into a predictable
6
+ mode + command + skill orchestrator. Three modes, a fixed routing
7
+ matrix, a command protocol, and path-safety rules. Drop it into a
8
+ workspace and your AI assistant stops freelancing.
9
+
10
+ For the deeper rationale, see [`docs/overview.md`](docs/overview.md)
11
+ and [`docs/philosophy.md`](docs/philosophy.md).
12
+
13
+ ## Install
14
+
15
+ Run this from the root of the project where you use Zoo Code:
16
+
17
+ ```bash
18
+ npx @fernado03/zoo-flow@latest init
72
19
  ```
73
20
 
21
+ This copies only the runtime template (`.roomodes` and `.roo/`) into
22
+ your project. It does not copy this repository's `docs/` folder.
23
+
24
+ If `.roomodes` or `.roo/` already exist, Zoo Flow stops without
25
+ overwriting. To back up and overwrite:
26
+
27
+ ```bash
28
+ npx @fernado03/zoo-flow@latest init --force
29
+ ```
30
+
31
+ A timestamped backup is always written to `.zoo-flow-backup/` before
32
+ overwrite.
33
+
34
+ After install, reload VS Code (Command Palette → **Developer: Reload
35
+ Window**), open Zoo Code, switch to `custom-orchestrator`, and try a
36
+ small request like:
37
+
38
+ > change a harmless comment in `README`
39
+
40
+ Numbered choices are safe to click or type. Suggestions never carry
41
+ slash commands or mode names, so they will not route you into another
42
+ mode — see
43
+ [`docs/troubleshooting.md`](docs/troubleshooting.md#clickable-suggestions-can-route-incorrectly).
44
+
45
+ > **Note**: `.roomodes`, `.roo/commands/`, and `.roo/rules-{mode-slug}/`
46
+ > are kept as-is because they are the official Zoo Code configuration
47
+ > paths. Zoo Flow does not introduce a `.zoo/` directory.
48
+
49
+ ### Before using `/triage`, `/to-issues`, or `/to-prd`
50
+
51
+ Switch to `code-tweaker` and run `/setup-matt-pocock-skills` once per
52
+ repo. It seeds an `## Agent skills` block in `AGENTS.md` or
53
+ `CLAUDE.md` and a few files under `docs/agents/` so the issue and PRD
54
+ skills know your tracker, labels, and domain layout. Skip it if you
55
+ only plan to use `/tweak`, `/fix`, `/explore`, `/refactor`,
56
+ `/diagnose`, `/prototype`, `/update-docs`, or `/commit-and-document`.
57
+
58
+ ## Update
59
+
60
+ ```bash
61
+ npx @fernado03/zoo-flow@latest update
62
+ ```
63
+
64
+ Backs up your current `.roomodes` and `.roo/` to
65
+ `.zoo-flow-backup/<timestamp>/`, then replaces them with the latest
66
+ template. Preview with `--dry-run`.
67
+
74
68
  ## Modes
75
69
 
76
70
  | Slug | Name | Role | Edits allowed | Delegation |
@@ -79,26 +73,18 @@ flowchart TD
79
73
  | `system-architect` | 🏗️ System Architect | Planning, diagnosis, refactor design, exploration, triage. | Markdown, `.scratch/`, `docs/` | `switch_mode` to tweaker in same window |
80
74
  | `code-tweaker` | ⚡ Code Tweaker | Implementation, TDD, docs updates, prototypes, commits. | Full repo edits within the assigned command | `switch_mode` to architect in same window |
81
75
 
82
- Modes are defined in [`templates/full/.roomodes`](templates/full/.roomodes).
83
- The file is intentionally minimal — each mode's `customInstructions`
84
- points at the matching `.roo/rules-{modeSlug}/` folder, where the actual
85
- behavior lives. See [`docs/mode-rules.md`](docs/mode-rules.md) for the
86
- layout and the rationale.
87
-
88
- > Zoo Flow uses the preferred `.roo/rules-{modeSlug}/` directory form
89
- > only. Legacy single-file fallbacks such as `.roorules-{modeSlug}` and
90
- > `.clinerules-{modeSlug}` are not used by this template.
76
+ Modes are defined in
77
+ [`templates/full/.roomodes`](templates/full/.roomodes). The detailed
78
+ behavior lives in `.roo/rules-{modeSlug}/` folders. See
79
+ [`docs/mode-rules.md`](docs/mode-rules.md).
91
80
 
92
81
  ## Commands
93
82
 
94
- The orchestrator's routing matrix only routes the **core workflow
95
- commands**. Helper commands are still part of the template — you can run
96
- them directly in `system-architect` or `code-tweaker` when you need
97
- them. They are intentionally outside the routing matrix so the
98
- orchestrator stays focused on the workflows that benefit from
99
- delegation.
83
+ The orchestrator routes the **core** commands. **Helper** commands you
84
+ run directly inside `system-architect` or `code-tweaker` when you
85
+ need them.
100
86
 
101
- ### Core commands (routed by the orchestrator)
87
+ ### Core (routed by the orchestrator)
102
88
 
103
89
  | Command | Routes to | What it does |
104
90
  | ------------------------ | -------------------- | ----------------------------------------------------------- |
@@ -113,7 +99,7 @@ delegation.
113
99
  | `/explore` | `system-architect` | Map unfamiliar code before touching it. |
114
100
  | `/triage` | `system-architect` | Clean and prioritize an issue queue. |
115
101
 
116
- ### Helper commands (run directly when needed)
102
+ ### Helper (run directly when needed)
117
103
 
118
104
  | Command | Best run in | What it does |
119
105
  | -------------------------------- | -------------------- | ----------------------------------------------------------- |
@@ -129,197 +115,53 @@ delegation.
129
115
  | `/write-a-skill` | `code-tweaker` | Author a new skill following the bucket layout. |
130
116
  | `/setup-matt-pocock-skills` | `code-tweaker` | One-shot setup helper for the bundled skill set. |
131
117
 
132
- The full routing matrix lives in the orchestrator's `customInstructions`
133
- inside [`templates/full/.roomodes`](templates/full/.roomodes). The command
134
- files themselves live in
118
+ Command files live in
135
119
  [`templates/full/.roo/commands/`](templates/full/.roo/commands).
136
120
 
137
- ## Install
138
-
139
- Run this from the root of the project where you use Zoo Code:
140
-
141
- ```bash
142
- npx @fernado03/zoo-flow@latest init
143
- ```
144
-
145
- If the project already has `.roomodes` or `.roo/`, Zoo Flow will stop
146
- instead of overwriting.
147
-
148
- To back up and overwrite existing config:
149
-
150
- ```bash
151
- npx @fernado03/zoo-flow@latest init --force
152
- ```
153
-
154
- Zoo Flow installs only the runtime template:
155
-
156
- - `.roomodes`
157
- - `.roo/`
158
-
159
- It does not copy this repository's `docs/` folder into your project.
160
-
161
- > Zoo Flow overwrites `.roomodes` and `.roo/` only when you pass
162
- > `--force` or run `update`. It always creates a backup in
163
- > `.zoo-flow-backup/<timestamp>/`.
164
-
165
- After install, reload VS Code:
166
-
167
- > Command Palette → **Developer: Reload Window**
168
-
169
- Then open Zoo Code, switch to `custom-orchestrator`, and run the smoke
170
- test:
171
-
172
- > change a harmless comment in `README`
173
-
174
- When choices appear, manually type the number, e.g. `1`. Do not click
175
- suggestions that contain slash commands or mode names. See
176
- [`docs/troubleshooting.md`](docs/troubleshooting.md#clickable-suggestions-can-route-incorrectly).
177
-
178
- ## Quick start
121
+ ## Smoke tests
179
122
 
180
- ```bash
181
- npx @fernado03/zoo-flow@latest init
182
- ```
123
+ A short, fixed set of smoke tests in
124
+ [`docs/smoke-tests.md`](docs/smoke-tests.md) verifies routing, mode
125
+ boundaries, and skill loading. Worked examples:
183
126
 
184
- Then reload VS Code and run this in `custom-orchestrator`:
127
+ - [`examples/tweak-smoke-test.md`](examples/tweak-smoke-test.md)
128
+ - [`examples/fix-flow.md`](examples/fix-flow.md)
129
+ - [`examples/feature-flow.md`](examples/feature-flow.md)
185
130
 
186
- > change a harmless comment in `README`
131
+ ## How this is different
187
132
 
188
- When choices appear, type the number manually, for example `1`.
133
+ Zoo Flow is not a methodology and not a giant skills pack. It is a
134
+ thin Zoo-native control plane: three modes, a routing matrix, and a
135
+ path-safety contract that turn into a predictable workflow. For a
136
+ longer comparison with adjacent projects, see
137
+ [`docs/comparison.md`](docs/comparison.md).
189
138
 
190
139
  ## Manual install
191
140
 
192
141
  If you would rather copy the template by hand:
193
142
 
194
- ### macOS / Linux
195
-
196
143
  ```sh
197
144
  git clone https://github.com/Fernado03/zoo-flow.git /tmp/zoo-flow
198
145
  cp /tmp/zoo-flow/templates/full/.roomodes .
199
146
  cp -R /tmp/zoo-flow/templates/full/.roo .
200
147
  ```
201
148
 
202
- ### Windows (PowerShell)
203
-
204
- ```powershell
205
- git clone https://github.com/Fernado03/zoo-flow.git C:\Temp\zoo-flow
206
- Copy-Item C:\Temp\zoo-flow\templates\full\.roomodes .
207
- Copy-Item -Recurse C:\Temp\zoo-flow\templates\full\.roo .
208
- ```
209
-
210
- After copying:
211
-
212
- 1. Open the project in an editor running Zoo Code.
213
- 2. Confirm the three custom modes appear: `🪃 Custom Orchestrator`,
214
- `🏗️ System Architect`, `⚡ Code Tweaker`.
215
- 3. Switch to `custom-orchestrator` and start a new task.
216
-
217
- If a slash command does not run, see
218
- [`docs/troubleshooting.md`](docs/troubleshooting.md).
219
-
220
- ## Update Zoo Flow
221
-
222
- Run this from your project root:
223
-
224
- ```bash
225
- npx @fernado03/zoo-flow@latest update
226
- ```
227
-
228
- Zoo Flow backs up your current runtime config before replacing it:
229
-
230
- - `.roomodes`
231
- - `.roo/`
232
-
233
- Backups are stored in:
234
-
235
- ```text
236
- .zoo-flow-backup/<timestamp>/
237
- ```
149
+ Windows uses `git clone ... C:\Temp\zoo-flow` and `Copy-Item` instead.
238
150
 
239
- Preview without changing files:
240
-
241
- ```bash
242
- npx @fernado03/zoo-flow@latest update --dry-run
243
- ```
244
-
245
- Zoo Flow does not copy this repository's `docs/` folder into your
246
- project.
247
-
248
- ## Smoke tests
249
-
250
- The repo ships a fixed set of smoke tests in
251
- [`docs/smoke-tests.md`](docs/smoke-tests.md). They are short scripts you can
252
- run by hand inside Zoo Code to verify routing, mode boundaries,
253
- and skill loading. The first one — README tweak with no slash command —
254
- takes about a minute.
255
-
256
- When the orchestrator asks which workflow to use, **type the number
257
- manually**, for example `1`. Do not click suggestions that contain slash
258
- commands or mode names — clicking them can route incorrectly. See
259
- [`docs/troubleshooting.md`](docs/troubleshooting.md#clickable-suggestions-can-route-incorrectly).
260
-
261
- Example choice list:
262
-
263
- ```text
264
- 1. /tweak — small known implementation change
265
- 2. /update-docs — documentation-focused change
266
- 3. Hold — I will specify more detail
267
-
268
- Reply by typing only the number, e.g. 1.
269
- ```
270
-
271
- Worked examples for the most common flows live in
272
- [`examples/`](examples/):
273
-
274
- - [`tweak-smoke-test.md`](examples/tweak-smoke-test.md)
275
- - [`fix-flow.md`](examples/fix-flow.md)
276
- - [`feature-flow.md`](examples/feature-flow.md)
277
-
278
- ## Screenshots
279
-
280
- Screenshots and short clips of the orchestrator routing, the architect
281
- hand-off, and the tweaker running a slash command will land in
282
- [`assets/`](assets/) before the first tagged release.
283
-
284
- ## Roadmap
285
-
286
- - `templates/minimal/` — a stripped-down template with only the three modes,
287
- the path-safety rules, and `/tweak` + `/fix`.
288
- - Optional CI workflow that runs the smoke-test JSON validation on every
289
- PR.
290
- - A short demo video in `assets/`.
291
- - ADRs covering the three-mode split, the routing matrix, and the
292
- path-safety choice.
293
- - Guidance on integrating Zoo Flow alongside other workflow tools.
294
-
295
- ## How this is different
296
-
297
- Zoo Flow is not a methodology and it is not a giant skills pack. It is a
298
- **Zoo-native control plane**: a thin layer that turns three modes,
299
- a routing matrix, and a path-safety contract into a predictable workflow.
300
-
301
- For a longer comparison with adjacent projects, see
302
- [`docs/comparison.md`](docs/comparison.md).
303
-
304
- ## Migration note
151
+ ## Migration
305
152
 
306
153
  Zoo Flow started as a Roo Flow template and was renamed for Zoo Code.
307
154
  The `.roo/` folder names are intentionally preserved because Zoo Code
308
- still uses those paths for project modes, commands, rules, and skills.
309
- If you are migrating from a Roo Code workspace, copying the same
310
- `.roo/` directory and `.roomodes` file into a Zoo Code workspace is
311
- expected to keep working.
155
+ still uses those paths for project modes, commands, rules, and
156
+ skills. Migrating from a Roo Code workspace by copying the same
157
+ `.roo/` directory and `.roomodes` file is expected to keep working.
312
158
 
313
159
  ## Inspiration
314
160
 
315
- This project was inspired by Matt Pocock's agent-skills workflow ideas
316
- and his emphasis on small, composable, task-focused skills for coding
317
- agents.
318
-
319
- Zoo Flow is not affiliated with, endorsed by, or maintained by Matt
320
- Pocock. It is an independent Zoo Code workflow-control template
321
- focused on custom modes, delegation, command routing, and smoke-tested
322
- agent workflows.
161
+ Inspired by Matt Pocock's agent-skills workflow ideas — small,
162
+ composable, task-focused skills for coding agents. Zoo Flow is not
163
+ affiliated with, endorsed by, or maintained by him; it is an
164
+ independent Zoo Code workflow-control template.
323
165
 
324
166
  ## License
325
167
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fernado03/zoo-flow",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Smoke-tested workflow control plane for Zoo Code.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,13 +1,27 @@
1
1
  # Manual Reply Protocol
2
2
 
3
- For workflow routing choices, use numbered options and ask the user to type the number.
3
+ For workflow choices, put options in the suggestions, not in the question body. Map the chosen number back to a command privately.
4
+
5
+ Suggestions:
6
+
7
+ - Descriptive labels OK.
8
+ - No slash commands or mode names.
9
+ - Include a Hold/Skip option when relevant.
10
+
11
+ Question body:
12
+
13
+ - One short prompt. Real newlines only; never the literal `\n`.
14
+ - Do not restate the options.
15
+
16
+ Typed numeric reply is always valid.
4
17
 
5
18
  Example:
6
19
 
7
- 1. `/tweak`
8
- 2. `/fix`
9
- 3. Hold
20
+ Question: Pick a regression test option.
10
21
 
11
- Clickable suggestions, if shown, must be numeric only. Do not put slash commands or mode names in clickable suggestions.
22
+ 1. Import-time smoke test
23
+ 2. Extract helper and unit-test
24
+ 3. AST guard test
25
+ 4. Hold
12
26
 
13
27
  Only treat slash commands as commands when manually typed by the user.