@fernado03/zoo-flow 0.5.2 → 0.7.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 +105 -90
- package/bin/zoo-flow.js +405 -56
- package/docs/architecture.md +380 -0
- package/docs/bloat-control.md +49 -0
- package/docs/command-design.md +38 -0
- package/docs/command-flow.md +133 -0
- package/docs/comparison.md +86 -0
- package/docs/context-packs.md +35 -0
- package/docs/dogfood/01-small-library.md +28 -0
- package/docs/dogfood/02-web-app.md +29 -0
- package/docs/dogfood/03-mixed-monorepo.md +29 -0
- package/docs/mode-rules.md +86 -0
- package/docs/npm-publishing.md +79 -0
- package/docs/out-of-scope/mainstream-issue-trackers-only.md +25 -0
- package/docs/out-of-scope/question-limits.md +18 -0
- package/docs/out-of-scope/setup-skill-verify-mode.md +15 -0
- package/docs/overview.md +61 -0
- package/docs/philosophy.md +73 -0
- package/docs/quality-scorecard.md +23 -0
- package/docs/skill-maintenance.md +32 -0
- package/docs/skills-index.md +61 -0
- package/docs/team-mode.md +46 -0
- package/docs/token-budget.md +22 -0
- package/docs/troubleshooting.md +288 -0
- package/examples/demo-transcripts/01-small-tweak.md +37 -0
- package/examples/demo-transcripts/02-unknown-bug-fix.md +37 -0
- package/examples/demo-transcripts/03-new-feature.md +37 -0
- package/examples/demo-transcripts/04-refactor.md +37 -0
- package/examples/demo-transcripts/05-review-and-verify.md +37 -0
- package/examples/feature-flow.md +117 -0
- package/examples/fix-flow.md +139 -0
- package/package.json +16 -5
- package/quality/scorecard.json +88 -0
- package/quality/token-budget.exceptions.json +13 -0
- package/scripts/bundle.ps1 +135 -0
- package/scripts/check-golden-transcripts.js +69 -0
- package/scripts/check-package-links.js +72 -0
- package/scripts/check-package-manifest.js +70 -0
- package/scripts/eval-routing.js +149 -0
- package/scripts/score-quality.js +292 -0
- package/scripts/test-doctor.js +107 -0
- package/scripts/test-project-shapes.js +99 -0
- package/scripts/token-budget.js +105 -0
- package/templates/full/.roo/commands/caveman.md +1 -1
- package/templates/full/.roo/commands/diagnose.md +2 -1
- package/templates/full/.roo/commands/explore.md +13 -13
- package/templates/full/.roo/commands/feature.md +1 -1
- package/templates/full/.roo/commands/fix.md +1 -1
- package/templates/full/.roo/commands/grill-me.md +2 -1
- package/templates/full/.roo/commands/grill-with-docs.md +2 -1
- package/templates/full/.roo/commands/handoff.md +2 -1
- package/templates/full/.roo/commands/improve-codebase-architecture.md +2 -1
- package/templates/full/.roo/commands/prototype.md +1 -1
- package/templates/full/.roo/commands/refactor.md +1 -1
- package/templates/full/.roo/commands/review.md +11 -0
- package/templates/full/.roo/commands/scaffold-context.md +13 -13
- package/templates/full/.roo/commands/setup-matt-pocock-skills.md +8 -8
- package/templates/full/.roo/commands/tdd.md +1 -1
- package/templates/full/.roo/commands/to-issues.md +2 -1
- package/templates/full/.roo/commands/to-prd.md +2 -1
- package/templates/full/.roo/commands/triage.md +1 -1
- package/templates/full/.roo/commands/tweak.md +1 -1
- package/templates/full/.roo/commands/update-docs.md +22 -22
- package/templates/full/.roo/commands/verify.md +11 -0
- package/templates/full/.roo/commands/write-a-skill.md +2 -1
- package/templates/full/.roo/commands/zoom-out.md +2 -1
- package/templates/full/.roo/rules/01-command-protocol.md +1 -1
- package/templates/full/.roo/rules/04-context-economy.md +27 -29
- package/templates/full/.roo/rules-code-tweaker/01-completion.md +12 -8
- package/templates/full/.roo/rules-custom-orchestrator/00-routing.md +77 -63
- package/templates/full/.roo/rules-custom-orchestrator/01-delegation-message.md +59 -55
- package/templates/full/.roo/rules-system-architect/02-completion.md +6 -2
- package/templates/full/.roo/skills/engineering/README.md +2 -0
- package/templates/full/.roo/skills/engineering/commit-and-document/SKILL.md +1 -2
- package/templates/full/.roo/skills/engineering/grill-with-docs/ADR-FORMAT.md +1 -1
- package/templates/full/.roo/skills/engineering/grill-with-docs/CONTEXT-FORMAT.md +36 -61
- package/templates/full/.roo/skills/engineering/grill-with-docs/SKILL.md +1 -1
- package/templates/full/.roo/skills/engineering/improve-codebase-architecture/SKILL.md +3 -3
- package/templates/full/.roo/skills/engineering/prototype/SKILL.md +37 -37
- package/templates/full/.roo/skills/engineering/review/SKILL.md +111 -0
- package/templates/full/.roo/skills/engineering/scaffold-context/SKILL.md +218 -152
- package/templates/full/.roo/skills/engineering/scaffold-context/templates/writing-patterns.md +17 -0
- package/templates/full/.roo/skills/engineering/setup-matt-pocock-skills/SKILL.md +3 -3
- package/templates/full/.roo/skills/engineering/setup-matt-pocock-skills/domain.md +2 -3
- package/templates/full/.roo/skills/engineering/tdd/SKILL.md +2 -0
- package/templates/full/.roo/skills/engineering/to-prd/SKILL.md +57 -57
- package/templates/full/.roo/skills/engineering/tweak/SKILL.md +2 -1
- package/templates/full/.roo/skills/engineering/verify/SKILL.md +80 -0
- package/templates/full/.roo/skills/in-progress/README.md +0 -1
- package/templates/full/.roomodes +47 -47
- package/templates/full/.zoo-flow/CONTEXT.md +8 -8
- package/templates/full/.zoo-flow/START_HERE.md +61 -61
- package/templates/full/.zoo-flow/docs/adr/0001-record-architecture-decisions.md +22 -22
- package/templates/full/.zoo-flow/evals/no-regression-checklist.md +26 -24
- package/templates/full/.zoo-flow/evals/routing-cases.jsonl +20 -0
- package/templates/full/.zoo-flow/evals/routing-cases.md +213 -189
- package/templates/full/.zoo-flow/project-profile.json +24 -0
- package/tests/fixtures/bad-routing-cases/bad-json.jsonl +1 -0
- package/tests/fixtures/bad-routing-cases/bad-mode.jsonl +1 -0
- package/tests/fixtures/bad-routing-cases/missing-command.jsonl +1 -0
- package/tests/fixtures/doctor/bad-built-in-delegation/fixture.json +1 -0
- package/tests/fixtures/doctor/bad-mode-slug/fixture.json +1 -0
- package/tests/fixtures/doctor/bad-skill-wrapper/fixture.json +1 -0
- package/tests/fixtures/doctor/bad-zoo-path/fixture.json +1 -0
- package/tests/fixtures/doctor/helper-missing-mode/fixture.json +1 -0
- package/tests/fixtures/doctor/helper-not-permitted/fixture.json +1 -0
- package/tests/fixtures/doctor/manual-good-template/fixture.json +1 -0
- package/tests/fixtures/doctor/missing-command/fixture.json +1 -0
- package/tests/fixtures/doctor/missing-roomodes/fixture.json +1 -0
- package/tests/fixtures/doctor/missing-skill/fixture.json +1 -0
- package/tests/fixtures/project-shapes/cli-tool/cmd/root.go +1 -0
- package/tests/fixtures/project-shapes/cli-tool/fixture.json +1 -0
- package/tests/fixtures/project-shapes/cli-tool/package.json +1 -0
- package/tests/fixtures/project-shapes/data-pipeline/fixture.json +1 -0
- package/tests/fixtures/project-shapes/data-pipeline/pipelines/invoices.py +1 -0
- package/tests/fixtures/project-shapes/data-pipeline/pyproject.toml +2 -0
- package/tests/fixtures/project-shapes/library/fixture.json +1 -0
- package/tests/fixtures/project-shapes/library/package.json +1 -0
- package/tests/fixtures/project-shapes/library/src/index.ts +1 -0
- package/tests/fixtures/project-shapes/monorepo/fixture.json +1 -0
- package/tests/fixtures/project-shapes/monorepo/package.json +1 -0
- package/tests/fixtures/project-shapes/monorepo/packages/core/index.ts +1 -0
- package/tests/fixtures/project-shapes/monorepo/packages/web/index.ts +1 -0
- package/tests/fixtures/project-shapes/serverless/fixture.json +1 -0
- package/tests/fixtures/project-shapes/serverless/functions/webhook.ts +1 -0
- package/tests/fixtures/project-shapes/serverless/package.json +1 -0
- package/tests/fixtures/project-shapes/web-app/app/routes/index.tsx +1 -0
- package/tests/fixtures/project-shapes/web-app/fixture.json +1 -0
- package/tests/fixtures/project-shapes/web-app/package.json +1 -0
- package/tests/golden-transcripts/01-small-tweak-golden.md +21 -0
- package/tests/golden-transcripts/02-diagnosis-golden.md +26 -0
- package/tests/golden-transcripts/03-verification-golden.md +24 -0
- package/tests/golden-transcripts/04-review-golden.md +26 -0
- package/tests/golden-transcripts/05-feature-planning-golden.md +23 -0
- package/templates/full/.roo/skills/in-progress/review/SKILL.md +0 -39
package/templates/full/.roomodes
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
{
|
|
2
|
-
"customModes": [
|
|
3
|
-
{
|
|
4
|
-
"slug": "code-tweaker",
|
|
5
|
-
"name": "⚡ Code Tweaker",
|
|
6
|
-
"roleDefinition": "You are an Execution Specialist. You implement, test, update docs, prototype, and commit when explicitly approved.",
|
|
7
|
-
"whenToUse": "Use for small or well-understood implementation, CSS/UI changes, TDD loops, documentation updates, runnable prototypes, known fixes, and approved commits. Do not make broad architecture decisions.",
|
|
8
|
-
"description": "Fast execution for tweaks, TDD, docs, prototypes, and approved commits.",
|
|
9
|
-
"customInstructions": "Use `.roo/rules-code-tweaker/` for mode-specific behavior.\n\nPermitted commands: /tweak, /tdd, /update-docs, /commit-and-document, /prototype, /scaffold-context.\n\nFollow `.roo/rules/01-command-protocol.md` to load and execute commands. Follow `.roo/rules/00-paths.md` for path safety. Follow `.roo/rules/03-manual-reply-protocol.md` when asking the user to choose, approve, or continue.\n\nIf assigned
|
|
10
|
-
"groups": [
|
|
11
|
-
"read",
|
|
12
|
-
"edit",
|
|
13
|
-
"command",
|
|
14
|
-
"mcp"
|
|
15
|
-
]
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"slug": "system-architect",
|
|
19
|
-
"name": "🏗️ System Architect",
|
|
20
|
-
"roleDefinition": "You are a System Architect. You plan, diagnose, explore, triage, and design. You do NOT write implementation code.",
|
|
21
|
-
"whenToUse": "Use for unknown bugs, feature planning, architecture/refactor design, codebase exploration, and issue triage. Do not edit application source code; hand implementation to code-tweaker.",
|
|
22
|
-
"description": "Planning, diagnosis, refactor design, exploration, and triage.",
|
|
23
|
-
"customInstructions": "Use `.roo/rules-system-architect/` for mode-specific behavior.\n\nPermitted commands: /feature, /fix, /refactor, /explore, /triage.\n\nFollow `.roo/rules/01-command-protocol.md` to load and execute commands. Follow `.roo/rules/00-paths.md` for path safety. Follow `.roo/rules/03-manual-reply-protocol.md` when asking the user to choose, approve, or continue.\n\nIf assigned
|
|
24
|
-
"groups": [
|
|
25
|
-
"command",
|
|
26
|
-
"mcp",
|
|
27
|
-
"read",
|
|
28
|
-
[
|
|
29
|
-
"edit",
|
|
30
|
-
{
|
|
31
|
-
"fileRegex": "(.*\\.md$|^\\.scratch/.*|^docs/.*)",
|
|
32
|
-
"description": "Markdown files, .scratch/, and docs/ directories only"
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"slug": "custom-orchestrator",
|
|
39
|
-
"name": "🪃 Custom Orchestrator",
|
|
40
|
-
"roleDefinition": "You are a PM and router. You choose workflows and delegate subtasks. You NEVER inspect implementation files, write code, or use switch_mode.",
|
|
41
|
-
"whenToUse": "Use as the default entry mode for normal user requests. Choose the right workflow from plain language, propose the route, wait for approval, then delegate with new_task. Use slash commands only when the user explicitly invokes them.",
|
|
42
|
-
"description": "Router that consults, delegates, and waits for user direction.",
|
|
43
|
-
"customInstructions": "Use `.roo/rules-custom-orchestrator/` for mode-specific behavior.\n\nRoute only these commands. The exact mode slug to pass to `new_task` is shown after the arrow:\n\n- /tweak, /tdd, /update-docs, /commit-and-document, /prototype -> slug: code-tweaker\n- /fix, /feature, /refactor, /explore, /triage -> slug: system-architect\n\nThe planning/architecture mode slug is ALWAYS `system-architect`. Never use `architect`.\n\nPropose, then wait for approval before delegating. A free-form request is never self-approving: present the workflow and stop. Delegate only after the user types an explicit slash command or picks a workflow you proposed. See `.roo/rules-custom-orchestrator/00-routing.md` (Approval gate).\n\nUse `new_task` only. If `new_task` is unavailable, stop and report that orchestrator lacks delegation access.\n\nFollow `.roo/rules/03-manual-reply-protocol.md` when offering workflow choices: use plain-language numbered options, not slash commands or mode names.\n\nNever use built-in/default modes for new_task. Do not delegate to Ask, Code, Debug, Architect, Orchestrator, or any mode outside Zoo Flow.\n\nFor analysis/review/inspection tasks, use slug: system-architect.\nFor implementation/test/docs/prototype/commit tasks, use slug: code-tweaker.",
|
|
44
|
-
"groups": []
|
|
45
|
-
}
|
|
46
|
-
]
|
|
47
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"customModes": [
|
|
3
|
+
{
|
|
4
|
+
"slug": "code-tweaker",
|
|
5
|
+
"name": "⚡ Code Tweaker",
|
|
6
|
+
"roleDefinition": "You are an Execution Specialist. You implement, test, update docs, prototype, and commit when explicitly approved.",
|
|
7
|
+
"whenToUse": "Use for small or well-understood implementation, CSS/UI changes, TDD loops, documentation updates, runnable prototypes, known fixes, and approved commits. Do not make broad architecture decisions.",
|
|
8
|
+
"description": "Fast execution for tweaks, TDD, docs, prototypes, and approved commits.",
|
|
9
|
+
"customInstructions": "Use `.roo/rules-code-tweaker/` for mode-specific behavior.\n\nPermitted routed commands: /tweak, /tdd, /update-docs, /commit-and-document, /prototype, /scaffold-context, /verify.\n\nPermitted direct helper commands: /write-a-skill, /setup-matt-pocock-skills.\n\nFollow `.roo/rules/01-command-protocol.md` to load and execute commands. Follow `.roo/rules/00-paths.md` for path safety. Follow `.roo/rules/03-manual-reply-protocol.md` when asking the user to choose, approve, or continue.\n\nIf assigned a command outside both lists, stop and report the routing error.",
|
|
10
|
+
"groups": [
|
|
11
|
+
"read",
|
|
12
|
+
"edit",
|
|
13
|
+
"command",
|
|
14
|
+
"mcp"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"slug": "system-architect",
|
|
19
|
+
"name": "🏗️ System Architect",
|
|
20
|
+
"roleDefinition": "You are a System Architect. You plan, diagnose, explore, triage, and design. You do NOT write implementation code.",
|
|
21
|
+
"whenToUse": "Use for unknown bugs, feature planning, architecture/refactor design, codebase exploration, and issue triage. Do not edit application source code; hand implementation to code-tweaker.",
|
|
22
|
+
"description": "Planning, diagnosis, refactor design, exploration, and triage.",
|
|
23
|
+
"customInstructions": "Use `.roo/rules-system-architect/` for mode-specific behavior.\n\nPermitted routed commands: /feature, /fix, /refactor, /explore, /triage, /review.\n\nPermitted direct helper commands: /diagnose, /grill-with-docs, /improve-codebase-architecture, /to-prd, /to-issues, /zoom-out, /handoff, /grill-me.\n\nFollow `.roo/rules/01-command-protocol.md` to load and execute commands. Follow `.roo/rules/00-paths.md` for path safety. Follow `.roo/rules/03-manual-reply-protocol.md` when asking the user to choose, approve, or continue.\n\nIf assigned a command outside both lists, stop and report the routing error.",
|
|
24
|
+
"groups": [
|
|
25
|
+
"command",
|
|
26
|
+
"mcp",
|
|
27
|
+
"read",
|
|
28
|
+
[
|
|
29
|
+
"edit",
|
|
30
|
+
{
|
|
31
|
+
"fileRegex": "(.*\\.md$|^\\.scratch/.*|^docs/.*)",
|
|
32
|
+
"description": "Markdown files, .scratch/, and docs/ directories only"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"slug": "custom-orchestrator",
|
|
39
|
+
"name": "🪃 Custom Orchestrator",
|
|
40
|
+
"roleDefinition": "You are a PM and router. You choose workflows and delegate subtasks. You NEVER inspect implementation files, write code, or use switch_mode.",
|
|
41
|
+
"whenToUse": "Use as the default entry mode for normal user requests. Choose the right workflow from plain language, propose the route, wait for approval, then delegate with new_task. Use slash commands only when the user explicitly invokes them.",
|
|
42
|
+
"description": "Router that consults, delegates, and waits for user direction.",
|
|
43
|
+
"customInstructions": "Use `.roo/rules-custom-orchestrator/` for mode-specific behavior.\n\nRoute only these commands. The exact mode slug to pass to `new_task` is shown after the arrow:\n\n- /tweak, /tdd, /update-docs, /commit-and-document, /prototype, /verify -> slug: code-tweaker\n- /fix, /feature, /refactor, /explore, /triage, /review -> slug: system-architect\n\nThe planning/architecture mode slug is ALWAYS `system-architect`. Never use `architect`.\n\nPropose, then wait for approval before delegating. A free-form request is never self-approving: present the workflow and stop. Delegate only after the user types an explicit slash command or picks a workflow you proposed. See `.roo/rules-custom-orchestrator/00-routing.md` (Approval gate).\n\nUse `new_task` only. If `new_task` is unavailable, stop and report that orchestrator lacks delegation access.\n\nFollow `.roo/rules/03-manual-reply-protocol.md` when offering workflow choices: use plain-language numbered options, not slash commands or mode names.\n\nNever use built-in/default modes for new_task. Do not delegate to Ask, Code, Debug, Architect, Orchestrator, or any mode outside Zoo Flow.\n\nFor analysis/review/inspection tasks, use slug: system-architect.\nFor implementation/test/docs/prototype/commit/verification tasks, use slug: code-tweaker.",
|
|
44
|
+
"groups": []
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Context
|
|
2
|
-
<!-- Domain language, terms, and ambiguities for this project. Run /grill-with-docs to fill. -->
|
|
3
|
-
|
|
4
|
-
## Language
|
|
5
|
-
<!-- Term: 1-2 sentence definition. _Avoid_: aliases. -->
|
|
6
|
-
|
|
7
|
-
## Flagged ambiguities
|
|
8
|
-
<!-- "X means Y, not Z." -->
|
|
1
|
+
# Context
|
|
2
|
+
<!-- Domain language, terms, and ambiguities for this project. Run /grill-with-docs to fill. -->
|
|
3
|
+
|
|
4
|
+
## Language
|
|
5
|
+
<!-- Term: 1-2 sentence definition. _Avoid_: aliases. -->
|
|
6
|
+
|
|
7
|
+
## Flagged ambiguities
|
|
8
|
+
<!-- "X means Y, not Z." -->
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# Zoo Flow Quick Start
|
|
2
|
-
|
|
3
|
-
## After installation
|
|
4
|
-
|
|
5
|
-
1. Start in Custom Orchestrator mode.
|
|
6
|
-
|
|
7
|
-
2. For an existing project, bootstrap project context:
|
|
8
|
-
|
|
9
|
-
`/scaffold-context`
|
|
10
|
-
|
|
11
|
-
This scans the codebase and proposes initial `.zoo-flow/CONTEXT.md` terms plus optional starter ADRs. It asks before writing anything.
|
|
12
|
-
|
|
13
|
-
3. If you plan to use PRDs, issue slicing, or triage, configure agent skill metadata:
|
|
14
|
-
|
|
15
|
-
`/setup-matt-pocock-skills`
|
|
16
|
-
|
|
17
|
-
This sets up issue tracker, triage label, and domain-doc configuration used by PRD, issue, and triage workflows.
|
|
18
|
-
|
|
19
|
-
4. After that, describe tasks normally. You do not need slash commands unless you already know the workflow.
|
|
20
|
-
|
|
21
|
-
## First-run checklist
|
|
22
|
-
|
|
23
|
-
- [ ] Custom Orchestrator mode is selected.
|
|
24
|
-
- [ ] Run `/scaffold-context` for an existing codebase.
|
|
25
|
-
- [ ] Run `/setup-matt-pocock-skills` if using PRDs, issue slicing, or triage.
|
|
26
|
-
- [ ] Start normal work by describing the task in plain language.
|
|
27
|
-
|
|
28
|
-
## Common requests
|
|
29
|
-
|
|
30
|
-
| What you want | What Zoo Flow will likely do |
|
|
31
|
-
|---|---|
|
|
32
|
-
| Small obvious edit | Small implementation workflow |
|
|
33
|
-
| Known localized fix | Small implementation workflow |
|
|
34
|
-
| Bug with unknown cause | Diagnosis workflow |
|
|
35
|
-
| New feature needing planning | Feature planning workflow |
|
|
36
|
-
| Improve structure without behavior change | Refactor workflow |
|
|
37
|
-
| Understand unfamiliar area | Exploration workflow |
|
|
38
|
-
| Write tests first | TDD workflow |
|
|
39
|
-
| Update docs | Documentation workflow |
|
|
40
|
-
| Commit finished work | Commit + journal workflow |
|
|
41
|
-
|
|
42
|
-
## What the orchestrator will show you
|
|
43
|
-
|
|
44
|
-
For normal requests, the orchestrator should recommend plain-language workflows, not slash commands.
|
|
45
|
-
|
|
46
|
-
Example:
|
|
47
|
-
|
|
48
|
-
> "This looks like a small implementation change. Proceed?"
|
|
49
|
-
|
|
50
|
-
Slash commands below are optional shortcuts for users who already know the workflow.
|
|
51
|
-
|
|
52
|
-
## Power-user shortcuts
|
|
53
|
-
|
|
54
|
-
You may type slash commands directly when you already know the workflow, but this is optional.
|
|
55
|
-
|
|
56
|
-
Examples:
|
|
57
|
-
|
|
58
|
-
- `/tweak change button copy`
|
|
59
|
-
- `/fix checkout crashes after payment`
|
|
60
|
-
- `/feature add team invitations`
|
|
61
|
-
- `/refactor simplify auth service`
|
|
1
|
+
# Zoo Flow Quick Start
|
|
2
|
+
|
|
3
|
+
## After installation
|
|
4
|
+
|
|
5
|
+
1. Start in Custom Orchestrator mode.
|
|
6
|
+
|
|
7
|
+
2. For an existing project, bootstrap project context:
|
|
8
|
+
|
|
9
|
+
`/scaffold-context`
|
|
10
|
+
|
|
11
|
+
This scans the codebase and proposes initial `.zoo-flow/CONTEXT.md` terms plus optional starter ADRs. It asks before writing anything.
|
|
12
|
+
|
|
13
|
+
3. If you plan to use PRDs, issue slicing, or triage, configure agent skill metadata:
|
|
14
|
+
|
|
15
|
+
`/setup-matt-pocock-skills`
|
|
16
|
+
|
|
17
|
+
This sets up issue tracker, triage label, and domain-doc configuration used by PRD, issue, and triage workflows.
|
|
18
|
+
|
|
19
|
+
4. After that, describe tasks normally. You do not need slash commands unless you already know the workflow.
|
|
20
|
+
|
|
21
|
+
## First-run checklist
|
|
22
|
+
|
|
23
|
+
- [ ] Custom Orchestrator mode is selected.
|
|
24
|
+
- [ ] Run `/scaffold-context` for an existing codebase.
|
|
25
|
+
- [ ] Run `/setup-matt-pocock-skills` if using PRDs, issue slicing, or triage.
|
|
26
|
+
- [ ] Start normal work by describing the task in plain language.
|
|
27
|
+
|
|
28
|
+
## Common requests
|
|
29
|
+
|
|
30
|
+
| What you want | What Zoo Flow will likely do |
|
|
31
|
+
|---|---|
|
|
32
|
+
| Small obvious edit | Small implementation workflow |
|
|
33
|
+
| Known localized fix | Small implementation workflow |
|
|
34
|
+
| Bug with unknown cause | Diagnosis workflow |
|
|
35
|
+
| New feature needing planning | Feature planning workflow |
|
|
36
|
+
| Improve structure without behavior change | Refactor workflow |
|
|
37
|
+
| Understand unfamiliar area | Exploration workflow |
|
|
38
|
+
| Write tests first | TDD workflow |
|
|
39
|
+
| Update docs | Documentation workflow |
|
|
40
|
+
| Commit finished work | Commit + journal workflow |
|
|
41
|
+
|
|
42
|
+
## What the orchestrator will show you
|
|
43
|
+
|
|
44
|
+
For normal requests, the orchestrator should recommend plain-language workflows, not slash commands.
|
|
45
|
+
|
|
46
|
+
Example:
|
|
47
|
+
|
|
48
|
+
> "This looks like a small implementation change. Proceed?"
|
|
49
|
+
|
|
50
|
+
Slash commands below are optional shortcuts for users who already know the workflow.
|
|
51
|
+
|
|
52
|
+
## Power-user shortcuts
|
|
53
|
+
|
|
54
|
+
You may type slash commands directly when you already know the workflow, but this is optional.
|
|
55
|
+
|
|
56
|
+
Examples:
|
|
57
|
+
|
|
58
|
+
- `/tweak change button copy`
|
|
59
|
+
- `/fix checkout crashes after payment`
|
|
60
|
+
- `/feature add team invitations`
|
|
61
|
+
- `/refactor simplify auth service`
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
# 1. Record architecture decisions
|
|
2
|
-
|
|
3
|
-
Date: <YYYY-MM-DD>
|
|
4
|
-
|
|
5
|
-
## Status
|
|
6
|
-
|
|
7
|
-
Accepted.
|
|
8
|
-
|
|
9
|
-
## Context
|
|
10
|
-
|
|
11
|
-
We need to record significant architectural decisions so future contributors
|
|
12
|
-
(including AI agents) understand why the project is shaped the way it is.
|
|
13
|
-
Use this template: copy the file, rename to `NNNN-slug.md`, fill the three
|
|
14
|
-
sections below.
|
|
15
|
-
|
|
16
|
-
## Decision
|
|
17
|
-
|
|
18
|
-
What we chose to do.
|
|
19
|
-
|
|
20
|
-
## Consequences
|
|
21
|
-
|
|
22
|
-
What becomes easier. What becomes harder. What we trade away.
|
|
1
|
+
# 1. Record architecture decisions
|
|
2
|
+
|
|
3
|
+
Date: <YYYY-MM-DD>
|
|
4
|
+
|
|
5
|
+
## Status
|
|
6
|
+
|
|
7
|
+
Accepted.
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
|
|
11
|
+
We need to record significant architectural decisions so future contributors
|
|
12
|
+
(including AI agents) understand why the project is shaped the way it is.
|
|
13
|
+
Use this template: copy the file, rename to `NNNN-slug.md`, fill the three
|
|
14
|
+
sections below.
|
|
15
|
+
|
|
16
|
+
## Decision
|
|
17
|
+
|
|
18
|
+
What we chose to do.
|
|
19
|
+
|
|
20
|
+
## Consequences
|
|
21
|
+
|
|
22
|
+
What becomes easier. What becomes harder. What we trade away.
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
# Zoo Flow No-Regression Checklist
|
|
2
|
-
|
|
3
|
-
Before accepting workflow changes, verify:
|
|
4
|
-
|
|
5
|
-
- [ ] Users can start in Custom Orchestrator and describe tasks normally.
|
|
6
|
-
- [ ] Slash commands are optional power-user overrides.
|
|
7
|
-
- [ ] No `/choose` command exists.
|
|
8
|
-
- [ ] Free-form requests require route proposal and user approval before delegation.
|
|
9
|
-
- [ ] Explicit slash commands route immediately.
|
|
10
|
-
- [ ] Orchestrator delegates only with `new_task`.
|
|
11
|
-
- [ ] Orchestrator delegates only to `code-tweaker` or `system-architect`.
|
|
12
|
-
- [ ] Code Tweaker does not make architecture decisions.
|
|
13
|
-
- [ ] System Architect does not edit application source code.
|
|
14
|
-
- [ ] CONTEXT.md / ADRs are read only when useful or command-required.
|
|
15
|
-
- [ ] Small known changes prefer the lightest safe workflow.
|
|
16
|
-
- [ ] High-risk changes keep approval gates.
|
|
17
|
-
- [ ] Commit and push still require explicit approval.
|
|
18
|
-
- [ ] Free-form routing recommendations use plain-language workflow names, not slash command names.
|
|
19
|
-
- [ ] Slash command names appear only when the user explicitly invokes them, asks for syntax, or inside internal delegation context.
|
|
20
|
-
- [ ] README links to `.zoo-flow/START_HERE.md`.
|
|
21
|
-
- [ ] README does not duplicate the full Zoo Flow onboarding guide.
|
|
22
|
-
- [ ] `.zoo-flow/START_HERE.md` remains the source of truth for first-run initialization.
|
|
23
|
-
- [ ] First-run guidance explains `/scaffold-context` and `/setup-matt-pocock-skills`.
|
|
24
|
-
- [ ] Custom Orchestrator never delegates to built-in/default Ask mode.
|
|
1
|
+
# Zoo Flow No-Regression Checklist
|
|
2
|
+
|
|
3
|
+
Before accepting workflow changes, verify:
|
|
4
|
+
|
|
5
|
+
- [ ] Users can start in Custom Orchestrator and describe tasks normally.
|
|
6
|
+
- [ ] Slash commands are optional power-user overrides.
|
|
7
|
+
- [ ] No `/choose` command exists.
|
|
8
|
+
- [ ] Free-form requests require route proposal and user approval before delegation.
|
|
9
|
+
- [ ] Explicit slash commands route immediately.
|
|
10
|
+
- [ ] Orchestrator delegates only with `new_task`.
|
|
11
|
+
- [ ] Orchestrator delegates only to `code-tweaker` or `system-architect`.
|
|
12
|
+
- [ ] Code Tweaker does not make architecture decisions.
|
|
13
|
+
- [ ] System Architect does not edit application source code.
|
|
14
|
+
- [ ] CONTEXT.md / ADRs are read only when useful or command-required.
|
|
15
|
+
- [ ] Small known changes prefer the lightest safe workflow.
|
|
16
|
+
- [ ] High-risk changes keep approval gates.
|
|
17
|
+
- [ ] Commit and push still require explicit approval.
|
|
18
|
+
- [ ] Free-form routing recommendations use plain-language workflow names, not slash command names.
|
|
19
|
+
- [ ] Slash command names appear only when the user explicitly invokes them, asks for syntax, or inside internal delegation context.
|
|
20
|
+
- [ ] README links to `.zoo-flow/START_HERE.md`.
|
|
21
|
+
- [ ] README does not duplicate the full Zoo Flow onboarding guide.
|
|
22
|
+
- [ ] `.zoo-flow/START_HERE.md` remains the source of truth for first-run initialization.
|
|
23
|
+
- [ ] First-run guidance explains `/scaffold-context` and `/setup-matt-pocock-skills`.
|
|
24
|
+
- [ ] Custom Orchestrator never delegates to built-in/default Ask mode.
|
|
25
25
|
- [ ] Analysis, review, inspection, and safety-check subtasks route to `system-architect`.
|
|
26
26
|
- [ ] Implementation, tests, docs, prototype, and commit subtasks route to `code-tweaker`.
|
|
27
|
+
- [ ] Verification requests route to `code-tweaker`.
|
|
28
|
+
- [ ] Non-trivial work suggests `/verify` and `/review` before `/commit-and-document` but does not auto-launch them.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{"name":"small implementation","user":"Fix typo in README heading","expected_workflow":"small implementation","expected_command":"/tweak","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["/tweak","code-tweaker","Ask mode"],"risk":"R1","context_required":false}
|
|
2
|
+
{"name":"test-first","user":"Add a slugify helper for article URLs. I want it test-first.","expected_workflow":"test-first","expected_command":"/tdd","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["/tdd","code-tweaker","Ask mode"],"risk":"R2","context_required":false}
|
|
3
|
+
{"name":"documentation update","user":"The architecture docs describe an old checkout flow. Bring them in line with code.","expected_workflow":"documentation update","expected_command":"/update-docs","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["/update-docs","code-tweaker","Ask mode"],"risk":"R2","context_required":true}
|
|
4
|
+
{"name":"commit and journal","user":"Commit the finished change and add a journal entry.","expected_workflow":"commit and journal","expected_command":"/commit-and-document","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["/commit-and-document","code-tweaker","Ask mode"],"risk":"R1","context_required":false}
|
|
5
|
+
{"name":"prototype","user":"I am not sure if search ranking should run inline or in a queue. Try both.","expected_workflow":"prototype","expected_command":"/prototype","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["/prototype","code-tweaker","Ask mode"],"risk":"R2","context_required":false}
|
|
6
|
+
{"name":"diagnosis","user":"Checkout randomly crashes after payment. It used to work.","expected_workflow":"diagnosis","expected_command":"/fix","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/fix","system-architect","Ask mode"],"risk":"R3","context_required":true}
|
|
7
|
+
{"name":"feature planning","user":"Add team invitations with email invites and pending invite states.","expected_workflow":"feature planning","expected_command":"/feature","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/feature","system-architect","Ask mode"],"risk":"R4","context_required":true}
|
|
8
|
+
{"name":"refactor planning","user":"The auth module is hard to change. Decouple provider-specific logic.","expected_workflow":"refactor planning","expected_command":"/refactor","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/refactor","system-architect","Ask mode"],"risk":"R4","context_required":true}
|
|
9
|
+
{"name":"exploration","user":"I need to change billing but I do not know where that logic lives.","expected_workflow":"exploration","expected_command":"/explore","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/explore","system-architect","Ask mode"],"risk":"R2","context_required":false}
|
|
10
|
+
{"name":"issue triage","user":"Triage these incoming support bugs into tracker issues.","expected_workflow":"issue triage","expected_command":"/triage","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/triage","system-architect","Ask mode"],"risk":"R2","context_required":false}
|
|
11
|
+
{"name":"review","user":"Review this branch before I commit it.","expected_workflow":"review","expected_command":"/review","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/review","system-architect","Ask mode"],"risk":"R2","context_required":true}
|
|
12
|
+
{"name":"verification","user":"Run tests for this change and make sure nothing broke.","expected_workflow":"verification","expected_command":"/verify","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["/verify","code-tweaker","Ask mode"],"risk":"R2","context_required":false}
|
|
13
|
+
{"name":"R5 auth security migration","user":"Migrate auth session storage and preserve existing user sessions.","expected_workflow":"feature planning","expected_command":"/feature","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/feature","system-architect","Ask mode","Code mode"],"risk":"R5","context_required":true}
|
|
14
|
+
{"name":"deep inspection no Ask","user":"Do you think these changes are beneficial? Inspect deeply if it affects the system.","expected_workflow":"review","expected_command":"/review","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["Ask mode","Architect mode","ask"],"risk":"R3","context_required":true}
|
|
15
|
+
{"name":"explicit slash command approval","user":"/tweak rename the cancel button to close.","expected_workflow":"small implementation","expected_command":"/tweak","expected_mode":"code-tweaker","must_require_approval":false,"must_not_include":["approval pending","Ask mode"],"risk":"R1","context_required":false}
|
|
16
|
+
{"name":"free-form approval required","user":"Rename the cancel button to close.","expected_workflow":"small implementation","expected_command":"/tweak","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["/tweak","code-tweaker","Ask mode"],"risk":"R1","context_required":false}
|
|
17
|
+
{"name":"R4 cross-module design","user":"Split the monolith billing module into three services.","expected_workflow":"refactor planning","expected_command":"/refactor","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/refactor","system-architect","Ask mode"],"risk":"R4","context_required":true,"forbidden_followups":["/tweak","/tdd"]}
|
|
18
|
+
{"name":"R3 behavior change with clear interface","user":"Add a rate limiter to the public API. 100 req/min per key.","expected_workflow":"test-first","expected_command":"/tdd","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["/tdd","code-tweaker","Ask mode"],"risk":"R3","context_required":true,"recommended_followup":"/verify"}
|
|
19
|
+
{"name":"no doc bloat for small tweak","user":"Change the Save button text to Submit.","expected_workflow":"small implementation","expected_command":"/tweak","expected_mode":"code-tweaker","must_require_approval":true,"must_not_include":["architecture docs","domain docs","CONTEXT.md"],"risk":"R1","context_required":false,"no_doc_bloat":true}
|
|
20
|
+
{"name":"diagnosis with cause unknown","user":"The payment webhook stopped firing after the last deploy.","expected_workflow":"diagnosis","expected_command":"/fix","expected_mode":"system-architect","must_require_approval":true,"must_not_include":["/fix","system-architect","Ask mode"],"risk":"R4","context_required":true}
|