@jakkrichm/create-nexus-devflow 2.2.0 → 2.2.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 +1 -1
- package/dist/bin/create-nexus-devflow.js +1 -1
- package/dist/bin/create-nexus-devflow.js.map +1 -1
- package/dist/lib/command-catalog.js +5 -2
- package/dist/lib/command-catalog.js.map +1 -1
- package/dist/lib/dashboard.js +1 -1
- package/dist/lib/discoveries.js +18 -6
- package/dist/lib/discoveries.js.map +1 -1
- package/dist/lib/gatekeeper.d.ts +4 -0
- package/dist/lib/gatekeeper.js +13 -1
- package/dist/lib/gatekeeper.js.map +1 -1
- package/dist/lib/ideas.js +2 -2
- package/dist/lib/ideas.js.map +1 -1
- package/dist/lib/update.js +6 -2
- package/dist/lib/update.js.map +1 -1
- package/dist/lib/workflow-state.js +9 -6
- package/dist/lib/workflow-state.js.map +1 -1
- package/dist/scripts/prepare-template.js +10 -2
- package/dist/scripts/prepare-template.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/10-define/SKILL.md +1 -1
- package/template/.agents/skills/30-plan/SKILL.md +13 -7
- package/template/.agents/skills/40-execute/SKILL.md +8 -11
- package/template/.agents/skills/50-verify/SKILL.md +14 -7
- package/template/.agents/skills/brainstorm/SKILL.md +1 -1
- package/template/.agents/skills/check/SKILL.md +19 -11
- package/template/.agents/skills/debug/SKILL.md +4 -8
- package/template/.agents/skills/devflow/SKILL.md +9 -7
- package/template/.agents/skills/discovery/SKILL.md +75 -150
- package/template/.agents/skills/feature/SKILL.md +9 -4
- package/template/.agents/skills/grill/SKILL.md +93 -0
- package/template/.agents/skills/implement/SKILL.md +12 -8
- package/template/.claude/skills/10-define/SKILL.md +1 -1
- package/template/.claude/skills/30-plan/SKILL.md +13 -7
- package/template/.claude/skills/40-execute/SKILL.md +8 -11
- package/template/.claude/skills/50-verify/SKILL.md +14 -7
- package/template/.claude/skills/brainstorm/SKILL.md +1 -1
- package/template/.claude/skills/check/SKILL.md +19 -11
- package/template/.claude/skills/debug/SKILL.md +4 -8
- package/template/.claude/skills/devflow/SKILL.md +9 -7
- package/template/.claude/skills/discovery/SKILL.md +75 -150
- package/template/.claude/skills/feature/SKILL.md +9 -4
- package/template/.claude/skills/grill/SKILL.md +93 -0
- package/template/.claude/skills/implement/SKILL.md +12 -8
- package/template/AGENTS.md +6 -6
- package/template/devflow/build-plan.md +10 -0
- package/template/devflow/context/ai-interaction.md +34 -7
- package/template/devflow/context/coding-standards.md +32 -7
- package/template/devflow/context/current-stage.md +1 -1
- package/template/devflow/decisions/.gitkeep +0 -0
- package/template/devflow/decisions/README.md +24 -0
- package/template/devflow/history/HISTORY.md +1 -1
- package/template/.agents/skills/00-explore/SKILL.md +0 -84
- package/template/.claude/skills/00-explore/SKILL.md +0 -84
|
@@ -58,11 +58,12 @@
|
|
|
58
58
|
|
|
59
59
|
```text
|
|
60
60
|
nexus-devflow/
|
|
61
|
-
├── .agents/skills/ # Codex
|
|
61
|
+
├── .agents/skills/ # Codex, Google Antigravity & Copilot skill definitions
|
|
62
62
|
├── .claude/skills/ # Claude Code mirrored skill adapters
|
|
63
63
|
├── .nexus/ # Metadata tracking & upstream baseline ledger
|
|
64
64
|
├── devflow/ # Framework workspace context, history, and discoveries
|
|
65
65
|
│ ├── context/ # Living source-of-truth context files
|
|
66
|
+
│ ├── decisions/ # Architecture Decision Records (ADRs)
|
|
66
67
|
│ ├── discoveries/ # Pre-delivery discovery records (00-explore.md)
|
|
67
68
|
│ ├── history/ # Master delivery archive (features/, fixes/, rollbacks/, HISTORY.md)
|
|
68
69
|
│ └── ideas.md # Idea Inbox and backlog
|
|
@@ -90,22 +91,33 @@ nexus-devflow/
|
|
|
90
91
|
|
|
91
92
|
---
|
|
92
93
|
|
|
93
|
-
## 7. Testing & Empirical Proof Standards
|
|
94
|
+
## 7. Testing & Empirical Proof Standards (Strict TDD & Two-Stage Review)
|
|
94
95
|
|
|
95
96
|
Testing is a core quality gate in Nexus-DevFlow, not an afterthought:
|
|
96
97
|
|
|
97
98
|
- **Unit Test Mandate**: Any new feature, modified logic, parser improvement, or bug fix **MUST ship with automated unit tests** in the same diff.
|
|
99
|
+
- **Strict TDD (Red-Green-Refactor) Protocol**:
|
|
100
|
+
1. **🔴 RED (Test First)**: Always write automated tests *before* writing or modifying functional logic. Run the test command and verify that it fails for the expected reason.
|
|
101
|
+
2. **🟢 GREEN (Minimal Code)**: Write only the minimal production code necessary to make the failing test pass. Run the test command and verify 100% green pass.
|
|
102
|
+
3. **🔵 REFACTOR (Clean & Robust)**: Refactor code for readability, performance, and DRY/YAGNI discipline while ensuring all tests stay green.
|
|
103
|
+
- *Code Deletion / Reversion Rule*: If functional code is created without a prior failing test for behavior changes, it must be reverted or immediately backed by tests before continuing.
|
|
98
104
|
- **Test Framework**: Use Node.js native test runner executed via `tsx --test test/*.test.ts` under `packages/create-nexus-devflow/`.
|
|
99
105
|
- **Test Design (AAA Pattern)**:
|
|
100
106
|
- Structure each test case cleanly: **Arrange** (setup fixtures/mock directories), **Act** (execute function), **Assert** (verify invariants).
|
|
101
107
|
- Use isolated temporary directories (`fs.mkdtemp` in `os.tmpdir()`) and ensure cleanup in `finally` blocks.
|
|
102
108
|
- **Empirical Proof Contract**:
|
|
103
109
|
- Never claim a task is "working", "tested", or "verified" without providing concrete empirical proof (exact command executed, terminal output, pass/fail counts, exit code).
|
|
104
|
-
- **
|
|
105
|
-
- **
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
- **Two-Stage Review Pattern (Verification Gate)**:
|
|
111
|
+
- **Stage 1: Spec Fidelity & Acceptance Gate**:
|
|
112
|
+
- Verify 100% conformance against the living spec (`current-feature.md` or `20-spec.md`).
|
|
113
|
+
- Validate all Acceptance Criteria (ACs) and "Done When" observables without missing requirements or scope creep.
|
|
114
|
+
- Test edge cases and boundary conditions defined in the specification.
|
|
115
|
+
- **Stage 2: Code Quality, Security & Architecture Gate**:
|
|
116
|
+
- **Lane 1 (Type & Syntax Safety)**: `tsc --noEmit` (0 type errors).
|
|
117
|
+
- **Lane 2 (Automated Test Suites & Evals)**: `npm test` (Unit tests 100% pass) + `npm run test:routing` (Skill routing accuracy).
|
|
118
|
+
- **Lane 3 (Scrutinize & Security Audit)**: Edge cases, null-safety, 0 secrets, safe inputs.
|
|
119
|
+
- **Lane 4 (Manual / Scenario Proof)**: Concrete walkthrough steps ("Where to go", "What to run", "What to expect").
|
|
120
|
+
- **Findings Ledger State**: 0 blockers (P0/P1) in `devflow/context/findings.md`.
|
|
109
121
|
|
|
110
122
|
---
|
|
111
123
|
|
|
@@ -140,3 +152,16 @@ Testing is a core quality gate in Nexus-DevFlow, not an afterthought:
|
|
|
140
152
|
- `Major`: Breaking architectural change
|
|
141
153
|
- `Minor`: New feature addition
|
|
142
154
|
- `Patch`: Bug fix or documentation update
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 11. Architecture Decision Records (ADRs) & Domain Glossary
|
|
159
|
+
|
|
160
|
+
- **Domain Glossary (`devflow/context/glossary.md`)**:
|
|
161
|
+
- Keep domain terms concise, precise, and unambiguous.
|
|
162
|
+
- Define entity boundaries, invariants, and lifecycle rules.
|
|
163
|
+
- Do NOT store implementation specs or ephemeral task lists in the glossary.
|
|
164
|
+
- **Architecture Decision Records (`devflow/decisions/ADR-xxx-{slug}.md`)**:
|
|
165
|
+
- Store durable, high-impact, hard-to-reverse architectural decisions in `devflow/decisions/`.
|
|
166
|
+
- Number sequentially (`ADR-001`, `ADR-002`, ...).
|
|
167
|
+
- Must include: Context, Decision, Alternatives Considered (with trade-offs), and Consequences (positive gains and accepted risks).
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
- **Active Discovery ID**: `None`
|
|
4
4
|
- **Active Running ID**: `None`
|
|
5
|
-
- **Current Stage**: `Idle (Ready for new /feature, /fix, /
|
|
5
|
+
- **Current Stage**: `Idle (Ready for new /feature, /fix, /discovery, or /10-define)`
|
|
6
6
|
- **Living Spec**: `None`
|
|
7
7
|
- **Last Completed Run**: `None`
|
|
8
8
|
- **Last Updated**: `None`
|
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 🏛️ Architecture Decision Records (ADRs)
|
|
2
|
+
|
|
3
|
+
This directory stores durable Architecture Decision Records (ADRs) produced during `/grill`, `00-explore`, or high-stakes architectural design sessions.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 📋 ADR Format & Standards
|
|
8
|
+
|
|
9
|
+
Each ADR is named `ADR-xxx-{slug}.md` (e.g. `ADR-001-database-schema-migration.md`) and follows this structure:
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# ADR-xxx: {Title}
|
|
13
|
+
|
|
14
|
+
- **Status**: Accepted | Proposed | Deprecated | Superseded by ADR-yyy
|
|
15
|
+
- **Date**: YYYY-MM-DD
|
|
16
|
+
- **Context**: Problem statement, background, and why this decision was needed.
|
|
17
|
+
- **Decision**: The selected architectural approach or invariant.
|
|
18
|
+
- **Alternatives Considered**:
|
|
19
|
+
- *Option 1*: Pros / Cons
|
|
20
|
+
- *Option 2*: Pros / Cons
|
|
21
|
+
- **Consequences**:
|
|
22
|
+
- *Positive*: Benefits and capabilities unlocked
|
|
23
|
+
- *Trade-offs / Risks*: Costs, complexity, or constraints
|
|
24
|
+
```
|
|
@@ -8,7 +8,7 @@ This master ledger tracks all released delivery runs, milestones, and rollbacks
|
|
|
8
8
|
|
|
9
9
|
| Completed Date | Run ID | Category | Title | Git Commit | Status | Archive Link |
|
|
10
10
|
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
|
11
|
-
| _No shipped runs yet_ | - | - | Run `/feature` or `/
|
|
11
|
+
| _No shipped runs yet_ | - | - | Run `/feature` or `/discovery` to start your first delivery run | - | - | - |
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 00-explore
|
|
3
|
-
description: "[devflow][D] Explore stage in DevFlow 2.0 - explore a request, route supporting inquiry, and decide whether delivery work should begin without allocating a running ID."
|
|
4
|
-
argument-hint: "{title, request, or discovery-id}"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Phase 00: Explore
|
|
8
|
-
|
|
9
|
-
$ARGUMENTS
|
|
10
|
-
|
|
11
|
-
Explore a request before delivery commitment. Create or resume a Discovery ID, choose only the supporting route that the uncertainty requires, and finish with a visible `Proceed`, `Defer`, or `Reject` decision. Do not create a Running ID in this stage.
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
00-explore {title or request}
|
|
17
|
-
00-explore IDEA-xxx
|
|
18
|
-
00-explore {discovery-id}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Use this when:
|
|
22
|
-
|
|
23
|
-
- a new request needs discussion before the team commits to delivery
|
|
24
|
-
- exploring a pending idea from `devflow/ideas.md` (`00-explore IDEA-xxx`)
|
|
25
|
-
- the best route may be `Brainstorm`, `PRD`, `Research`, or `Debug`
|
|
26
|
-
- supporting findings need to be synthesized into a go/no-go decision
|
|
27
|
-
|
|
28
|
-
## Markdown-First Contract
|
|
29
|
-
|
|
30
|
-
Write the primary discovery artifact to:
|
|
31
|
-
|
|
32
|
-
```text
|
|
33
|
-
devflow/discoveries/{DISCOVERY_ID}-{slug}/00-explore.md
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
A Discovery ID uses a separate namespace such as `DISC-YYYYMMDD-NNN`. It is not a Running ID and must not reserve a numeric delivery run.
|
|
37
|
-
|
|
38
|
-
## Process
|
|
39
|
-
|
|
40
|
-
### Loop Contract
|
|
41
|
-
|
|
42
|
-
Run discovery as a decision-and-routing loop, not as task initialization.
|
|
43
|
-
|
|
44
|
-
- **Intent**: understand the request, select proportionate supporting inquiry, and decide whether the idea should enter delivery definition.
|
|
45
|
-
- **Context**: read the request, discovery artifact when resuming, project context, constraints, and available evidence.
|
|
46
|
-
- **Action**: restate the problem, identify the decision-blocking uncertainty, select `Brainstorm`, `PRD`, `Research`, `Debug`, or direct decision, then synthesize returned findings.
|
|
47
|
-
- **Observation**: use concrete evidence such as option tradeoffs, product framing, research results, root cause, stakeholder constraints, open questions, and visible risk.
|
|
48
|
-
- **Stop Condition**: stop when the selected route and evidence are recorded, open questions are visible, and the decision is `Proceed`, `Defer`, or `Reject`.
|
|
49
|
-
- **Handoff**: only an approved `Proceed` discovery may hand off to `10-define {discovery_id}`.
|
|
50
|
-
|
|
51
|
-
### 1. Supporting Routes & Built-in Lenses
|
|
52
|
-
|
|
53
|
-
1. **Brainstorming Lens (Divergent & Convergent)**:
|
|
54
|
-
- Formulate 2-3 viable options.
|
|
55
|
-
- Construct a **Trade-off Comparison Table**:
|
|
56
|
-
| Option | Pros | Cons | Recommendation |
|
|
57
|
-
| :--- | :--- | :--- | :--- |
|
|
58
|
-
2. **Research & Empirical Proof Lens**:
|
|
59
|
-
- Inspect existing codebase patterns with search tools (`grep_search`, `rg`).
|
|
60
|
-
- Conduct external web search if library feasibility or API contracts are uncertain.
|
|
61
|
-
- Record verifiable empirical facts.
|
|
62
|
-
3. **PRD & Scoping Lens**:
|
|
63
|
-
- Problem Statement & Target User Persona.
|
|
64
|
-
- Core User Stories (`As a... I want to... So that...`).
|
|
65
|
-
- In-Scope vs. Out-of-Scope boundaries.
|
|
66
|
-
4. **Issue & Bug Triage Lens**:
|
|
67
|
-
- Classify severity (`Critical/Blocker`, `Major`, `Minor`).
|
|
68
|
-
- Determine whether root-cause analysis (`debug`) is required before spec.
|
|
69
|
-
|
|
70
|
-
### 2. Decision & Approval Gate
|
|
71
|
-
|
|
72
|
-
Set one decision:
|
|
73
|
-
- `Proceed`: enough value and evidence exist to define delivery work
|
|
74
|
-
- `Defer`: the idea remains relevant but timing, evidence, or ownership is not ready
|
|
75
|
-
- `Reject`: the idea should not proceed under the current framing
|
|
76
|
-
|
|
77
|
-
### 3. Write `00-explore.md`
|
|
78
|
-
|
|
79
|
-
Record selected routes, returned findings, open questions, decision, and rationale.
|
|
80
|
-
|
|
81
|
-
## Next Workflow Recommendation
|
|
82
|
-
|
|
83
|
-
- **Primary**: `10-define {discovery_id}` only after approved Proceed
|
|
84
|
-
- **Defer/Reject**: No next command needed
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 00-explore
|
|
3
|
-
description: "[devflow][D] Explore stage in DevFlow 2.0 - explore a request, route supporting inquiry, and decide whether delivery work should begin without allocating a running ID."
|
|
4
|
-
argument-hint: "{title, request, or discovery-id}"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Phase 00: Explore
|
|
8
|
-
|
|
9
|
-
$ARGUMENTS
|
|
10
|
-
|
|
11
|
-
Explore a request before delivery commitment. Create or resume a Discovery ID, choose only the supporting route that the uncertainty requires, and finish with a visible `Proceed`, `Defer`, or `Reject` decision. Do not create a Running ID in this stage.
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
00-explore {title or request}
|
|
17
|
-
00-explore IDEA-xxx
|
|
18
|
-
00-explore {discovery-id}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Use this when:
|
|
22
|
-
|
|
23
|
-
- a new request needs discussion before the team commits to delivery
|
|
24
|
-
- exploring a pending idea from `devflow/ideas.md` (`00-explore IDEA-xxx`)
|
|
25
|
-
- the best route may be `Brainstorm`, `PRD`, `Research`, or `Debug`
|
|
26
|
-
- supporting findings need to be synthesized into a go/no-go decision
|
|
27
|
-
|
|
28
|
-
## Markdown-First Contract
|
|
29
|
-
|
|
30
|
-
Write the primary discovery artifact to:
|
|
31
|
-
|
|
32
|
-
```text
|
|
33
|
-
devflow/discoveries/{DISCOVERY_ID}-{slug}/00-explore.md
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
A Discovery ID uses a separate namespace such as `DISC-YYYYMMDD-NNN`. It is not a Running ID and must not reserve a numeric delivery run.
|
|
37
|
-
|
|
38
|
-
## Process
|
|
39
|
-
|
|
40
|
-
### Loop Contract
|
|
41
|
-
|
|
42
|
-
Run discovery as a decision-and-routing loop, not as task initialization.
|
|
43
|
-
|
|
44
|
-
- **Intent**: understand the request, select proportionate supporting inquiry, and decide whether the idea should enter delivery definition.
|
|
45
|
-
- **Context**: read the request, discovery artifact when resuming, project context, constraints, and available evidence.
|
|
46
|
-
- **Action**: restate the problem, identify the decision-blocking uncertainty, select `Brainstorm`, `PRD`, `Research`, `Debug`, or direct decision, then synthesize returned findings.
|
|
47
|
-
- **Observation**: use concrete evidence such as option tradeoffs, product framing, research results, root cause, stakeholder constraints, open questions, and visible risk.
|
|
48
|
-
- **Stop Condition**: stop when the selected route and evidence are recorded, open questions are visible, and the decision is `Proceed`, `Defer`, or `Reject`.
|
|
49
|
-
- **Handoff**: only an approved `Proceed` discovery may hand off to `10-define {discovery_id}`.
|
|
50
|
-
|
|
51
|
-
### 1. Supporting Routes & Built-in Lenses
|
|
52
|
-
|
|
53
|
-
1. **Brainstorming Lens (Divergent & Convergent)**:
|
|
54
|
-
- Formulate 2-3 viable options.
|
|
55
|
-
- Construct a **Trade-off Comparison Table**:
|
|
56
|
-
| Option | Pros | Cons | Recommendation |
|
|
57
|
-
| :--- | :--- | :--- | :--- |
|
|
58
|
-
2. **Research & Empirical Proof Lens**:
|
|
59
|
-
- Inspect existing codebase patterns with search tools (`grep_search`, `rg`).
|
|
60
|
-
- Conduct external web search if library feasibility or API contracts are uncertain.
|
|
61
|
-
- Record verifiable empirical facts.
|
|
62
|
-
3. **PRD & Scoping Lens**:
|
|
63
|
-
- Problem Statement & Target User Persona.
|
|
64
|
-
- Core User Stories (`As a... I want to... So that...`).
|
|
65
|
-
- In-Scope vs. Out-of-Scope boundaries.
|
|
66
|
-
4. **Issue & Bug Triage Lens**:
|
|
67
|
-
- Classify severity (`Critical/Blocker`, `Major`, `Minor`).
|
|
68
|
-
- Determine whether root-cause analysis (`debug`) is required before spec.
|
|
69
|
-
|
|
70
|
-
### 2. Decision & Approval Gate
|
|
71
|
-
|
|
72
|
-
Set one decision:
|
|
73
|
-
- `Proceed`: enough value and evidence exist to define delivery work
|
|
74
|
-
- `Defer`: the idea remains relevant but timing, evidence, or ownership is not ready
|
|
75
|
-
- `Reject`: the idea should not proceed under the current framing
|
|
76
|
-
|
|
77
|
-
### 3. Write `00-explore.md`
|
|
78
|
-
|
|
79
|
-
Record selected routes, returned findings, open questions, decision, and rationale.
|
|
80
|
-
|
|
81
|
-
## Next Workflow Recommendation
|
|
82
|
-
|
|
83
|
-
- **Primary**: `10-define {discovery_id}` only after approved Proceed
|
|
84
|
-
- **Defer/Reject**: No next command needed
|