orchestr8 2.8.0 → 3.0.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 (26) hide show
  1. package/.blueprint/agents/AGENT_BA_CASS.md +18 -34
  2. package/.blueprint/agents/AGENT_DEVELOPER_CODEY.md +21 -28
  3. package/.blueprint/agents/AGENT_SPECIFICATION_ALEX.md +6 -0
  4. package/.blueprint/agents/AGENT_TESTER_NIGEL.md +5 -3
  5. package/.blueprint/agents/WHAT_WE_STAND_FOR.md +0 -0
  6. package/.blueprint/features/feature_interactive-alex/FEATURE_SPEC.md +263 -0
  7. package/.blueprint/features/feature_interactive-alex/IMPLEMENTATION_PLAN.md +69 -0
  8. package/.blueprint/features/feature_interactive-alex/handoff-alex.md +19 -0
  9. package/.blueprint/features/feature_interactive-alex/handoff-cass.md +21 -0
  10. package/.blueprint/features/feature_interactive-alex/handoff-nigel.md +19 -0
  11. package/.blueprint/features/feature_interactive-alex/story-flag-routing.md +54 -0
  12. package/.blueprint/features/feature_interactive-alex/story-iterative-drafting.md +65 -0
  13. package/.blueprint/features/feature_interactive-alex/story-pipeline-integration.md +66 -0
  14. package/.blueprint/features/feature_interactive-alex/story-session-lifecycle.md +75 -0
  15. package/.blueprint/features/feature_interactive-alex/story-system-spec-creation.md +57 -0
  16. package/.blueprint/prompts/codey-implement-runtime.md +1 -1
  17. package/.blueprint/prompts/nigel-runtime.md +1 -1
  18. package/.blueprint/ways_of_working/DEVELOPMENT_RITUAL.md +4 -4
  19. package/README.md +31 -0
  20. package/SKILL.md +35 -1
  21. package/bin/cli.js +28 -0
  22. package/package.json +2 -2
  23. package/src/index.js +61 -1
  24. package/src/init.js +21 -3
  25. package/src/interactive.js +338 -0
  26. package/src/stack.js +320 -0
@@ -0,0 +1,19 @@
1
+ ## Handoff Summary
2
+ **For:** Cass
3
+ **Feature:** interactive-alex
4
+
5
+ ### Key Decisions
6
+ - Interactive mode triggers automatically when specs are missing, or explicitly via `--interactive` flag
7
+ - Session flow: context gathering → clarifying questions → iterative drafting → finalization
8
+ - In-memory state only (no persistence for v1)
9
+ - Supports both SYSTEM_SPEC.md and FEATURE_SPEC.md creation
10
+ - Integrates with existing `--pause-after=alex` for exit control
11
+
12
+ ### Files Created
13
+ - .blueprint/features/feature_interactive-alex/FEATURE_SPEC.md
14
+
15
+ ### Open Questions
16
+ - None - all resolved in spec
17
+
18
+ ### Critical Context
19
+ Focus stories on: flag parsing/routing, conversational session management, iterative spec drafting, pipeline integration. The feature modifies SKILL.md routing and adds a new interaction pattern while keeping downstream agents (Cass, Nigel, Codey) unchanged.
@@ -0,0 +1,21 @@
1
+ ## Handoff Summary
2
+ **For:** Nigel
3
+ **Feature:** interactive-alex
4
+
5
+ ### Key Decisions
6
+ - Split into 5 stories covering distinct concerns: routing, session lifecycle, drafting, pipeline integration, system spec creation
7
+ - Each story has 5-7 testable acceptance criteria in Given/When/Then format
8
+ - Focused on observable behavior and user commands
9
+
10
+ ### Files Created
11
+ - story-flag-routing.md - `--interactive` flag parsing and auto-detection
12
+ - story-session-lifecycle.md - Session commands (/approve, /change, /skip, /restart, /abort, /done)
13
+ - story-iterative-drafting.md - Context gathering, questions, section drafting
14
+ - story-pipeline-integration.md - Spec output, handoff, queue, history
15
+ - story-system-spec-creation.md - Interactive SYSTEM_SPEC.md creation when missing
16
+
17
+ ### Open Questions
18
+ - None
19
+
20
+ ### Critical Context
21
+ Tests should focus on SKILL.md routing logic and the new `src/interactive.js` module. Mock the conversation loop for unit tests; the iterative drafting can use state machine patterns.
@@ -0,0 +1,19 @@
1
+ ## Handoff Summary
2
+ **For:** Codey
3
+ **Feature:** interactive-alex
4
+
5
+ ### Key Decisions
6
+ - 29 tests covering all 5 stories with 100% AC coverage
7
+ - Tests use Node.js built-in test runner (node:test)
8
+ - Mock-based testing for session state machine and routing
9
+ - State machine pattern for session lifecycle
10
+
11
+ ### Files Created
12
+ - test/artifacts/feature_interactive-alex/test-spec.md
13
+ - test/feature_interactive-alex.test.js
14
+
15
+ ### Open Questions
16
+ - None
17
+
18
+ ### Critical Context
19
+ Create `src/interactive.js` with session state machine (idle → gathering → questioning → drafting → finalizing). Update SKILL.md routing logic to check for `--interactive` flag and missing specs. All tests currently pass with stubs - implement the actual logic.
@@ -0,0 +1,54 @@
1
+ # User Story: Flag Parsing & Mode Routing
2
+
3
+ ## Story
4
+
5
+ **As a** developer using orchestr8,
6
+ **I want** the `/implement-feature` command to detect when interactive mode is needed and route accordingly,
7
+ **so that** I get a collaborative spec experience for new/unclear features without manual flag management.
8
+
9
+ ## Acceptance Criteria
10
+
11
+ ### AC-1: Explicit Interactive Flag
12
+
13
+ **Given** a user invokes `/implement-feature "my-feature" --interactive`
14
+ **When** the command parses flags
15
+ **Then** interactive mode is activated regardless of existing spec files
16
+
17
+ ### AC-2: Auto-Detect Missing System Spec
18
+
19
+ **Given** a user invokes `/implement-feature "my-feature"` without `--interactive`
20
+ **And** `.blueprint/system_specification/SYSTEM_SPEC.md` does not exist
21
+ **When** the pipeline routing logic runs
22
+ **Then** interactive mode is activated for system spec creation
23
+
24
+ ### AC-3: Auto-Detect Missing Feature Spec
25
+
26
+ **Given** a user invokes `/implement-feature "my-feature"` without `--interactive`
27
+ **And** `SYSTEM_SPEC.md` exists
28
+ **And** `.blueprint/features/feature_my-feature/FEATURE_SPEC.md` does not exist
29
+ **When** the pipeline routing logic runs
30
+ **Then** interactive mode is activated for feature spec creation
31
+
32
+ ### AC-4: Autonomous Mode When Specs Exist
33
+
34
+ **Given** a user invokes `/implement-feature "my-feature"` without `--interactive`
35
+ **And** both `SYSTEM_SPEC.md` and `FEATURE_SPEC.md` exist
36
+ **When** the pipeline routing logic runs
37
+ **Then** Alex runs in autonomous (non-interactive) mode
38
+
39
+ ### AC-5: Combined Flags
40
+
41
+ **Given** a user invokes `/implement-feature "my-feature" --interactive --pause-after=alex`
42
+ **When** the command parses flags
43
+ **Then** interactive mode is activated
44
+ **And** the pipeline will pause after Alex completes (before Cass)
45
+
46
+ ## Out of Scope
47
+
48
+ - `--no-interactive` flag to force autonomous mode (users can create placeholder specs)
49
+ - Interactive modes for agents other than Alex
50
+ - Flag validation errors (handled by existing CLI parsing)
51
+
52
+ ## References
53
+
54
+ - Feature Spec: `.blueprint/features/feature_interactive-alex/FEATURE_SPEC.md` (Section 4.1)
@@ -0,0 +1,65 @@
1
+ # User Story: Iterative Spec Drafting
2
+
3
+ ## Story
4
+
5
+ **As a** developer in an interactive session,
6
+ **I want** Alex to gather context, ask targeted questions, and draft spec sections incrementally,
7
+ **so that** the resulting specification accurately captures my intent with minimal revision cycles.
8
+
9
+ ## Acceptance Criteria
10
+
11
+ ### AC-1: Context Gathering Phase
12
+
13
+ **Given** an interactive session has started
14
+ **When** the user provides their initial feature description
15
+ **Then** Alex acknowledges understanding by summarizing the core intent
16
+ **And** Alex identifies 2-4 information gaps relative to the FEATURE_SPEC template
17
+
18
+ ### AC-2: Clarifying Questions
19
+
20
+ **Given** Alex has identified information gaps
21
+ **When** Alex asks clarifying questions
22
+ **Then** questions are presented in a single batch (2-4 questions)
23
+ **And** questions are specific and actionable (not open-ended)
24
+ **And** Alex waits for user responses before proceeding
25
+
26
+ ### AC-3: Section-by-Section Drafting
27
+
28
+ **Given** Alex has gathered sufficient context
29
+ **When** Alex drafts spec sections
30
+ **Then** sections are drafted incrementally (Intent first, then Scope, then Actors, etc.)
31
+ **And** after each section, Alex presents the draft
32
+ **And** Alex asks: "Does this capture your intent? Any changes?"
33
+
34
+ ### AC-4: Revision Handling
35
+
36
+ **Given** Alex has presented a draft section
37
+ **And** the user requests changes via `/change <feedback>`
38
+ **When** Alex revises the section
39
+ **Then** Alex incorporates the specific feedback
40
+ **And** Alex presents the revised draft
41
+ **And** Alex asks for approval again
42
+
43
+ ### AC-5: Progress Indication
44
+
45
+ **Given** an interactive session is active
46
+ **When** Alex transitions between sections
47
+ **Then** Alex indicates which sections are complete
48
+ **And** Alex indicates which sections remain
49
+
50
+ ### AC-6: Concise Responses
51
+
52
+ **Given** Alex is drafting or responding in the session
53
+ **When** Alex produces conversational output
54
+ **Then** each response is under 200 words
55
+ **And** focus is on actionable content, not filler
56
+
57
+ ## Out of Scope
58
+
59
+ - Full-spec-at-once drafting mode
60
+ - Configurable question count (fixed at 2-4)
61
+ - Template customization during session
62
+
63
+ ## References
64
+
65
+ - Feature Spec: `.blueprint/features/feature_interactive-alex/FEATURE_SPEC.md` (Section 4.3)
@@ -0,0 +1,66 @@
1
+ # User Story: Pipeline Integration
2
+
3
+ ## Story
4
+
5
+ **As a** developer completing an interactive session,
6
+ **I want** the interactive mode to integrate seamlessly with the existing pipeline infrastructure,
7
+ **so that** downstream agents receive proper handoffs and the pipeline can resume or record history as expected.
8
+
9
+ ## Acceptance Criteria
10
+
11
+ ### AC-1: Spec File Output
12
+
13
+ **Given** an interactive session completes successfully (via `/approve` on final section or `/done`)
14
+ **When** Alex finalizes the spec
15
+ **Then** FEATURE_SPEC.md is written to `{FEAT_DIR}/FEATURE_SPEC.md`
16
+ **And** the file includes all completed sections
17
+ **And** skipped sections are marked as "TBD"
18
+ **And** the file includes a note: "Created via interactive session"
19
+
20
+ ### AC-2: Handoff Artifact
21
+
22
+ **Given** an interactive session completes successfully
23
+ **When** Alex writes the spec file
24
+ **Then** Alex also produces `handoff-alex.md` in the feature directory
25
+ **And** the handoff includes key decisions, files created, and open questions
26
+
27
+ ### AC-3: Queue Update
28
+
29
+ **Given** an interactive session completes successfully
30
+ **When** the pipeline continues
31
+ **Then** the queue is updated with the feature moving from `alexQueue` to `cassQueue`
32
+ **And** `current.stage` reflects "cass" (or the next applicable stage)
33
+
34
+ ### AC-4: History Recording
35
+
36
+ **Given** an interactive session completes (success or abort)
37
+ **When** history is recorded (unless `--no-history` flag present)
38
+ **Then** the `pipeline-history.json` entry includes `mode: "interactive"`
39
+ **And** the entry includes question count, revision count, and session duration
40
+
41
+ ### AC-5: Pause After Alex
42
+
43
+ **Given** an interactive session completes successfully
44
+ **And** `--pause-after=alex` flag was provided
45
+ **When** Alex finishes
46
+ **Then** the pipeline pauses before spawning Cass
47
+ **And** user can review the spec before continuing
48
+
49
+ ### AC-6: Continue to Downstream Agents
50
+
51
+ **Given** an interactive session completes successfully
52
+ **And** `--pause-after=alex` flag was NOT provided
53
+ **When** Alex finishes
54
+ **Then** the pipeline continues automatically
55
+ **And** Cass is spawned with the produced FEATURE_SPEC.md as input
56
+
57
+ ## Out of Scope
58
+
59
+ - Changes to Cass, Nigel, or Codey agent behaviour
60
+ - Parallel pipeline execution
61
+ - Multi-feature batch processing
62
+
63
+ ## References
64
+
65
+ - Feature Spec: `.blueprint/features/feature_interactive-alex/FEATURE_SPEC.md` (Section 6)
66
+ - System Spec: `.blueprint/system_specification/SYSTEM_SPEC.md` (Sections 6-7)
@@ -0,0 +1,75 @@
1
+ # User Story: Interactive Session Lifecycle
2
+
3
+ ## Story
4
+
5
+ **As a** developer entering interactive mode,
6
+ **I want** a clear session lifecycle with explicit commands for controlling the conversation,
7
+ **so that** I can navigate the spec creation process efficiently and exit gracefully when needed.
8
+
9
+ ## Acceptance Criteria
10
+
11
+ ### AC-1: Session Initialization
12
+
13
+ **Given** interactive mode is activated (explicit flag or auto-detect)
14
+ **When** the session starts
15
+ **Then** Alex reads system spec (if exists), business context, and feature template
16
+ **And** Alex presents an opening prompt: "Describe the feature you want to build. What problem does it solve and for whom?"
17
+
18
+ ### AC-2: Approve Command
19
+
20
+ **Given** an interactive session is active
21
+ **And** Alex has presented a draft section
22
+ **When** the user responds with `/approve` or `yes`
23
+ **Then** the current section is marked complete
24
+ **And** Alex proceeds to the next section
25
+
26
+ ### AC-3: Change Command
27
+
28
+ **Given** an interactive session is active
29
+ **And** Alex has presented a draft section
30
+ **When** the user responds with `/change <feedback>`
31
+ **Then** Alex revises the current section based on the feedback
32
+ **And** Alex presents the revised draft for approval
33
+
34
+ ### AC-4: Skip Command
35
+
36
+ **Given** an interactive session is active
37
+ **And** Alex has presented a draft section
38
+ **When** the user responds with `/skip`
39
+ **Then** the current section is marked as "TBD" in the spec
40
+ **And** Alex proceeds to the next section
41
+
42
+ ### AC-5: Restart Command
43
+
44
+ **Given** an interactive session is active
45
+ **And** Alex is working on a section
46
+ **When** the user responds with `/restart`
47
+ **Then** Alex discards the current section draft
48
+ **And** Alex starts the section from scratch with fresh questions
49
+
50
+ ### AC-6: Abort Command
51
+
52
+ **Given** an interactive session is active
53
+ **When** the user responds with `/abort`
54
+ **Then** the session terminates immediately
55
+ **And** no spec file is written to disk
56
+ **And** the pipeline exits without proceeding to downstream agents
57
+
58
+ ### AC-7: Done Command
59
+
60
+ **Given** an interactive session is active
61
+ **And** at least Intent, Scope, and Actors sections are complete or skipped
62
+ **When** the user responds with `/done`
63
+ **Then** Alex finalizes the spec with completed sections
64
+ **And** skipped sections are marked as "TBD"
65
+ **And** the spec file is written to disk
66
+
67
+ ## Out of Scope
68
+
69
+ - Session persistence between interrupted sessions
70
+ - Timeout handling (session continues until user acts)
71
+ - Multi-user concurrent sessions
72
+
73
+ ## References
74
+
75
+ - Feature Spec: `.blueprint/features/feature_interactive-alex/FEATURE_SPEC.md` (Section 4.4)
@@ -0,0 +1,57 @@
1
+ # User Story: Interactive System Spec Creation
2
+
3
+ ## Story
4
+
5
+ **As a** developer initializing a new project without a system specification,
6
+ **I want** Alex to guide me through creating a SYSTEM_SPEC.md interactively,
7
+ **so that** I establish the project's boundaries and constraints before creating feature specs.
8
+
9
+ ## Acceptance Criteria
10
+
11
+ ### AC-1: System Spec Auto-Detection
12
+
13
+ **Given** a user invokes `/implement-feature "my-feature"`
14
+ **And** `.blueprint/system_specification/SYSTEM_SPEC.md` does not exist
15
+ **When** the pipeline checks prerequisites
16
+ **Then** interactive mode activates for system spec creation (not feature spec)
17
+
18
+ ### AC-2: System Spec Session Flow
19
+
20
+ **Given** interactive system spec mode is active
21
+ **When** Alex starts the session
22
+ **Then** Alex asks about: purpose, actors, system boundaries, and governing rules
23
+ **And** Alex drafts SYSTEM_SPEC.md sections incrementally
24
+ **And** the same session commands apply (`/approve`, `/change`, `/skip`, `/restart`, `/abort`, `/done`)
25
+
26
+ ### AC-3: System Spec Output Location
27
+
28
+ **Given** an interactive system spec session completes successfully
29
+ **When** Alex writes the spec
30
+ **Then** the file is written to `.blueprint/system_specification/SYSTEM_SPEC.md`
31
+ **And** the file follows the SYSTEM_SPEC template structure
32
+
33
+ ### AC-4: Pipeline Gate Satisfied
34
+
35
+ **Given** SYSTEM_SPEC.md is created via interactive session
36
+ **When** the user re-invokes `/implement-feature "my-feature"`
37
+ **Then** the system spec gate passes
38
+ **And** the pipeline proceeds to feature spec creation (interactive or autonomous)
39
+
40
+ ### AC-5: System Spec Before Feature Spec
41
+
42
+ **Given** a user invokes `/implement-feature "my-feature" --interactive`
43
+ **And** SYSTEM_SPEC.md does not exist
44
+ **When** the pipeline routing logic runs
45
+ **Then** system spec interactive session runs first
46
+ **And** only after system spec is complete does feature spec interactive session begin
47
+
48
+ ## Out of Scope
49
+
50
+ - Updating existing SYSTEM_SPEC.md interactively (only creation)
51
+ - Skipping system spec gate entirely
52
+ - System spec versioning or change tracking
53
+
54
+ ## References
55
+
56
+ - Feature Spec: `.blueprint/features/feature_interactive-alex/FEATURE_SPEC.md` (Section 4.1, Open Question 2)
57
+ - System Spec: `.blueprint/system_specification/SYSTEM_SPEC.md` (Section 7 - System spec gate)
@@ -11,7 +11,7 @@ Implement the feature according to the plan. Work incrementally, making tests pa
11
11
 
12
12
  ## Process (INCREMENTAL - one file at a time)
13
13
 
14
- 1. Run tests first: node --test {TEST_FILE}
14
+ 1. Run tests using the project's test command (see `.claude/stack-config.json`)
15
15
  2. For each failing test group:
16
16
  a. Identify the minimal code needed
17
17
  b. Write or edit ONE file
@@ -17,7 +17,7 @@ Step 1: Write {TEST_DIR}/test-spec.md containing:
17
17
  - Key assumptions (bullet list)
18
18
 
19
19
  Step 2: Write {TEST_FILE} containing:
20
- - Executable tests (Jest or Node test runner)
20
+ - Executable tests using the project's test runner (see `.claude/stack-config.json`)
21
21
  - One describe block per story
22
22
  - One test per acceptance criterion
23
23
 
@@ -41,7 +41,7 @@ Before writing tests:
41
41
  [ ] Ambiguities identified
42
42
  [ ] Assumptions written down
43
43
 
44
- Before handover to Steve to pass to Claude:
44
+ Before handover to the human to pass to Claude:
45
45
  [ ] Understanding summary written
46
46
  [ ] Test plan created
47
47
  [ ] Happy path tests written
@@ -50,7 +50,7 @@ Before handover to Steve to pass to Claude:
50
50
  [ ] Traceability table complete
51
51
  [ ] Open questions listed
52
52
 
53
- If any box is unchecked → raise it with Steve that its not ready to hand over. If all boxes are checked, let Steve know that its ready to handover to Claude.
53
+ If any box is unchecked → raise it with the human that its not ready to hand over. If all boxes are checked, let the human know that its ready to handover to Claude.
54
54
 
55
55
  🧑‍💻 Developer CLI Ritual (Claude)
56
56
  Before coding:
@@ -64,7 +64,7 @@ During coding:
64
64
  [ ] Ran relevant tests after each change
65
65
  [ ] Did not weaken or delete tests
66
66
 
67
- Before handover to Steve:
67
+ Before handover to the human:
68
68
  [ ] All tests passing
69
69
  [ ] Lint passing
70
70
  [ ] No unexplained skip/todo
@@ -139,4 +139,4 @@ Outcome:
139
139
  ❗ Green builds are necessary, not sufficient
140
140
  ❗ Assumptions must be written down
141
141
  ❗ No silent changes
142
- ❗ When in doubt, slow down and ask Steve
142
+ ❗ When in doubt, slow down and ask the human
package/README.md CHANGED
@@ -19,6 +19,32 @@ npx orchestr8 init
19
19
 
20
20
  This installs the `.blueprint/` directory, `.business_context/`, and the `/implement-feature` skill to `.claude/commands/`. If files already exist, you'll be prompted before overwriting. It also adds the workflow queue to `.gitignore`.
21
21
 
22
+ During initialization, orchestr8 **auto-detects your project's tech stack** from manifest files (`package.json`, `pyproject.toml`, `go.mod`, etc.) and writes the result to `.claude/stack-config.json`. The agents (Nigel and Codey) read this file at runtime to adapt their testing and implementation approach to your stack.
23
+
24
+ ```bash
25
+ # Review what was detected
26
+ npx orchestr8 stack-config
27
+
28
+ # Adjust if needed
29
+ npx orchestr8 stack-config set language TypeScript
30
+ npx orchestr8 stack-config set frameworks '["next","react"]'
31
+ npx orchestr8 stack-config set testRunner vitest
32
+ npx orchestr8 stack-config set testCommand "npx vitest run"
33
+ ```
34
+
35
+ If you're working with a non-JavaScript project, set the stack config before running the pipeline:
36
+
37
+ ```bash
38
+ # Python/Django example
39
+ npx orchestr8 stack-config set language Python
40
+ npx orchestr8 stack-config set runtime "Python 3.12"
41
+ npx orchestr8 stack-config set packageManager pip
42
+ npx orchestr8 stack-config set frameworks '["django"]'
43
+ npx orchestr8 stack-config set testRunner pytest
44
+ npx orchestr8 stack-config set testCommand "pytest"
45
+ npx orchestr8 stack-config set linter ruff
46
+ ```
47
+
22
48
  ## Keeping Up to Date
23
49
 
24
50
  **Modules** (history, insights, feedback, retry, validate) are part of the npm package and update automatically when you use `npx` - no action needed.
@@ -70,6 +96,9 @@ This updates `.blueprint/agents/`, `.blueprint/templates/`, `.blueprint/ways_of_
70
96
 
71
97
  | Command | Description |
72
98
  |---------|-------------|
99
+ | `npx orchestr8 stack-config` | View detected tech stack |
100
+ | `npx orchestr8 stack-config set <key> <value>` | Modify stack settings (language, frameworks, testRunner, etc.) |
101
+ | `npx orchestr8 stack-config reset` | Reset to empty defaults |
73
102
  | `npx orchestr8 retry-config` | View retry configuration |
74
103
  | `npx orchestr8 retry-config set <key> <value>` | Modify retry settings |
75
104
  | `npx orchestr8 retry-config reset` | Reset to defaults |
@@ -197,6 +226,7 @@ orchestr8 includes these built-in modules for observability and self-improvement
197
226
  | **business-context** | Lazy loading of business context based on feature needs |
198
227
  | **tools** | Tool schemas and validation for Claude native features |
199
228
  | **parallel** | Parallel pipeline execution using git worktrees |
229
+ | **stack** | Configurable tech stack detection and configuration |
200
230
 
201
231
  ### How They Work Together
202
232
 
@@ -260,6 +290,7 @@ your-project/
260
290
  │ ├── feedback-config.json # Feedback thresholds (gitignored)
261
291
  │ ├── parallel-config.json # Parallel execution config (gitignored)
262
292
  │ ├── parallel-queue.json # Parallel pipeline state (gitignored)
293
+ │ ├── stack-config.json # Tech stack configuration (gitignored)
263
294
  │ └── implement-queue.json # Pipeline queue state (gitignored)
264
295
  └── test/
265
296
  ├── artifacts/ # Test specs per feature
package/SKILL.md CHANGED
@@ -28,8 +28,9 @@ description: Run the Alex → Cass → Nigel → Codey pipeline using Task tool
28
28
  ## Invocation
29
29
 
30
30
  ```bash
31
- /implement-feature # Interactive
31
+ /implement-feature # Interactive slug prompt
32
32
  /implement-feature "user-auth" # New feature
33
+ /implement-feature "user-auth" --interactive # Force interactive spec creation
33
34
  /implement-feature "user-auth" --pause-after=alex|cass|nigel|codey-plan
34
35
  /implement-feature "user-auth" --no-commit
35
36
  /implement-feature "user-auth" --no-feedback # Skip feedback collection
@@ -113,6 +114,39 @@ If not provided: Ask user, convert to slug format (lowercase, hyphens), confirm.
113
114
  ### Step 3: System Spec Gate
114
115
  Check `{SYS_SPEC}` exists. If not: run Alex to create it, then **stop for review**.
115
116
 
117
+ ### Step 3a: Interactive Mode Detection
118
+
119
+ **Module:** `src/interactive.js`
120
+
121
+ The pipeline automatically enters interactive mode when:
122
+ 1. `--interactive` flag is explicitly passed
123
+ 2. System spec (`{SYS_SPEC}`) is missing - creates system spec interactively
124
+ 3. Feature spec (`{FEAT_SPEC}`) is missing - creates feature spec interactively
125
+
126
+ **Interactive Session Flow:**
127
+ ```
128
+ idle → gathering → questioning → drafting → finalizing
129
+ ```
130
+
131
+ **Available Commands During Session:**
132
+ | Command | Action |
133
+ |---------|--------|
134
+ | `/approve` or `yes` | Mark section complete, proceed to next |
135
+ | `/change <feedback>` | Revise current section with feedback |
136
+ | `/skip` | Mark section TBD, proceed to next |
137
+ | `/restart` | Discard draft, restart current section |
138
+ | `/abort` | Exit without writing spec |
139
+ | `/done` | Finalize spec (if min sections complete) |
140
+
141
+ **Minimum Required Sections:**
142
+ - Feature spec: Intent, Scope, Actors
143
+ - System spec: Purpose, Actors, Boundaries
144
+
145
+ **On Interactive Completion:**
146
+ - Writes spec to appropriate path
147
+ - Generates `handoff-alex.md` with session metrics
148
+ - Records `mode: "interactive"` in history entry
149
+
116
150
  ### Step 3.5: Insights Preview (NEW)
117
151
 
118
152
  **Module:** `src/insights.js`
package/bin/cli.js CHANGED
@@ -12,6 +12,11 @@ const {
12
12
  setConfigValue: setFeedbackConfigValue,
13
13
  resetConfig: resetFeedbackConfig
14
14
  } = require('../src/feedback');
15
+ const {
16
+ displayStackConfig,
17
+ setStackConfigValue,
18
+ resetStackConfig
19
+ } = require('../src/stack');
15
20
  const { displayFeedbackInsights } = require('../src/insights');
16
21
  const {
17
22
  formatStatus,
@@ -145,6 +150,26 @@ const commands = {
145
150
  },
146
151
  description: 'Manage feedback loop configuration'
147
152
  },
153
+ 'stack-config': {
154
+ fn: () => {
155
+ if (subArg === 'set') {
156
+ const key = args[2];
157
+ const value = args[3];
158
+ if (!key || !value) {
159
+ console.error('Usage: stack-config set <key> <value>');
160
+ console.error('Valid keys: language, runtime, packageManager, frameworks, testRunner, testCommand, linter, tools');
161
+ process.exit(1);
162
+ }
163
+ setStackConfigValue(key, value);
164
+ } else if (subArg === 'reset') {
165
+ resetStackConfig();
166
+ console.log('Stack configuration reset to defaults.');
167
+ } else {
168
+ displayStackConfig();
169
+ }
170
+ },
171
+ description: 'View or modify project tech stack configuration'
172
+ },
148
173
  'parallel-config': {
149
174
  fn: () => {
150
175
  if (subArg === 'set') {
@@ -307,6 +332,9 @@ Commands:
307
332
  feedback-config View current feedback loop configuration
308
333
  feedback-config set <key> <value> Modify a config value (minRatingThreshold, enabled)
309
334
  feedback-config reset Reset feedback configuration to defaults
335
+ stack-config View current tech stack configuration
336
+ stack-config set <key> <value> Modify a config value (language, runtime, frameworks, etc.)
337
+ stack-config reset Reset tech stack configuration to defaults
310
338
  parallel <slugs...> Run multiple feature pipelines in parallel
311
339
  parallel <slugs...> --dry-run Show execution plan without running
312
340
  parallel <slugs...> --yes Skip confirmation prompt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orchestr8",
3
- "version": "2.8.0",
3
+ "version": "3.0.0",
4
4
  "description": "Multi-agent workflow framework for automated feature development",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -20,7 +20,7 @@
20
20
  "author": "NewmanJustice",
21
21
  "repository": {
22
22
  "type": "git",
23
- "url": "git+https://github.com/NewmanJustice/orchestr8.git"
23
+ "url": "git+https://github.com/NewmanJustice/agent-workflow.git"
24
24
  },
25
25
  "license": "MIT",
26
26
  "engines": {