flow-cc 0.4.0 → 0.4.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/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.4.2] - 2026-02-11
9
+
10
+ ### Fixed
11
+ - `/flow:spec` Phase 1 codebase scan now delegates to 3 parallel Explore subagents instead of reading files into main context — saves 200-500 lines of context before the interview starts
12
+ - Added plan mode warnings to `/flow:spec` and `/flow:go` — plan mode's read-only constraint breaks both skills
13
+ - Added Plan Mode Compatibility section to DESIGN.md documenting the design philosophy
14
+
15
+ ## [0.4.1] - 2026-02-11
16
+
17
+ ### Fixed
18
+ - `/flow:update` changelog display — `require.resolve` fails under npx; replaced with `--changelog` flag on install.js
19
+
8
20
  ## [0.4.0] - 2026-02-11
9
21
 
10
22
  ### Added
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.4.2
package/bin/install.js CHANGED
@@ -29,6 +29,18 @@ const versionFile = path.join(pkgRoot, 'VERSION');
29
29
 
30
30
  const uninstall = process.argv.includes('--uninstall') || process.argv.includes('-u');
31
31
  const verify = process.argv.includes('--verify') || process.argv.includes('-v');
32
+ const changelog = process.argv.includes('--changelog');
33
+
34
+ // ---------- Changelog ----------
35
+ if (changelog) {
36
+ const changelogPath = path.join(pkgRoot, 'CHANGELOG.md');
37
+ try {
38
+ console.log(fs.readFileSync(changelogPath, 'utf8'));
39
+ } catch (e) {
40
+ console.log('CHANGELOG not available');
41
+ }
42
+ process.exit(0);
43
+ }
32
44
 
33
45
  // ---------- Verify ----------
34
46
  if (verify) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flow-cc",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Structured workflow system for Claude Code — spec interviews, agent-team execution, session handoffs, compounding knowledge",
5
5
  "author": "Troy Hoffman",
6
6
  "license": "MIT",
package/skills/flow-go.md CHANGED
@@ -10,6 +10,8 @@ You are executing the `/flow:go` skill. This reads the PRD, identifies the next
10
10
 
11
11
  **Core principle:** The PRD is the execution contract. You execute what it specifies. Do not freelance.
12
12
 
13
+ **Plan mode warning:** Do NOT use this skill with plan mode enabled. `/flow:go` is execution — plan mode's read-only constraint prevents it from creating files, running agents, and committing work. The PRD IS your plan; run `/flow:go` in normal mode.
14
+
13
15
  ## Step 1 — Orient
14
16
 
15
17
  Read these files (in parallel):
@@ -10,18 +10,29 @@ You are executing the `/flow:spec` skill. This is the KEYSTONE skill of the flow
10
10
 
11
11
  **Interview mode:** Always thorough by default. The user can say "done", "finalize", "that's enough", or "move on" at ANY time to wrap up early. Respect their signal and finalize with whatever depth has been achieved.
12
12
 
13
+ **Plan mode warning:** Do NOT use this skill with plan mode enabled. Plan mode's read-only constraint prevents PRD.md from being written during the interview. `/flow:spec` IS the planning phase — plan mode on top of it is redundant and breaks the workflow.
14
+
13
15
  ## Phase 1 — Context Gathering (automatic, no user input needed)
14
16
 
15
17
  1. Read `.planning/STATE.md` and `.planning/ROADMAP.md` — understand current milestone and what's done
16
18
  2. Read `CLAUDE.md` — understand project rules and tech stack
17
19
  3. Read `PRD.md` if it exists — check for existing spec to build on
18
- 4. **Codebase scan** (brownfield projects):
19
- - **Exclusions:** NEVER scan these directories/files: `node_modules/`, `.git/`, `dist/`, `build/`, `.next/`, `__pycache__/`, `*.min.js`, `*.map`, `*.lock`. Use Glob with patterns like `src/**/*`, `app/**/*`, `lib/**/*` — never use bare `**/*` which includes generated files.
20
- - **Size check first:** Use Glob with `src/**/*`, `app/**/*`, `lib/**/*`, `components/**/*` (excluding the above) to estimate relevant file count. If > 500 files, switch to focused mode (see below).
21
- - **Standard mode (≤ 500 files):** Use Glob to find components, pages/routes, API endpoints, types, utilities, config files, database models. Use Grep for export patterns, route definitions, key function signatures. **Cap at 50 files sampled** — prioritize entry points, config, and type definitions.
22
- - **Focused mode (> 500 files):** Scan ONLY: package.json/config files, entry points (index.ts, main.ts, app.ts), route definitions, database schema/models, and type definition files. Skip component trees, test files, and generated code entirely.
23
- - Build internal summary: "Here's what exists that we can reuse"
24
- 5. Print a brief context summary to the user: "Here's what I found in the codebase: [key components, patterns, data layer]. Starting the spec interview."
20
+ 4. **Codebase scan** (brownfield projects) — spawn **3 parallel Explore subagents** via the Task tool to scan the codebase without consuming main context:
21
+
22
+ | Agent | Focus | Looks For |
23
+ |-------|-------|-----------|
24
+ | **Structure & Config** | Project skeleton, build tooling | `package.json`, `tsconfig`, config files, entry points, CI/CD, env setup |
25
+ | **UI, Pages & Routes** | Components, pages, routing | `components/`, `pages/`, `app/`, route definitions, layouts, navigation |
26
+ | **Data Layer & APIs** | Database, APIs, types | `api/`, `models/`, `types/`, `schemas/`, ORM definitions, query functions |
27
+
28
+ **Each subagent prompt MUST include:**
29
+ - **Exclusions:** NEVER scan `node_modules/`, `.git/`, `dist/`, `build/`, `.next/`, `__pycache__/`, `*.min.js`, `*.map`, `*.lock`
30
+ - **Size-adaptive scanning:** If the agent's domain has >200 files, switch to focused mode (entry points, config, and type definitions only)
31
+ - **20-file sample cap per agent** (60 total across all 3)
32
+ - **15-line summary max** — structured as: key files found, patterns observed, reusable code/components, notes
33
+ - **Explicit instruction:** Do NOT return raw file contents — return only structured summaries
34
+
35
+ 5. **Assemble summaries:** Collect the 3 agent summaries into a brief context block (~45 lines total). Print to user: "Here's what I found in the codebase: [key components, patterns, data layer]. Starting the spec interview."
25
36
 
26
37
  ## Phase 2 — Adaptive Interview
27
38
 
@@ -50,7 +50,7 @@ Flow is up to date (v<version>)
50
50
 
51
51
  Fetch the CHANGELOG.md from the Flow repo to show the user what changed:
52
52
 
53
- 1. Run: `npx -y -p flow-cc@<latest> node -e "const fs=require('fs'),p=require('path');try{console.log(fs.readFileSync(p.join(require.resolve('flow-cc/package.json'),'..','CHANGELOG.md'),'utf8'))}catch(e){console.log('CHANGELOG not available')}"`
53
+ 1. Run: `npx -y flow-cc@<latest> --changelog`
54
54
  2. Parse the output and extract only the section for `v<latest>` (from the `## [<latest>]` heading to the next `## [` heading or end of file)
55
55
  3. Print:
56
56