@jakkrichm/create-nexus-devflow 2.6.2 → 2.8.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 +5 -5
- package/dist/lib/antigravity-artifacts.d.ts +52 -0
- package/dist/lib/antigravity-artifacts.js +170 -0
- package/dist/lib/antigravity-artifacts.js.map +1 -0
- package/dist/lib/antigravity-hooks.d.ts +31 -0
- package/dist/lib/antigravity-hooks.js +85 -0
- package/dist/lib/antigravity-hooks.js.map +1 -0
- package/dist/lib/antigravity-plugin.d.ts +51 -0
- package/dist/lib/antigravity-plugin.js +179 -0
- package/dist/lib/antigravity-plugin.js.map +1 -0
- package/dist/lib/antigravity-scheduler.d.ts +39 -0
- package/dist/lib/antigravity-scheduler.js +95 -0
- package/dist/lib/antigravity-scheduler.js.map +1 -0
- package/dist/lib/branch-context.d.ts +1 -0
- package/dist/lib/branch-context.js +14 -9
- package/dist/lib/branch-context.js.map +1 -1
- package/dist/lib/current-work.js +10 -22
- package/dist/lib/current-work.js.map +1 -1
- package/dist/lib/doctor.js +34 -6
- package/dist/lib/doctor.js.map +1 -1
- package/dist/lib/findings.js +14 -10
- package/dist/lib/findings.js.map +1 -1
- package/dist/lib/mcp.js +3 -3
- package/dist/lib/mcp.js.map +1 -1
- package/dist/lib/openai-tools.d.ts +34 -0
- package/dist/lib/openai-tools.js +57 -0
- package/dist/lib/openai-tools.js.map +1 -0
- package/dist/lib/project-config.d.ts +55 -0
- package/dist/lib/project-config.js +228 -0
- package/dist/lib/project-config.js.map +1 -0
- package/dist/lib/status.d.ts +7 -0
- package/dist/lib/status.js +23 -1
- package/dist/lib/status.js.map +1 -1
- package/dist/lib/swarm-orchestrator.js +14 -8
- package/dist/lib/swarm-orchestrator.js.map +1 -1
- package/dist/lib/visual-subagent.d.ts +32 -0
- package/dist/lib/visual-subagent.js +98 -0
- package/dist/lib/visual-subagent.js.map +1 -0
- package/dist/lib/workflow-state.js +3 -1
- package/dist/lib/workflow-state.js.map +1 -1
- package/dist/scripts/prepare-template.js +0 -19
- package/dist/scripts/prepare-template.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/audit/SKILL.md +7 -7
- package/template/.agents/skills/autopilot/SKILL.md +34 -58
- package/template/.agents/skills/brief/SKILL.md +1 -1
- package/template/.agents/skills/check/SKILL.md +4 -4
- package/template/.agents/skills/complete/SKILL.md +13 -46
- package/template/.agents/skills/continuous/SKILL.md +117 -0
- package/template/.agents/skills/convert-any-to-md/scripts/__pycache__/convert_any_to_md.cpython-314.pyc +0 -0
- package/template/.agents/skills/devflow/SKILL.md +12 -12
- package/template/.agents/skills/discovery/SKILL.md +2 -2
- package/template/.agents/skills/doctor/SKILL.md +15 -11
- package/template/.agents/skills/feature/SKILL.md +5 -6
- package/template/.agents/skills/fix/SKILL.md +2 -2
- package/template/.agents/skills/implement/SKILL.md +11 -12
- package/template/.agents/skills/release/SKILL.md +1 -1
- package/template/.agents/skills/report-html/SKILL.md +3 -3
- package/template/.agents/skills/rollback/SKILL.md +4 -6
- package/template/.agents/skills/status/SKILL.md +20 -27
- package/template/.agents/skills/try/SKILL.md +5 -6
- package/template/.claude/skills/audit/SKILL.md +7 -7
- package/template/.claude/skills/autopilot/SKILL.md +34 -58
- package/template/.claude/skills/brief/SKILL.md +1 -1
- package/template/.claude/skills/check/SKILL.md +4 -4
- package/template/.claude/skills/complete/SKILL.md +13 -46
- package/template/.claude/skills/continuous/SKILL.md +117 -0
- package/template/.claude/skills/convert-any-to-md/scripts/__pycache__/convert_any_to_md.cpython-314.pyc +0 -0
- package/template/.claude/skills/devflow/SKILL.md +12 -12
- package/template/.claude/skills/discovery/SKILL.md +2 -2
- package/template/.claude/skills/doctor/SKILL.md +15 -11
- package/template/.claude/skills/feature/SKILL.md +5 -6
- package/template/.claude/skills/fix/SKILL.md +2 -2
- package/template/.claude/skills/implement/SKILL.md +11 -12
- package/template/.claude/skills/release/SKILL.md +1 -1
- package/template/.claude/skills/report-html/SKILL.md +3 -3
- package/template/.claude/skills/rollback/SKILL.md +4 -6
- package/template/.claude/skills/status/SKILL.md +20 -27
- package/template/.claude/skills/try/SKILL.md +5 -6
- package/template/AGENTS.md +29 -23
- package/template/LICENSE +21 -21
- package/template/devflow/build-plan.md +18 -0
- package/template/devflow/config.json +33 -0
- package/template/devflow/context/ai-interaction.md +30 -16
- package/template/devflow/reference/feature-spec-template.md +2 -2
- package/template/devflow/reference/running-id-contract.md +0 -3
- package/template/devflow/context/current-feature.md +0 -3
- package/template/devflow/context/current-stage.md +0 -11
- package/template/devflow/context/findings.md +0 -10
|
@@ -24,7 +24,7 @@ passes.
|
|
|
24
24
|
|
|
25
25
|
## Before you start
|
|
26
26
|
|
|
27
|
-
Confirm the target work is actually finished: `devflow/context/{xxx-slug}/spec.md`
|
|
27
|
+
Confirm the target work is actually finished: `devflow/context/{xxx-slug}/spec.md`
|
|
28
28
|
holds a real spec, its steps are built on a branch, and `Verify`, or the fallback
|
|
29
29
|
build and tests, passes. If any of the
|
|
30
30
|
spec's done-whens are behavioral, `/check` should have proven them against the
|
|
@@ -36,9 +36,8 @@ the steps to be pre-committed.
|
|
|
36
36
|
|
|
37
37
|
Before logging or committing, run a short safety pass and report blockers only:
|
|
38
38
|
|
|
39
|
-
- active spec exists and the work is not being completed directly from `main` or `master`
|
|
40
|
-
- changed files are tied to the active spec, with no unrelated dirty work mixed
|
|
41
|
-
in (a dirty `devflow/context/findings.md` is expected, since `/audit` writes it)
|
|
39
|
+
- active spec exists in `devflow/context/{xxx-slug}/spec.md` and the work is not being completed directly from `main` or `master`
|
|
40
|
+
- changed files are tied to the active spec, with no unrelated dirty work mixed in
|
|
42
41
|
- the exact `Verify` command from `AGENTS.md` passed in this session, when one is
|
|
43
42
|
declared; otherwise the build passed, and tests passed when the project has a
|
|
44
43
|
declared test command and the change touched logic
|
|
@@ -46,7 +45,7 @@ Before logging or committing, run a short safety pass and report blockers only:
|
|
|
46
45
|
a clear manual try path
|
|
47
46
|
- if workflow files changed, `.agents` and `.claude` stayed in sync where both
|
|
48
47
|
adapters exist
|
|
49
|
-
- no P0 or P1 finding in `devflow/context/findings.md` is `open` or `fixed`.
|
|
48
|
+
- no P0 or P1 finding in `devflow/context/{xxx-slug}/findings.md` is `open` or `fixed`.
|
|
50
49
|
`fixed` still blocks on purpose: the repair exists but no review has looked at
|
|
51
50
|
it - run `/audit` to close it. The only waivers are `accepted` (the user's
|
|
52
51
|
explicit decision in the current chat, reason recorded; never set it for
|
|
@@ -64,48 +63,16 @@ Check whether the spec is a feature, fix, or rollback. A fix is marked
|
|
|
64
63
|
`Type: Fix` and has no build-plan number. A rollback is marked `Type: Rollback`
|
|
65
64
|
and records the exact target feature, archive, commit, and parent.
|
|
66
65
|
|
|
67
|
-
- **Feature** - archive `devflow/context/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- **Rollback** - archive it to
|
|
73
|
-
`devflow/history/rollbacks/YYYY-MM-DD-NN-name.md`, preserving the original
|
|
74
|
-
completed feature archive. Create `devflow/history/rollbacks/` first if an
|
|
75
|
-
older Blueprint installation does not have it yet. Uncheck the exact target item in
|
|
76
|
-
`devflow/build-plan.md` and its parent when applicable, then append a concise
|
|
77
|
-
note to the target line with the rollback date and archive path. Keep the
|
|
78
|
-
feature number stable. If the user later decides the feature is permanently
|
|
79
|
-
abandoned rather than pending rebuild, that roadmap decision is a separate
|
|
80
|
-
plan edit.
|
|
81
|
-
|
|
82
|
-
**Archive resolved findings.** If `devflow/context/findings.md` holds any
|
|
66
|
+
- **Feature** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/features/{xxx-slug}.md`, check it off in `devflow/build-plan.md` (and its parent item once all sub-items are checked), and record an entry into `devflow/history/HISTORY.md`.
|
|
67
|
+
- **Fix** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/fixes/{xxx-slug}.md`, and record an entry into `devflow/history/HISTORY.md`.
|
|
68
|
+
- **Rollback** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/rollbacks/YYYY-MM-DD-{xxx-slug}.md`, preserving the original completed feature archive. Uncheck the target item in `devflow/build-plan.md` and record in `devflow/history/HISTORY.md`.
|
|
69
|
+
|
|
70
|
+
**Archive resolved findings.** If `devflow/context/{xxx-slug}/findings.md` holds any
|
|
83
71
|
findings, append a `## Findings` section to the archive file just written with
|
|
84
72
|
every `closed`, `accepted`, or `invalid` entry at its final status (`accepted`
|
|
85
|
-
entries keep their recorded reason).
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
work archives with the item that resolved it; its **Found** line preserves
|
|
89
|
-
where it came from. Then remove the archived entries from the ledger. Unresolved entries (`open` or `fixed` P2/P3, and `unverified`
|
|
90
|
-
leads) stay in the ledger with their IDs so they are never silently dropped.
|
|
91
|
-
When nothing remains, reset the ledger to exactly this stub, and create it the
|
|
92
|
-
same way if the file is missing (an older install):
|
|
93
|
-
|
|
94
|
-
# Findings
|
|
95
|
-
|
|
96
|
-
> **Generated file.** The findings ledger: review findings raised by `/audit`
|
|
97
|
-
> against the work in progress, each with a durable ID, severity (P0-P3), and
|
|
98
|
-
> status. `/implement` marks repaired findings `fixed`, a later `/audit` pass
|
|
99
|
-
> moves them to `closed`, and `/complete` refuses to merge while any P0 or P1
|
|
100
|
-
> finding is `open` or `fixed`, then archives resolved findings with the work
|
|
101
|
-
> and resets this file.
|
|
102
|
-
|
|
103
|
-
_No findings recorded. `/audit` appends findings here when it finds them._
|
|
104
|
-
|
|
105
|
-
Then reset `devflow/context/current-feature.md` to its current stub ("nothing
|
|
106
|
-
in progress"), including `/rollback` alongside `/feature` and `/fix`. Don't
|
|
107
|
-
commit yet; the next step makes one work commit covering the code and these doc
|
|
108
|
-
changes. The archive is the build history.
|
|
73
|
+
entries keep their recorded reason).
|
|
74
|
+
|
|
75
|
+
**Clean up run workspace.** Delete the task directory `devflow/context/{xxx-slug}/`. In Pure Multi-Run architecture, completed work leaves zero residual stubs in `devflow/context/`.
|
|
109
76
|
|
|
110
77
|
**Discard consumed prototypes.** If this feature built the look from `prototypes/`
|
|
111
78
|
- its Design reference pointed there and an early step ported `prototypes/theme.css`
|
|
@@ -159,7 +126,7 @@ Finish with a concise **How to try it** note for the completed work. For a
|
|
|
159
126
|
rollback, explain how to confirm the removed behavior is gone and name one
|
|
160
127
|
unaffected regression path. If the
|
|
161
128
|
manual path is more than a couple of steps, tell the user to run `/try latest`;
|
|
162
|
-
that command can read the archived feature
|
|
129
|
+
that command can read the archived feature from history.
|
|
163
130
|
|
|
164
131
|
## Rules
|
|
165
132
|
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: continuous
|
|
3
|
+
description: "[devflow] Autonomous multi-feature delivery loop in Nexus-DevFlow: completes planned features serially from devflow/build-plan.md without review pauses. Maintains safety boundaries, Task-Isolated Living Spec, branch isolation, TDD verification, quality gates, and local squash-merges into main. Use when running /continuous, $continuous, or executing Continuous Mode."
|
|
4
|
+
argument-hint: "[{resume, max-features, or start-feature}]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# continuous - Complete the Build Plan One Local Feature at a Time
|
|
8
|
+
|
|
9
|
+
Where this sits in the workflow:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
/status ──▶ [continuous] ──▶ Final Review Packet
|
|
13
|
+
(ready) (Serial Loop: (Local main only,
|
|
14
|
+
Spec ➔ TDD ➔ never pushed)
|
|
15
|
+
Gates ➔ Merge)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`/continuous` (หรือ `$continuous`) คือโหมดการทำงานแบบ Autonomous Multi-Feature Delivery Loop สำหรับจัดส่งฟีเจอร์ที่อยู่ใน `devflow/build-plan.md` ต่อเนื่องทีละฟีเจอร์ในเครื่อง Local โดยไม่ต้องหยุดรอ Manual Review Prompts ในแต่ละขั้นตอนย่อย แต่ยังคงรักษาความเข้มงวดของ **The 3-Pillars Model & Task-Isolated Living Spec (`devflow/context/{xxx-slug}/spec.md`)**, การทำ TDD, การตรวจ Quality Gates, การบันทึก Findings Ledger, และการ Squash-merge ลง Local Main Commit ทีละฟีเจอร์อย่างปลอดภัย 100%
|
|
19
|
+
|
|
20
|
+
### ขอบเขตสิทธิ์ที่ได้รับอนุญาตเฉพาะในเครื่อง Local:
|
|
21
|
+
- สร้างและสลับ Feature Branch ในเครื่อง Local
|
|
22
|
+
- บันทึก Checkpoint Commits ย่อยบน Branch
|
|
23
|
+
- บันทึก Feature Commit สุดท้าย
|
|
24
|
+
- Squash-merge ฟีเจอร์ที่เสร็จสมบูรณ์ลง Default Branch ของ Local
|
|
25
|
+
- ลบ Feature Branch เฉพาะใน Local หลังรวมโค้ดสำเร็จ
|
|
26
|
+
- วนลูปเริ่มทำฟีเจอร์ที่ยังไม่ได้เช็ค (`- [ ]`) รายการถัดไปใน `build-plan.md`
|
|
27
|
+
|
|
28
|
+
### ข้อจำกัดความปลอดภัยเด็ดขาด (Strict Safety Boundaries):
|
|
29
|
+
- **ห้าม** Push ขึ้น Remote Repository
|
|
30
|
+
- **ห้าม** Deploy หรือเผยแพร่ (Publish) สู่ภายนอก
|
|
31
|
+
- **ห้าม** ลบข้อมูลจริง, ทำลาย Database, หรือรัน Destructive Migration
|
|
32
|
+
- **ห้าม** กด Accept Finding หรือเพิกเฉยต่อ Failing Quality Gate แทนมนุษย์
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Input & Target Selection
|
|
37
|
+
|
|
38
|
+
- **ไม่ระบุ Argument (`/continuous`)**:
|
|
39
|
+
1. หากมีฟีเจอร์ค้างอยู่ใน `devflow/context/{xxx-slug}/` ให้ทำต่อจากขั้นตอนย่อยแรกที่ยังไม่ได้เช็ค (`- [ ]`)
|
|
40
|
+
2. หากไม่มี ให้เลือกฟีเจอร์แรกที่ยังไม่ได้เช็ค (`- [ ]`) ใน `devflow/build-plan.md`
|
|
41
|
+
3. วนลูปทำต่อเนื่องตามลำดับใน `build-plan.md` จนกว่าจะหมด หรือครบตามจำนวน `continuous.maxFeatures` ใน `devflow/config.json`
|
|
42
|
+
- **ระบุ `resume` (`/continuous resume`)**: ทำงานต่อจากฟีเจอร์และขั้นตอนย่อยที่ค้างอยู่ทันที
|
|
43
|
+
- **ระบุชื่อหรือหมายเลขฟีเจอร์ (`/continuous 13`)**: เริ่มต้นจากฟีเจอร์ที่ระบุ แล้ววนลูปต่อไปยังฟีเจอร์ถัดไป
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 1: Preflight Safety Check (ตรวจสอบความพร้อมก่อนเริ่ม)
|
|
48
|
+
|
|
49
|
+
อ่านบริบทตั้งต้น:
|
|
50
|
+
- `AGENTS.md`
|
|
51
|
+
- `devflow/config.json` (หากไม่มี ให้ใช้ค่า Defaults อย่างปลอดภัย; หาก Invalid ให้หยุดและชี้ไปที่ `/doctor`)
|
|
52
|
+
- `devflow/project-plan.md` และ `devflow/build-plan.md`
|
|
53
|
+
- `devflow/context/project-overview.md`
|
|
54
|
+
- `devflow/context/{xxx-slug}/` (ถ้ามีงานค้างอยู่)
|
|
55
|
+
- `devflow/context/coding-standards.md` และ `devflow/context/ai-interaction.md`
|
|
56
|
+
- สถานะ Git (`git status`, `git branch`, recent log)
|
|
57
|
+
|
|
58
|
+
### กฎการเริ่มงาน (Start Conditions):
|
|
59
|
+
1. สถานะ Git Working Tree สะอาด (Clean) บน Default Branch หรือมีเฉพาะ Diff ของฟีเจอร์ปัจจุบัน
|
|
60
|
+
2. `devflow/build-plan.md` มีฟีเจอร์ที่ยังไม่ได้ทำเหลืออยู่
|
|
61
|
+
3. ไม่มี Finding ระดับ P0 หรือ P1 ค้างในสถานะ `open` หรือ `fixed`
|
|
62
|
+
4. บันทึก Commit SHA ตั้งต้นของ Default Branch ไว้สำหรับสรุปผลในรายงานสุดท้าย
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Step 2: Serial Feature Lifecycle (วงจรการส่งมอบทีละฟีเจอร์)
|
|
67
|
+
|
|
68
|
+
ดำเนินงานวนลูปทีละ 1 ฟีเจอร์ตามลำดับ:
|
|
69
|
+
|
|
70
|
+
### 2.1 Select & Spec (เลือกและร่างสเปก)
|
|
71
|
+
- หาก Resuming: ใช้ Spec เดิมใน `devflow/context/{xxx-slug}/spec.md`
|
|
72
|
+
- หากเป็นฟีเจอร์ใหม่: ถอดความต้องการจาก `build-plan.md` และสร้าง Task Workspace ที่ `devflow/context/{xxx-slug}/` พร้อมเขียน `spec.md`, `stage.md`, `findings.md` และวิเคราะห์ Red-team ก่อนเริ่มโค้ด
|
|
73
|
+
|
|
74
|
+
### 2.2 Create / Resume Feature Branch
|
|
75
|
+
- สร้าง Branch ตาม Prefix ใน Config (เช่น `feature/061-slug`) จาก Default Branch
|
|
76
|
+
|
|
77
|
+
### 2.3 Implement Small Steps with Strict TDD
|
|
78
|
+
- ดำเนินการสร้างฟังก์ชันทีละ Task ตาม Checklist ใน Spec:
|
|
79
|
+
1. `[TDD-Red]`: เขียน Unit Test ก่อน
|
|
80
|
+
2. `[TDD-Green]`: เขียนโค้ดขั้นต่ำให้ Test ผ่าน
|
|
81
|
+
3. `[TDD-Refactor]`: ปรับแต่งโค้ดให้สะอาดและรัน Verification ผ่าน
|
|
82
|
+
4. ทำเครื่องหมาย `- [x]` ใน Spec และบันทึก Checkpoint Commit บน Branch (หาก `workflow.checkpointCommits: "enabled"`)
|
|
83
|
+
|
|
84
|
+
### 2.4 Apply Continuous Quality Gates
|
|
85
|
+
ตรวจสอบตามการตั้งค่า `qualityGates.continuous` ใน `devflow/config.json`:
|
|
86
|
+
- **Audit**: `manual` (ข้ามอัตโนมัติ), `when-sensitive` (รันเมื่อแตะ Auth/Security/Database/Secrets), `always` (รันทุกฟีเจอร์)
|
|
87
|
+
- **Check**: `manual` (ข้ามอัตโนมัติ), `when-behavioral` (รันเมื่อมี Runtime Behavior เช่น UI/CLI/API), `always` (รันทุกฟีเจอร์)
|
|
88
|
+
- **Try Guide**: `manual` (ข้ามอัตโนมัติ), `when-user-facing` (สร้าง Try Guide เมื่อเป็น UI/CLI), `always` (สร้างทุกฟีเจอร์)
|
|
89
|
+
|
|
90
|
+
### 2.5 Repair Findings
|
|
91
|
+
- ซ่อมแซม Finding ระดับ P0/P1 ที่เกิดขึ้นจากฟีเจอร์นี้โดยอัตโนมัติ (ไม่เกิน `continuous.maxRepairAttempts` ครั้ง)
|
|
92
|
+
- หากไม่สามารถซ่อมแซมได้ หรือมี P0/P1 ค้างอยู่ ให้หยุดการทำงานทันที
|
|
93
|
+
|
|
94
|
+
### 2.6 Complete Locally Like a Human
|
|
95
|
+
- รัน Verification ขั้นสุดท้าย
|
|
96
|
+
- ย้ายและ Archive เอกสารไปที่ `devflow/history/features/{xxx-slug}.md`
|
|
97
|
+
- อัปเดตเช็คบ็อกซ์ใน `devflow/build-plan.md`
|
|
98
|
+
- ลบโฟลเดอร์รัน `devflow/context/{xxx-slug}/`
|
|
99
|
+
- Squash-merge Feature Branch เข้าสู่ Local Main และลบ Feature Branch ใน Local
|
|
100
|
+
- นับจำนวนฟีเจอร์ที่สำเร็จเพิ่มขึ้น 1
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Step 3: Optional Final Integration Audit
|
|
105
|
+
|
|
106
|
+
เมื่อครบกำหนดจำนวนฟีเจอร์หรือหมด `build-plan.md` หาก `continuous.finalIntegrationAudit: true` ให้รันการตรวจสอบความเข้ากันได้แบบบูรณาการ (Cross-Feature Contracts & Seams) จากจุดเริ่มต้นถึง HEAD ปัจจุบัน
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Step 4: Stop & Report (สรุปรายงานผลลัพธ์)
|
|
111
|
+
|
|
112
|
+
เมื่อการทำงานสิ้นสุด (ไม่ว่าจะสำเร็จครบถ้วน หรือหยุดเนื่องจากติดเงื่อนไขความปลอดภัย) ให้รายงานสรุปเป็นภาษาไทย:
|
|
113
|
+
- Commit เริ่มต้น และ Commit สุดท้ายของ Default Branch
|
|
114
|
+
- รายชื่อฟีเจอร์ที่จัดส่งสำเร็จในรอบนี้ พร้อม Commit Hash
|
|
115
|
+
- ผลการรัน Quality Gates และการซ่อมแซม Findings (ถ้ามี)
|
|
116
|
+
- ความคืบหน้าภาพรวมของ `build-plan.md` และฟีเจอร์ถัดไป
|
|
117
|
+
- ย้ำเตือนชัดเจนว่า **ไม่มีการ Push ใดๆ ขึ้น Remote Repository**
|
|
Binary file
|
|
@@ -9,14 +9,14 @@ Use this skill to guide the user on what to do next, inspect current workspace s
|
|
|
9
9
|
|
|
10
10
|
## Input
|
|
11
11
|
|
|
12
|
-
- **No argument (`devflow`, `/devflow`, `$devflow`, or `status`)**: Inspect current workspace state (active
|
|
12
|
+
- **No argument (`devflow`, `/devflow`, `$devflow`, or `status`)**: Inspect current workspace state (active tasks in `devflow/context/{xxx-slug}/`, active discovery in `devflow/discoveries/`, pending ideas in `devflow/ideas.md`, and project overview in `devflow/context/project-overview.md`) and recommend the exact next action.
|
|
13
13
|
- **With user request (`devflow "<request>"`)**: Classify the user's intent and guide them to the matching DevFlow workflow stage or companion command path.
|
|
14
14
|
|
|
15
|
-
## The
|
|
15
|
+
## The Task-Isolated Living Spec Architecture
|
|
16
16
|
|
|
17
|
-
Nexus-DevFlow uses a **
|
|
17
|
+
Nexus-DevFlow uses a **Task-Isolated Living Spec Model**:
|
|
18
18
|
- **The 4-Stage Lifecycle**: `/feature` (or `/fix`) ➔ `/implement` ➔ `/check` ➔ `/complete`
|
|
19
|
-
- Driven by a **
|
|
19
|
+
- Driven by a **Task-Isolated Living Spec (`devflow/context/{xxx-slug}/spec.md`)** that integrates architectural depth (Define, Spec, Plan, Execution Log, Multi-Lane QA, and Release Digest) into dedicated task workspaces without root bottleneck.
|
|
20
20
|
- **Pre-Flight Inception Engine**: Companion skills (`/discovery`, `/idea`, `/grill`, `/brainstorm`) feed directly into `/feature`.
|
|
21
21
|
|
|
22
22
|
---
|
|
@@ -26,13 +26,13 @@ Nexus-DevFlow uses a **Single Unified Living Spec Model**:
|
|
|
26
26
|
When invoked without an argument (or when determining the next step), inspect:
|
|
27
27
|
|
|
28
28
|
1. **Project Setup Baseline**: Read `devflow/context/project-overview.md` and `devflow/context/coding-standards.md`. If empty or default placeholders, recommend `onboard` (for fresh projects) or `adopt` (for existing codebases).
|
|
29
|
-
2. **Active Delivery
|
|
30
|
-
- If `
|
|
31
|
-
- If all tasks are completed (`- [x]`) but no passing verification evidence in Section 5 -> Recommend `/check`.
|
|
32
|
-
- If verification evidence passed in Section 5 -> Recommend `/complete`.
|
|
29
|
+
2. **Active Delivery Runs**: Scan `devflow/context/{xxx-slug}/` subdirectories.
|
|
30
|
+
- If active `spec.md` has incomplete checklist tasks (`- [ ]`) -> Recommend `/implement [id]`.
|
|
31
|
+
- If all tasks are completed (`- [x]`) but no passing verification evidence in Section 5 -> Recommend `/check [id]`.
|
|
32
|
+
- If verification evidence passed in Section 5 -> Recommend `/complete [id]`.
|
|
33
33
|
3. **Active Discovery**: Check `devflow/discoveries/` for open discovery notes.
|
|
34
34
|
4. **Pending Ideas Inbox**: Check `devflow/ideas.md`. If items exist under `## 📌 Pending Ideas`, summarize them in a **💡 Pending Ideas (Inbox)** list with their IDs (`[IDEA-xxx]`), feasibility, and mention that they can be started with `/feature IDEA-xxx` or `/discovery IDEA-xxx`.
|
|
35
|
-
5. **Audit Findings Ledger**: Check `devflow/context/findings.md` for open high-severity findings.
|
|
35
|
+
5. **Audit Findings Ledger**: Check `devflow/context/{xxx-slug}/findings.md` for open high-severity findings.
|
|
36
36
|
|
|
37
37
|
### Default State Recommendations
|
|
38
38
|
- If no run is active and user wants to start a feature -> Recommend `/feature <name>`.
|
|
@@ -55,7 +55,7 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
55
55
|
| **"Execute implementation tasks"** | `implement` | `/implement` | **Core Loop**: `/implement` -> `/check` |
|
|
56
56
|
| **"Run QA verification & check"** | `check` | `/check` | **Core Loop**: `/check` -> `/complete` |
|
|
57
57
|
| **"Complete run & git merge"** | `complete` | `/complete` | **Core Loop**: `/complete` |
|
|
58
|
-
| **"Generate HTML dashboard report"**| `report-html` | `/report:html` | **Standalone**: Converts
|
|
58
|
+
| **"Generate HTML dashboard report"**| `report-html` | `/report:html` | **Standalone**: Converts living spec or archive to HTML |
|
|
59
59
|
| "Setup DevFlow on fresh/new project" | `onboard` | `onboard` / `setup` | `onboard` -> `/feature` |
|
|
60
60
|
| "Adopt DevFlow on existing codebase" | `adopt` | `adopt` / `bootstrap` | `adopt` -> `/feature` |
|
|
61
61
|
| "Check setup health & diagnostics" | `doctor` | `doctor` / `health` | `doctor` |
|
|
@@ -72,8 +72,8 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
72
72
|
## Available Skills Sitemap
|
|
73
73
|
|
|
74
74
|
### 1. Mainline Living Spec Loop (4 Steps)
|
|
75
|
-
- `feature` (`/feature`, `/spec`) - Define, spec, and plan in `
|
|
76
|
-
- `fix` (`/fix`) - Document an ad-hoc bug or change in `
|
|
75
|
+
- `feature` (`/feature`, `/spec`) - Define, spec, and plan in `devflow/context/{xxx-slug}/spec.md`
|
|
76
|
+
- `fix` (`/fix`) - Document an ad-hoc bug or change in `devflow/context/{xxx-slug}/spec.md`
|
|
77
77
|
- `implement` (`/implement`) - Execute planned checklist tasks with TDD
|
|
78
78
|
- `check` (`/check`) - Senior QA review, multi-lane verification, record evidence
|
|
79
79
|
- `complete` (`/complete`) - Safety pass, release digest, git merge, close run
|
|
@@ -76,7 +76,7 @@ devflow/discoveries/{DISCOVERY_ID}-{slug}/discovery.md
|
|
|
76
76
|
### Decision & Approval Gate:
|
|
77
77
|
Set one visible decision:
|
|
78
78
|
- `Proceed`: Enough value and evidence exist to define delivery work:
|
|
79
|
-
- Handoff to `/feature {discovery_id}` or `/fix {discovery_id}` to create the
|
|
79
|
+
- Handoff to `/feature {discovery_id}` or `/fix {discovery_id}` to create the Task-Isolated Living Spec in `devflow/context/{xxx-slug}/spec.md`.
|
|
80
80
|
- `Defer`: The idea remains relevant but timing or evidence is not ready.
|
|
81
81
|
- `Reject`: The idea should not proceed under current framing.
|
|
82
82
|
|
|
@@ -85,5 +85,5 @@ Set one visible decision:
|
|
|
85
85
|
## Next Workflow Recommendations
|
|
86
86
|
|
|
87
87
|
- **From Macro Project Mode**: Run `/overview` to compile context into `devflow/context/project-overview.md`.
|
|
88
|
-
- **From Micro Pre-Flight (Approved Proceed)**: Run `/feature {discovery_id}` or `/fix {discovery_id}` to start the
|
|
88
|
+
- **From Micro Pre-Flight (Approved Proceed)**: Run `/feature {discovery_id}` or `/fix {discovery_id}` to start the Task-Isolated Living Spec lifecycle.
|
|
89
89
|
- **From Micro Pre-Flight (Defer / Reject)**: No next command needed.
|
|
@@ -30,10 +30,10 @@ Gather these, then summarize. Do not dump file contents.
|
|
|
30
30
|
1. **Required DevFlow files**
|
|
31
31
|
- Confirm `AGENTS.md`, `devflow/project-plan.md`,
|
|
32
32
|
`devflow/build-plan.md`, and `devflow/context/` exist.
|
|
33
|
-
- Confirm `devflow/context/
|
|
34
|
-
`devflow/context/
|
|
35
|
-
`devflow/context/
|
|
36
|
-
`devflow/context/
|
|
33
|
+
- Confirm `devflow/context/project-overview.md`,
|
|
34
|
+
`devflow/context/coding-standards.md`,
|
|
35
|
+
`devflow/context/ai-interaction.md`, and
|
|
36
|
+
`devflow/context/glossary.md` exist.
|
|
37
37
|
- Confirm `devflow/history/features/` and `devflow/history/fixes/` exist.
|
|
38
38
|
When the rollback skill is installed, also check
|
|
39
39
|
`devflow/history/rollbacks/`. A missing rollback folder on a legacy
|
|
@@ -48,6 +48,14 @@ Gather these, then summarize. Do not dump file contents.
|
|
|
48
48
|
- If `.gitignore` marks DevFlow workflow files as local-only, still require
|
|
49
49
|
the files to exist on disk. Ignored but present is healthy; ignored and
|
|
50
50
|
missing means the local workflow needs to be restored.
|
|
51
|
+
- Read `devflow/config.json` when present. Missing is healthy and means
|
|
52
|
+
built-in defaults. When present, require a regular non-symbolic-link JSON
|
|
53
|
+
file with `schemaVersion: 1`. Reject unknown keys and unsupported values.
|
|
54
|
+
Report the effective workflow, git, verification, regular quality-gate,
|
|
55
|
+
Continuous quality-gate, and Continuous Mode settings. Confirm each audit,
|
|
56
|
+
check, and try-guide gate uses its supported values and defaults to `manual`.
|
|
57
|
+
An invalid config is a setup blocker for mutating workflow skills because
|
|
58
|
+
they must not guess which policy to follow.
|
|
51
59
|
2. **Tool adapters**
|
|
52
60
|
- Read `.nexus/nexus-devflow.json` when present and report its exact
|
|
53
61
|
logical adapters: Codex, Claude Code, GitHub Copilot, Antigravity, and OpenCode.
|
|
@@ -121,16 +129,12 @@ Gather these, then summarize. Do not dump file contents.
|
|
|
121
129
|
- If either planning file appears newer than the overview by filesystem time,
|
|
122
130
|
call the overview possibly stale and suggest `/overview` before feature work.
|
|
123
131
|
7. **Current workflow state**
|
|
124
|
-
-
|
|
125
|
-
active feature, fix, or rollback spec.
|
|
132
|
+
- Scan `devflow/context/{xxx-slug}/` for active task directories and specs.
|
|
126
133
|
- If a spec is active, report checked and unchecked implementation steps.
|
|
127
|
-
- If
|
|
134
|
+
- If no active task directory exists in `devflow/context/` but git has source or workflow
|
|
128
135
|
changes, warn that work is happening without an active spec.
|
|
129
136
|
- Flag active spec on `main`, all spec steps checked but no completion, or a
|
|
130
|
-
branch that does not match `feature
|
|
131
|
-
type. For a feature, also flag a mismatch with the next unchecked
|
|
132
|
-
build-plan item. For a rollback, confirm its target is a checked item and do
|
|
133
|
-
not compare it to the next unchecked item.
|
|
137
|
+
branch that does not match `feature/{xxx-slug}`, `fix/{xxx-slug}`, or `rollback/{xxx-slug}`.
|
|
134
138
|
8. **Git**
|
|
135
139
|
- Report current branch, clean vs dirty working tree, rough changed-file count,
|
|
136
140
|
last commit subject, and whether the branch is ahead of upstream.
|
|
@@ -116,9 +116,8 @@ build plan starts high-level.
|
|
|
116
116
|
|
|
117
117
|
## Step 3 - write the spec
|
|
118
118
|
|
|
119
|
-
For the one (sub-)feature being built now,
|
|
120
|
-
`devflow/context/
|
|
121
|
-
`reference/feature-spec-template.md`. Fill every section:
|
|
119
|
+
For the one (sub-)feature being built now, allocate sequential ID (`xxx-slug`) and create a dedicated workspace at `devflow/context/{xxx-slug}/`. Write the full living spec to
|
|
120
|
+
`devflow/context/{xxx-slug}/spec.md`, following `reference/feature-spec-template.md`. Also initialize `stage.md` and `findings.md` in that folder. Fill every section:
|
|
122
121
|
- Goal, Problem Statement, and In/Out of scope
|
|
123
122
|
- Acceptance Criteria (AC-1, AC-2, ...)
|
|
124
123
|
- Small build steps as atomic 2-5 min checklist items (`- [ ]`, supporting `[TDD-Red]`, `[TDD-Green]`, `[TDD-Refactor]` triplets for functional logic)
|
|
@@ -178,7 +177,7 @@ code exists. Run the draft against these questions:
|
|
|
178
177
|
test when a `test` command is declared in `AGENTS.md`, UI/integration rides on
|
|
179
178
|
screenshot + build?
|
|
180
179
|
|
|
181
|
-
Apply the fixes to `
|
|
180
|
+
Apply the fixes to `devflow/context/{xxx-slug}/spec.md`. Then stop and present the spec, leading
|
|
182
181
|
with a short **"what the critique changed"** note - the splits, gaps, or scope
|
|
183
182
|
cuts you made (or "nothing - the draft held up"). That note is the point: it shows
|
|
184
183
|
the gate working before a line of code is written.
|
|
@@ -201,8 +200,8 @@ Tell the user to review and adjust. This skill plans; it never starts building.
|
|
|
201
200
|
## When a (sub-)feature is done
|
|
202
201
|
|
|
203
202
|
Check its box in `build-plan.md` (and the parent item once all its sub-items are
|
|
204
|
-
checked), archive the finished `devflow/context/
|
|
205
|
-
`devflow/history/features/
|
|
203
|
+
checked), archive the finished `devflow/context/{xxx-slug}/spec.md` to
|
|
204
|
+
`devflow/history/features/{xxx-slug}.md`, delete the run workspace `devflow/context/{xxx-slug}/`, then run `/feature` again for the next one.
|
|
206
205
|
|
|
207
206
|
## Formatting
|
|
208
207
|
|
|
@@ -21,14 +21,14 @@ it creates a dedicated run folder at `devflow/context/{xxx-slug}/` (e.g. `059-fi
|
|
|
21
21
|
A description of the bug or change, for example `/fix "password reset email never
|
|
22
22
|
sends"`. If the user just reported the problem in chat, use that.
|
|
23
23
|
|
|
24
|
-
The input may also be a finding ID from `devflow/context/findings.md
|
|
24
|
+
The input may also be a finding ID from `devflow/context/{xxx-slug}/findings.md` (or previous findings), alone
|
|
25
25
|
or with a description, for example `/fix F-03`.
|
|
26
26
|
|
|
27
27
|
## Step 1 - write the fix spec
|
|
28
28
|
|
|
29
29
|
Pull context from `devflow/context/project-overview.md` and `devflow/context/coding-standards.md`,
|
|
30
30
|
calculate the next sequential running ID (e.g. `059-fix-slug`),
|
|
31
|
-
then write a short spec to `devflow/context/{xxx-slug}/spec.md`
|
|
31
|
+
then write a short spec to `devflow/context/{xxx-slug}/spec.md`. Also initialize `stage.md` and `findings.md` in that folder. Keep it lighter than a feature spec:
|
|
32
32
|
|
|
33
33
|
- **Title** - the bug or change in a few words.
|
|
34
34
|
- **Type:** Fix (so `/complete` logs it to `devflow/history/fixes/`, not `devflow/history/features/`).
|
|
@@ -13,7 +13,7 @@ Where this sits in the workflow:
|
|
|
13
13
|
reviewed) merge + log)
|
|
14
14
|
|
|
15
15
|
`/feature`, `/fix`, or `/rollback` wrote the spec to
|
|
16
|
-
`devflow/context/{xxx-slug}/spec.md`
|
|
16
|
+
`devflow/context/{xxx-slug}/spec.md` and stopped.
|
|
17
17
|
This skill turns that spec into code, following the build loop in
|
|
18
18
|
`devflow/context/ai-interaction.md`, without vibe coding: small steps, a visible diff plus
|
|
19
19
|
a plain-English explanation for each, testing, and iteration until it works, all
|
|
@@ -24,11 +24,11 @@ checkpoint after each step; the work-level commit, merging, and logging are
|
|
|
24
24
|
## Multi-Run Target Resolution
|
|
25
25
|
|
|
26
26
|
- **Given an ID or name** (e.g. `/implement 12`, `/implement 012`, `/implement kanban`) -> locates the matching run folder `devflow/context/{xxx-slug}/`, checks out `feature/{xxx-slug}`, and loads only that run's `spec.md`.
|
|
27
|
-
- **With no argument** (`/implement`) -> checks current git branch
|
|
27
|
+
- **With no argument** (`/implement`) -> checks current git branch matching `feature/{xxx-slug}`, or auto-picks if only 1 spec is active in `devflow/context/`, or prompts the user if multiple specs are queued.
|
|
28
28
|
|
|
29
29
|
## Before you start
|
|
30
30
|
|
|
31
|
-
Read the target spec from `devflow/context/{xxx-slug}/spec.md
|
|
31
|
+
Read the target spec from `devflow/context/{xxx-slug}/spec.md`. If it has no real spec (missing or its
|
|
32
32
|
status is already complete), stop and tell the user to run `/feature` (for a
|
|
33
33
|
planned feature), `/fix` (for an ad-hoc bug or change), or `/rollback` (for a
|
|
34
34
|
completed feature reversal) first. Pull the
|
|
@@ -45,13 +45,12 @@ feature was started earlier and interrupted (often a cleared context). The spec
|
|
|
45
45
|
its ticked steps are files, so pick up where it left off: read which steps are done,
|
|
46
46
|
check the git branch and `git status`/log to see what is committed and what is still
|
|
47
47
|
in the working tree, then continue from the **first unchecked step** instead of
|
|
48
|
-
starting over.
|
|
49
|
-
`current-feature.md` every session.
|
|
48
|
+
starting over.
|
|
50
49
|
|
|
51
50
|
## Step 1 - branch
|
|
52
51
|
|
|
53
|
-
Create and check out a branch named from the spec: `feature
|
|
54
|
-
`fix
|
|
52
|
+
Create and check out a branch named from the spec: `feature/{xxx-slug}` for a feature,
|
|
53
|
+
`fix/{xxx-slug}` for a fix, or `rollback/{xxx-slug}` for a Type: Rollback spec. If the
|
|
55
54
|
project isn't a git repo yet, say so and ask the user to run `git init` first;
|
|
56
55
|
the loop needs branches. On resume, the branch already exists - check it out
|
|
57
56
|
instead of creating a new one.
|
|
@@ -60,7 +59,7 @@ instead of creating a new one.
|
|
|
60
59
|
|
|
61
60
|
For a rollback spec, do not hand-delete the old feature and do not run a whole
|
|
62
61
|
commit `git revert`. Completed feature commits also contain Blueprint history and
|
|
63
|
-
plan bookkeeping, while `
|
|
62
|
+
plan bookkeeping, while `devflow/context/{xxx-slug}/spec.md` now contains the active rollback
|
|
64
63
|
spec. Reversing the whole commit would damage that state.
|
|
65
64
|
|
|
66
65
|
Before the first rollback build step:
|
|
@@ -133,9 +132,9 @@ Work through the spec's build steps in order, one at a time. For each step:
|
|
|
133
132
|
Repeat until it works and the user approves. Nothing is committed until the
|
|
134
133
|
user is happy with the step.
|
|
135
134
|
6. **Mark it done, then prompt to move on.** Once the step is approved, check that
|
|
136
|
-
step off (`- [x]`) in `devflow/context/
|
|
135
|
+
step off (`- [x]`) in `devflow/context/{xxx-slug}/spec.md` so progress survives a context
|
|
137
136
|
clear. If the step repaired a finding tracked in
|
|
138
|
-
`devflow/context/findings.md`, set that finding's status to `fixed` now too
|
|
137
|
+
`devflow/context/{xxx-slug}/findings.md`, set that finding's status to `fixed` now too
|
|
139
138
|
and note the repair in its **Resolution** line. Never set `closed`: a repair
|
|
140
139
|
is re-reviewed by `/audit` before it clears, because a fix can introduce a
|
|
141
140
|
worse defect than the one it removed. Then offer a short choice, noting that checkpoints are optional since
|
|
@@ -164,12 +163,12 @@ pass before any commit.
|
|
|
164
163
|
|
|
165
164
|
## Step 3 - hand off to /complete
|
|
166
165
|
|
|
167
|
-
Before handing off, check `devflow/context/findings.md`. A P0 or P1 finding
|
|
166
|
+
Before handing off, check `devflow/context/{xxx-slug}/findings.md`. A P0 or P1 finding
|
|
168
167
|
still `open` or `fixed` there means `/complete` will refuse the merge, so close
|
|
169
168
|
the loop now:
|
|
170
169
|
|
|
171
170
|
- Repair each `open` P0 or P1 as an extra reviewed step. First append it to the
|
|
172
|
-
spec's build steps in `
|
|
171
|
+
spec's build steps in `devflow/context/{xxx-slug}/spec.md` (`- [ ] Repair F-03 - <title>`) so
|
|
173
172
|
the repair is on the record and survives a context clear, then run the same
|
|
174
173
|
loop as Step 2: smallest change, diff, plain-English explanation, evidence.
|
|
175
174
|
Check the step off and mark the finding `fixed` together.
|
|
@@ -46,7 +46,7 @@ Read:
|
|
|
46
46
|
- `devflow/project-plan.md`
|
|
47
47
|
- `devflow/build-plan.md`
|
|
48
48
|
- `devflow/context/project-overview.md`
|
|
49
|
-
- `devflow/context/
|
|
49
|
+
- `devflow/context/{xxx-slug}/spec.md` (when a task is active)
|
|
50
50
|
- package or build files such as `package.json`, lockfiles, framework config,
|
|
51
51
|
Dockerfile, `render.yaml`, `vercel.json`, `.env.example`, and README files
|
|
52
52
|
- git branch and working tree status
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: report-html
|
|
3
|
-
description: "[devflow] Standalone HTML Report Generator - render an interactive standalone HTML dashboard from
|
|
3
|
+
description: "[devflow] Standalone HTML Report Generator - render an interactive standalone HTML dashboard from devflow/context/{xxx-slug}/spec.md or history archives on demand."
|
|
4
4
|
argument-hint: "[{running-id or workspace path}]"
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ argument-hint: "[{running-id or workspace path}]"
|
|
|
8
8
|
|
|
9
9
|
$ARGUMENTS
|
|
10
10
|
|
|
11
|
-
Standalone companion command to generate an interactive, self-contained HTML report dashboard on demand from
|
|
11
|
+
Standalone companion command to generate an interactive, self-contained HTML report dashboard on demand from task-specific context `devflow/context/{xxx-slug}/spec.md`, or archived history files in `devflow/history/`.
|
|
12
12
|
|
|
13
13
|
> [!NOTE]
|
|
14
14
|
> HTML reports are **never automatically generated** during normal mainline stages (`/complete`). Use this command whenever you or stakeholders wish to view or share an interactive web report.
|
|
@@ -26,7 +26,7 @@ When invoked:
|
|
|
26
26
|
|
|
27
27
|
### 1. Identify Target Run
|
|
28
28
|
1. Locate target markdown document:
|
|
29
|
-
- Active Living Spec: `devflow/context/
|
|
29
|
+
- Active Living Spec: `devflow/context/{xxx-slug}/spec.md`
|
|
30
30
|
- Archived History: `devflow/history/{features|fixes|rollbacks}/{xxx-slug}.md`
|
|
31
31
|
2. Parse spec sections, checklist steps, QA evidence, and verification logs.
|
|
32
32
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rollback
|
|
3
|
-
description: "[devflow] Plan a safe reversal of a completed Blueprint feature using its archived spec and squashed git commit. Finds the exact feature commit, reviews later commits for dependency risk, writes a Type: Rollback spec to devflow/context/
|
|
3
|
+
description: "[devflow] Plan a safe reversal of a completed Blueprint feature using its archived spec and squashed git commit. Finds the exact feature commit, reviews later commits for dependency risk, writes a Type: Rollback spec to devflow/context/{xxx-slug}/spec.md, and stops for review before /implement applies any code change. Use when the user runs /rollback, asks to remove or undo a completed feature, or wants to return the app to its pre-feature behavior without erasing Blueprint history."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# rollback - safely reverse a completed feature
|
|
@@ -33,14 +33,12 @@ the feature was removed.
|
|
|
33
33
|
|
|
34
34
|
## Step 0 - preflight
|
|
35
35
|
|
|
36
|
-
Read `AGENTS.md`, `devflow/build-plan.md`,
|
|
37
|
-
`devflow/context/current-feature.md`, the completed feature archives, and git
|
|
36
|
+
Read `AGENTS.md`, `devflow/build-plan.md`, the completed feature archives, and git
|
|
38
37
|
state.
|
|
39
38
|
|
|
40
39
|
Stop before writing when:
|
|
41
40
|
|
|
42
41
|
- the directory is not a git repository
|
|
43
|
-
- `current-feature.md` already holds active work
|
|
44
42
|
- the working tree is dirty, including unrelated untracked work
|
|
45
43
|
- the current branch is not the local main or default branch
|
|
46
44
|
- the target is not a checked build-plan feature with a matching archive
|
|
@@ -107,8 +105,8 @@ remediation or explicitly plan the dependent rollbacks.
|
|
|
107
105
|
|
|
108
106
|
## Step 4 - write the rollback spec
|
|
109
107
|
|
|
110
|
-
Write `devflow/context/
|
|
111
|
-
`reference/rollback-spec-template.md`. Fill in:
|
|
108
|
+
Allocate sequential ID (`xxx-slug`) and create `devflow/context/{xxx-slug}/`. Write `devflow/context/{xxx-slug}/spec.md` using
|
|
109
|
+
`reference/rollback-spec-template.md`. Also initialize `stage.md` and `findings.md` in that folder. Fill in:
|
|
112
110
|
|
|
113
111
|
- target feature, archive, exact commit, and parent commit
|
|
114
112
|
- user's reason
|