@jakkrichm/create-nexus-devflow 2.6.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +3 -3
  2. package/dist/lib/branch-context.js +12 -4
  3. package/dist/lib/branch-context.js.map +1 -1
  4. package/dist/lib/current-work.js +15 -108
  5. package/dist/lib/current-work.js.map +1 -1
  6. package/dist/lib/discoveries.js +4 -15
  7. package/dist/lib/discoveries.js.map +1 -1
  8. package/dist/lib/doctor.js +30 -0
  9. package/dist/lib/doctor.js.map +1 -1
  10. package/dist/lib/history.js +1 -1
  11. package/dist/lib/history.js.map +1 -1
  12. package/dist/lib/project-config.d.ts +55 -0
  13. package/dist/lib/project-config.js +228 -0
  14. package/dist/lib/project-config.js.map +1 -0
  15. package/dist/lib/status.d.ts +7 -0
  16. package/dist/lib/status.js +25 -15
  17. package/dist/lib/status.js.map +1 -1
  18. package/package.json +1 -1
  19. package/template/.agents/skills/brainstorm/SKILL.md +1 -1
  20. package/template/.agents/skills/continuous/SKILL.md +118 -0
  21. package/template/.agents/skills/doctor/SKILL.md +8 -0
  22. package/template/.agents/skills/grill/SKILL.md +2 -2
  23. package/template/.agents/skills/idea/SKILL.md +2 -2
  24. package/template/.agents/skills/report-html/SKILL.md +13 -13
  25. package/template/.agents/skills/test/SKILL.md +4 -4
  26. package/template/.claude/skills/brainstorm/SKILL.md +1 -1
  27. package/template/.claude/skills/continuous/SKILL.md +118 -0
  28. package/template/.claude/skills/doctor/SKILL.md +8 -0
  29. package/template/.claude/skills/grill/SKILL.md +2 -2
  30. package/template/.claude/skills/idea/SKILL.md +2 -2
  31. package/template/.claude/skills/report-html/SKILL.md +13 -13
  32. package/template/.claude/skills/test/SKILL.md +4 -4
  33. package/template/AGENTS.md +12 -5
  34. package/template/devflow/build-plan.md +12 -1
  35. package/template/devflow/config.json +33 -0
  36. package/template/devflow/context/ai-interaction.md +1 -1
  37. package/template/devflow/context/coding-standards.md +2 -2
  38. package/template/devflow/decisions/README.md +1 -1
  39. package/template/devflow/history/features/README.md +1 -1
  40. package/template/devflow/history/fixes/README.md +1 -1
  41. package/template/devflow/history/rollbacks/README.md +1 -1
  42. package/template/devflow/reference/mockup.html +16 -31
@@ -1,21 +1,21 @@
1
1
  ---
2
2
  name: report-html
3
- description: "[devflow] Standalone HTML Report Generator - render an interactive standalone HTML dashboard from current-feature.md or 60-report.md on demand."
4
- argument-hint: "{running-id or workspace path}"
3
+ description: "[devflow] Standalone HTML Report Generator - render an interactive standalone HTML dashboard from current-feature.md or history archives on demand."
4
+ argument-hint: "[{running-id or workspace path}]"
5
5
  ---
6
6
 
7
7
  # Standalone: Report HTML
8
8
 
9
9
  $ARGUMENTS
10
10
 
11
- Standalone companion command to generate an interactive, self-contained HTML report dashboard on demand from either a Fast-Track `current-feature.md` or a Deep-Track `60-report.md`.
11
+ Standalone companion command to generate an interactive, self-contained HTML report dashboard on demand from `current-feature.md`, task-specific context `devflow/context/{xxx-slug}/spec.md`, or archived history files in `devflow/history/`.
12
12
 
13
13
  > [!NOTE]
14
- > HTML reports are **never automatically generated** during normal mainline stages (`/complete` or `60-report`). Use this command whenever you or stakeholders wish to view or share an interactive web report.
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.
15
15
 
16
16
  ## Invocations & Aliases
17
17
 
18
- - `/report:html`: Generate HTML report for the active or most recent run
18
+ - `/report:html`: Generate HTML report for the active run
19
19
  - `/report:html {running-id}`: Generate HTML report for the specified running ID
20
20
  - `npm run report:html -- {running-id}`: CLI npm script invocation
21
21
  - `$report:html`: Codex CLI invocation
@@ -25,21 +25,21 @@ Standalone companion command to generate an interactive, self-contained HTML rep
25
25
  When invoked:
26
26
 
27
27
  ### 1. Identify Target Run
28
- 1. Locate target run directory in `devflow/runs/{running-id}` from argument or `devflow/context/current-stage.md`.
29
- 2. Check for either:
30
- - Fast-Track Living Spec: `devflow/runs/{RUNNING_ID}/current-feature.md` (or `spec.md` / `blueprint.md`)
31
- - Deep-Track Report Digest: `devflow/runs/{RUNNING_ID}/60-report.md`
28
+ 1. Locate target markdown document:
29
+ - Active Living Spec: `devflow/context/current-feature.md` or `devflow/context/{xxx-slug}/spec.md`
30
+ - Archived History: `devflow/history/{features|fixes|rollbacks}/{xxx-slug}.md`
31
+ 2. Parse spec sections, checklist steps, QA evidence, and verification logs.
32
32
 
33
33
  ### 2. Render Interactive HTML Dashboard
34
- Execute the HTML generation engine:
34
+ Execute the HTML generation engine or script:
35
35
  ```bash
36
36
  npm run report:html -- {RUNNING_ID}
37
37
  ```
38
- Or execute the renderer to transform Markdown into a styled, standalone HTML document:
39
- - Path: `devflow/runs/{RUNNING_ID}/report.html`
38
+ Or transform Markdown into a styled, standalone HTML document:
39
+ - Output: `devflow/reports/{RUNNING_ID}-report.html` (or adjacent `{xxx-slug}.html`)
40
40
 
41
41
  ### 3. Output
42
42
  Provide:
43
- - Generated HTML file path: `file:///devflow/runs/{RUNNING_ID}/report.html`
43
+ - Generated HTML file path: `file:///devflow/reports/{RUNNING_ID}-report.html`
44
44
  - Summary of sections rendered (Spec, Plan, Progress, QA Evidence, Release Notes)
45
45
  - Instructions to open the file in any browser
@@ -81,14 +81,14 @@ For browser and UI features, unit tests alone are insufficient:
81
81
 
82
82
  ## 6. Test Generation & Persistent Execution Reports
83
83
 
84
- When generating or logging test runs during `40-execute` or `50-verify`:
84
+ When generating or logging test runs during `/implement` or `/check`:
85
85
  - Save summary reports to `devflow/reports/{date}-test-report-{slug}.md`
86
86
  - Include: Target, Test Cases (Happy Path, Error, Edge Cases), Pass/Fail statistics, and gaps/risks.
87
87
 
88
88
  ---
89
89
 
90
- ## Relationship To DevFlow 2.0
90
+ ## Relationship To DevFlow 2.6.x
91
91
 
92
92
  - **Classification**: Companion command & Engineering standard
93
- - **Mainline stages**: `30-plan` (TDD decisions), `40-execute` (TDD execution), `50-verify` (QA gate)
94
- - **Handoff**: `50-verify`, `Debug`, `autopilot`
93
+ - **Mainline stages**: `feature` / `fix` (TDD decisions), `implement` (TDD execution), `check` (QA gate)
94
+ - **Handoff**: `check`, `debug`, `autopilot`
@@ -58,5 +58,5 @@ Construct a structured evaluation table:
58
58
 
59
59
  ## Next Workflow Recommendation
60
60
 
61
- - **Primary**: `discovery {discovery_id}` (if resuming discovery) or `10-define` / `feature` (if ready to specify)
61
+ - **Primary**: `discovery {discovery_id}` (if resuming discovery) or `feature` (if ready to specify)
62
62
  - **Inbox**: `idea` to record into `devflow/ideas.md`
@@ -0,0 +1,118 @@
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, Single Living Spec (current-feature.md), 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 & Single Living Spec (`current-feature.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/current-feature.md` ให้ทำต่อจากขั้นตอนย่อยแรกที่ยังไม่ได้เช็ค (`- [ ]`)
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/current-feature.md` และ `devflow/context/current-stage.md`
55
+ - `devflow/context/findings.md`
56
+ - `devflow/context/coding-standards.md` และ `devflow/context/ai-interaction.md`
57
+ - สถานะ Git (`git status`, `git branch`, recent log)
58
+
59
+ ### กฎการเริ่มงาน (Start Conditions):
60
+ 1. สถานะ Git Working Tree สะอาด (Clean) บน Default Branch หรือมีเฉพาะ Diff ของฟีเจอร์ปัจจุบัน
61
+ 2. `devflow/build-plan.md` มีฟีเจอร์ที่ยังไม่ได้ทำเหลืออยู่
62
+ 3. ไม่มี Finding ระดับ P0 หรือ P1 ค้างในสถานะ `open` หรือ `fixed`
63
+ 4. บันทึก Commit SHA ตั้งต้นของ Default Branch ไว้สำหรับสรุปผลในรายงานสุดท้าย
64
+
65
+ ---
66
+
67
+ ## Step 2: Serial Feature Lifecycle (วงจรการส่งมอบทีละฟีเจอร์)
68
+
69
+ ดำเนินงานวนลูปทีละ 1 ฟีเจอร์ตามลำดับ:
70
+
71
+ ### 2.1 Select & Spec (เลือกและร่างสเปก)
72
+ - หาก Resuming: ใช้ Spec เดิมใน `current-feature.md`
73
+ - หากเป็นฟีเจอร์ใหม่: ถอดความต้องการจาก `build-plan.md` และสร้าง Single Living Spec ลงใน `devflow/context/current-feature.md` พร้อมวิเคราะห์ Red-team ก่อนเริ่มโค้ด
74
+
75
+ ### 2.2 Create / Resume Feature Branch
76
+ - สร้าง Branch ตาม Prefix ใน Config (เช่น `feature/060-slug`) จาก Default Branch
77
+
78
+ ### 2.3 Implement Small Steps with Strict TDD
79
+ - ดำเนินการสร้างฟังก์ชันทีละ Task ตาม Checklist ใน Spec:
80
+ 1. `[TDD-Red]`: เขียน Unit Test ก่อน
81
+ 2. `[TDD-Green]`: เขียนโค้ดขั้นต่ำให้ Test ผ่าน
82
+ 3. `[TDD-Refactor]`: ปรับแต่งโค้ดให้สะอาดและรัน Verification ผ่าน
83
+ 4. ทำเครื่องหมาย `- [x]` ใน Spec และบันทึก Checkpoint Commit บน Branch (หาก `workflow.checkpointCommits: "enabled"`)
84
+
85
+ ### 2.4 Apply Continuous Quality Gates
86
+ ตรวจสอบตามการตั้งค่า `qualityGates.continuous` ใน `devflow/config.json`:
87
+ - **Audit**: `manual` (ข้ามอัตโนมัติ), `when-sensitive` (รันเมื่อแตะ Auth/Security/Database/Secrets), `always` (รันทุกฟีเจอร์)
88
+ - **Check**: `manual` (ข้ามอัตโนมัติ), `when-behavioral` (รันเมื่อมี Runtime Behavior เช่น UI/CLI/API), `always` (รันทุกฟีเจอร์)
89
+ - **Try Guide**: `manual` (ข้ามอัตโนมัติ), `when-user-facing` (สร้าง Try Guide เมื่อเป็น UI/CLI), `always` (สร้างทุกฟีเจอร์)
90
+
91
+ ### 2.5 Repair Findings
92
+ - ซ่อมแซม Finding ระดับ P0/P1 ที่เกิดขึ้นจากฟีเจอร์นี้โดยอัตโนมัติ (ไม่เกิน `continuous.maxRepairAttempts` ครั้ง)
93
+ - หากไม่สามารถซ่อมแซมได้ หรือมี P0/P1 ค้างอยู่ ให้หยุดการทำงานทันที
94
+
95
+ ### 2.6 Complete Locally Like a Human
96
+ - รัน Verification ขั้นสุดท้าย
97
+ - ย้ายและ Archive เอกสารไปที่ `devflow/history/features/{xxx-slug}.md`
98
+ - อัปเดตเช็คบ็อกซ์ใน `devflow/build-plan.md`
99
+ - รีเซ็ต `devflow/context/current-feature.md` กลับสู่ Stub
100
+ - Squash-merge Feature Branch เข้าสู่ Local Main และลบ Feature Branch ใน Local
101
+ - นับจำนวนฟีเจอร์ที่สำเร็จเพิ่มขึ้น 1
102
+
103
+ ---
104
+
105
+ ## Step 3: Optional Final Integration Audit
106
+
107
+ เมื่อครบกำหนดจำนวนฟีเจอร์หรือหมด `build-plan.md` หาก `continuous.finalIntegrationAudit: true` ให้รันการตรวจสอบความเข้ากันได้แบบบูรณาการ (Cross-Feature Contracts & Seams) จากจุดเริ่มต้นถึง HEAD ปัจจุบัน
108
+
109
+ ---
110
+
111
+ ## Step 4: Stop & Report (สรุปรายงานผลลัพธ์)
112
+
113
+ เมื่อการทำงานสิ้นสุด (ไม่ว่าจะสำเร็จครบถ้วน หรือหยุดเนื่องจากติดเงื่อนไขความปลอดภัย) ให้รายงานสรุปเป็นภาษาไทย:
114
+ - Commit เริ่มต้น และ Commit สุดท้ายของ Default Branch
115
+ - รายชื่อฟีเจอร์ที่จัดส่งสำเร็จในรอบนี้ พร้อม Commit Hash
116
+ - ผลการรัน Quality Gates และการซ่อมแซม Findings (ถ้ามี)
117
+ - ความคืบหน้าภาพรวมของ `build-plan.md` และฟีเจอร์ถัดไป
118
+ - ย้ำเตือนชัดเจนว่า **ไม่มีการ Push ใดๆ ขึ้น Remote Repository**
@@ -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.
@@ -89,5 +89,5 @@ Allocate the next sequential ID (`ADR-001`, `ADR-002`, ...) and create `devflow/
89
89
  When all design branches are resolved:
90
90
  1. Summarize settled domain terms and created ADRs.
91
91
  2. Provide explicit next command recommendations:
92
- - **Fast-Track (Standard Features/Fixes)**: Run `/feature {topic}` or `/fix {topic}` to immediately start the living spec.
93
- - **Deep-Track (Large Architectural Epics)**: Run `10-define` or `/discovery` with the discovery context.
92
+ - **Living Spec (Standard Delivery)**: Run `/feature {topic}` or `/fix {topic}` to immediately start the living spec.
93
+ - **Pre-Flight Discovery**: Run `/discovery {topic}` to conduct comprehensive discovery exploration before specification.
@@ -44,7 +44,7 @@ Insert the new idea block directly under `## 📌 Pending Ideas` in `devflow/ide
44
44
  - **Quick Seed (กันลืม)**:
45
45
  1. {ประเด็นสำคัญที่ 1}
46
46
  2. {ประเด็นสำคัญที่ 2}
47
- - **สถานะ**: `Pending` (หยิบไปทำได้ด้วย `/spec IDEA-001` หรือ `/00-explore IDEA-001`)
47
+ - **สถานะ**: `Pending` (หยิบไปทำได้ด้วย `/feature IDEA-001` หรือ `/discovery IDEA-001`)
48
48
  ```
49
49
 
50
50
  *(หากมีข้อความ `*(ยังไม่มีไอเดียค้างอยู่...)*` ให้ลบออกเมื่อมีไอเดียแรก)*
@@ -54,4 +54,4 @@ Report to the user:
54
54
  - Allocated Idea ID: `[IDEA-xxx]`
55
55
  - Summary of Feasibility & Value analysis
56
56
  - Seed points saved
57
- - Instructions for promotion: "เมื่อพร้อมลงมือทำ สามารถพิมพ์ `/spec IDEA-xxx` หรือ `/00-explore IDEA-xxx` ได้ทันที"
57
+ - Instructions for promotion: "เมื่อพร้อมลงมือทำ สามารถพิมพ์ `/feature IDEA-xxx` หรือ `/discovery IDEA-xxx` ได้ทันที"
@@ -1,21 +1,21 @@
1
1
  ---
2
2
  name: report-html
3
- description: "[devflow] Standalone HTML Report Generator - render an interactive standalone HTML dashboard from current-feature.md or 60-report.md on demand."
4
- argument-hint: "{running-id or workspace path}"
3
+ description: "[devflow] Standalone HTML Report Generator - render an interactive standalone HTML dashboard from current-feature.md or history archives on demand."
4
+ argument-hint: "[{running-id or workspace path}]"
5
5
  ---
6
6
 
7
7
  # Standalone: Report HTML
8
8
 
9
9
  $ARGUMENTS
10
10
 
11
- Standalone companion command to generate an interactive, self-contained HTML report dashboard on demand from either a Fast-Track `current-feature.md` or a Deep-Track `60-report.md`.
11
+ Standalone companion command to generate an interactive, self-contained HTML report dashboard on demand from `current-feature.md`, task-specific context `devflow/context/{xxx-slug}/spec.md`, or archived history files in `devflow/history/`.
12
12
 
13
13
  > [!NOTE]
14
- > HTML reports are **never automatically generated** during normal mainline stages (`/complete` or `60-report`). Use this command whenever you or stakeholders wish to view or share an interactive web report.
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.
15
15
 
16
16
  ## Invocations & Aliases
17
17
 
18
- - `/report:html`: Generate HTML report for the active or most recent run
18
+ - `/report:html`: Generate HTML report for the active run
19
19
  - `/report:html {running-id}`: Generate HTML report for the specified running ID
20
20
  - `npm run report:html -- {running-id}`: CLI npm script invocation
21
21
  - `$report:html`: Codex CLI invocation
@@ -25,21 +25,21 @@ Standalone companion command to generate an interactive, self-contained HTML rep
25
25
  When invoked:
26
26
 
27
27
  ### 1. Identify Target Run
28
- 1. Locate target run directory in `devflow/runs/{running-id}` from argument or `devflow/context/current-stage.md`.
29
- 2. Check for either:
30
- - Fast-Track Living Spec: `devflow/runs/{RUNNING_ID}/current-feature.md` (or `spec.md` / `blueprint.md`)
31
- - Deep-Track Report Digest: `devflow/runs/{RUNNING_ID}/60-report.md`
28
+ 1. Locate target markdown document:
29
+ - Active Living Spec: `devflow/context/current-feature.md` or `devflow/context/{xxx-slug}/spec.md`
30
+ - Archived History: `devflow/history/{features|fixes|rollbacks}/{xxx-slug}.md`
31
+ 2. Parse spec sections, checklist steps, QA evidence, and verification logs.
32
32
 
33
33
  ### 2. Render Interactive HTML Dashboard
34
- Execute the HTML generation engine:
34
+ Execute the HTML generation engine or script:
35
35
  ```bash
36
36
  npm run report:html -- {RUNNING_ID}
37
37
  ```
38
- Or execute the renderer to transform Markdown into a styled, standalone HTML document:
39
- - Path: `devflow/runs/{RUNNING_ID}/report.html`
38
+ Or transform Markdown into a styled, standalone HTML document:
39
+ - Output: `devflow/reports/{RUNNING_ID}-report.html` (or adjacent `{xxx-slug}.html`)
40
40
 
41
41
  ### 3. Output
42
42
  Provide:
43
- - Generated HTML file path: `file:///devflow/runs/{RUNNING_ID}/report.html`
43
+ - Generated HTML file path: `file:///devflow/reports/{RUNNING_ID}-report.html`
44
44
  - Summary of sections rendered (Spec, Plan, Progress, QA Evidence, Release Notes)
45
45
  - Instructions to open the file in any browser
@@ -81,14 +81,14 @@ For browser and UI features, unit tests alone are insufficient:
81
81
 
82
82
  ## 6. Test Generation & Persistent Execution Reports
83
83
 
84
- When generating or logging test runs during `40-execute` or `50-verify`:
84
+ When generating or logging test runs during `/implement` or `/check`:
85
85
  - Save summary reports to `devflow/reports/{date}-test-report-{slug}.md`
86
86
  - Include: Target, Test Cases (Happy Path, Error, Edge Cases), Pass/Fail statistics, and gaps/risks.
87
87
 
88
88
  ---
89
89
 
90
- ## Relationship To DevFlow 2.0
90
+ ## Relationship To DevFlow 2.6.x
91
91
 
92
92
  - **Classification**: Companion command & Engineering standard
93
- - **Mainline stages**: `30-plan` (TDD decisions), `40-execute` (TDD execution), `50-verify` (QA gate)
94
- - **Handoff**: `50-verify`, `Debug`, `autopilot`
93
+ - **Mainline stages**: `feature` / `fix` (TDD decisions), `implement` (TDD execution), `check` (QA gate)
94
+ - **Handoff**: `check`, `debug`, `autopilot`
@@ -1,4 +1,4 @@
1
- # Nexus-DevFlow 2.6.1 (The 3-Pillars & Single Living Spec Model)
1
+ # Nexus-DevFlow 2.7.0 (The 3-Pillars & Single Living Spec Model)
2
2
 
3
3
  Instructions for AI coding agents working in this project. This is the cross-tool entry point: Codex, Google Antigravity, Cursor, GitHub Copilot, Gemini CLI, Aider, Zed, Windsurf, and others read `AGENTS.md`. Claude Code reads `CLAUDE.md`, which imports this file (`@AGENTS.md`), so there is a single source of truth.
4
4
 
@@ -13,6 +13,7 @@ To start a new project, scaffold the application first in an empty folder, then
13
13
 
14
14
  ## Read these for full context
15
15
 
16
+ - `devflow/config.json` - deterministic project workflow settings
16
17
  - `devflow/context/project-overview.md` - the project's source of truth
17
18
  - `devflow/context/coding-standards.md` - engineering conventions & rules to follow
18
19
  - `devflow/context/ai-interaction.md` - how to interact with the user on this project
@@ -20,6 +21,12 @@ To start a new project, scaffold the application first in an empty folder, then
20
21
  - `devflow/context/findings.md` - quality, security, and verification ledger
21
22
  - `devflow/context/glossary.md` - domain terms & architecture definitions
22
23
 
24
+ ## Project configuration
25
+
26
+ `devflow/config.json` is the user-owned, machine-readable workflow policy for this project. Workflow skills read the relevant settings before acting. A missing file means built-in defaults. An invalid file falls back to defaults for read-only status reporting, but mutating workflow commands stop and point to `/doctor` instead of guessing.
27
+
28
+ `qualityGates.regular` controls automatic audit, check, and try-guide behavior for the normal workflow and Autopilot. `qualityGates.continuous` controls the same per-feature gates for Continuous Mode. Every gate defaults to `manual`.
29
+
23
30
  ## Tool-Specific Adapters & Execution Rules
24
31
 
25
32
  The workflow and skills are exposed through tool-specific adapters:
@@ -32,10 +39,10 @@ Unused adapter families can be removed. Codex, Antigravity, GitHub Copilot, and
32
39
 
33
40
  ### Universal Invocation & Agent Directives:
34
41
 
35
- 1. **Canonical Command Names & AI Provider Invocation**: Each workflow stage and companion tool has exactly **one Canonical Name** (e.g. `feature`, `fix`, `implement`, `check`, `complete`, `discovery`, `idea`, `grill`, `brainstorm`, `devflow`, `doctor`, `overview`, `debug`, `onboard`, `adopt`, `try`, `rollback`, `ci`, `test`, `tests`, `autopilot`, `prototype`, `report-html`, `brief`, `audit`, `release`). The way you invoke commands depends on your AI Provider / Tool:
36
- - **Canonical Name (Plain text)**: Directly invoke or prompt the command by its standard name (e.g., `feature`, `implement`, `devflow`, `discovery`).
37
- - **Slash Prefix (`/`)**: For tools supporting slash commands (Claude Code, Google Antigravity, Gemini CLI), e.g., `/feature`, `/fix`, `/implement`, `/devflow`, `/discovery`.
38
- - **Dollar Prefix (`$`)**: For OpenAI Codex CLI or skill-invocation tools, e.g., `$feature`, `$fix`, `$devflow`, `$discovery`.
42
+ 1. **Canonical Command Names & AI Provider Invocation**: Each workflow stage and companion tool has exactly **one Canonical Name** (e.g. `feature`, `fix`, `implement`, `check`, `complete`, `continuous`, `discovery`, `idea`, `grill`, `brainstorm`, `devflow`, `doctor`, `overview`, `debug`, `onboard`, `adopt`, `try`, `rollback`, `ci`, `test`, `tests`, `autopilot`, `prototype`, `report-html`, `brief`, `audit`, `release`, `convert-any-to-md`). The way you invoke commands depends on your AI Provider / Tool:
43
+ - **Canonical Name (Plain text)**: Directly invoke or prompt the command by its standard name (e.g., `feature`, `implement`, `continuous`, `devflow`, `discovery`).
44
+ - **Slash Prefix (`/`)**: For tools supporting slash commands (Claude Code, Google Antigravity, Gemini CLI), e.g., `/feature`, `/fix`, `/implement`, `/continuous`, `/devflow`, `/discovery`.
45
+ - **Dollar Prefix (`$`)**: For OpenAI Codex CLI or skill-invocation tools, e.g., `$feature`, `$fix`, `$continuous`, `$devflow`, `$discovery`.
39
46
  2. **OpenAI Codex & Non-Native CLI Tools**: In environments without automatic background skill discovery (such as OpenAI Codex CLI, Aider, or generic terminals), **you MUST use your file reading tool to inspect `.agents/skills/<skill>/SKILL.md` before executing the stage** to strictly follow its schema, artifact contract, and quality gates.
40
47
  3. **Google Antigravity & Claude Code**: Native skill engines automatically discover and surface `.agents/skills/` and `.claude/skills/`.
41
48
  4. **State-Aware Inspection**: When unsure what to do next, invoke `devflow` to automatically inspect `devflow/context/current-stage.md` and active context in `devflow/context/`.
@@ -33,7 +33,7 @@
33
33
 
34
34
  - [x] **4. Just-In-Time (JIT) Dynamic Context Slicing Engine** `[Size: M]`
35
35
  - *Dependencies*: Feature 3
36
- - *Scope*: สร้างตัวตัดตอนบริบท (Context Slicer) สำหรับสคิล `/implement`, `/check`, `/00-explore` เพื่อส่งเฉพาะข้อมูลที่จำเป็นและควบคุม Token Budget ลดการใช้ Token 60–70%
36
+ - *Scope*: สร้างตัวตัดตอนบริบท (Context Slicer) สำหรับสคิล `/implement`, `/check`, `/discovery` เพื่อส่งเฉพาะข้อมูลที่จำเป็นและควบคุม Token Budget ลดการใช้ Token 60–70%
37
37
 
38
38
  ---
39
39
 
@@ -92,8 +92,19 @@
92
92
  - *Dependencies*: Feature 10, Feature 3
93
93
  - *Scope*: แยกจัดเก็บ Task-Specific Context เป็นโฟลเดอร์ย่อยใน `devflow/context/{xxx-slug}/`, พัฒนา Context Resolver สำหรับสลับและเรียกใช้งาน `/implement <id>`, `/check <id>`, `/complete <id>` แบบระบุ Running ID หรือ Fuzzy Match, และอัปเกรด CLI/Dashboard/Skills ให้รองรับ Spec Queue หลายรันพร้อมกัน
94
94
 
95
+ ---
96
+
97
+ ## 🧹 Phase 12: Purge Legacy Deep-Track & Numbered Stage Artifacts
95
98
 
99
+ - [x] **12. Purge Legacy Deep-Track & Numbered Stage Artifacts (`DISC-20260826-002`)** `[Size: M]`
100
+ - *Dependencies*: Feature 10, Feature 11
101
+ - *Scope*: ล้างโค้ดตกค้างของ Deep-Track (สเตจ 00-70 เช่น `40-execute`, `50-verify`, `60-report`, `70-deliver`, `10-define`, `20-spec`, `30-plan`) ออกจาก package engine (`status.ts`, `current-work.ts`, `history.ts`), agent skills (`.agents/`, `.claude/`), automation scripts & tests ใน `scripts/`, และเอกสาร/mockup ให้เป็นปัจจุบันสมบูรณ์
96
102
 
103
+ ---
97
104
 
105
+ ## 🔄 Phase 13: Upstream AI Blueprint v0.14.0 Synchronization & Deterministic Config Engine
98
106
 
107
+ - [x] **13. Sync Upstream v0.14.0 (Deterministic Config & Continuous Mode)** `[Size: M]`
108
+ - *Dependencies*: Feature 12, DISC-20260826-003
109
+ - *Scope*: นำระบบ Deterministic Project Configuration (`devflow/config.json`) และสคิล Autonomous Multi-Feature Loop (`/continuous`) เข้าสู่ Nexus-DevFlow พร้อมอัปเกรด `project-config.ts`, `doctor`, `status`, `dashboard` และอัปเดต upstream baseline tracking สู่ v0.14.0
99
110
 
@@ -0,0 +1,33 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "workflow": {
4
+ "stepReview": "every",
5
+ "checkpointCommits": "enabled"
6
+ },
7
+ "git": {
8
+ "featureBranchPrefix": "feature/",
9
+ "fixBranchPrefix": "fix/",
10
+ "rollbackBranchPrefix": "rollback/"
11
+ },
12
+ "verification": {
13
+ "logicTests": "when-configured",
14
+ "uiEvidence": "when-available"
15
+ },
16
+ "qualityGates": {
17
+ "regular": {
18
+ "audit": "manual",
19
+ "check": "manual",
20
+ "tryGuide": "manual"
21
+ },
22
+ "continuous": {
23
+ "audit": "manual",
24
+ "check": "manual",
25
+ "tryGuide": "manual"
26
+ }
27
+ },
28
+ "continuous": {
29
+ "maxFeatures": null,
30
+ "maxRepairAttempts": 2,
31
+ "finalIntegrationAudit": false
32
+ }
33
+ }
@@ -139,7 +139,7 @@ Progress lives in persistent files, not in transient chat history:
139
139
 
140
140
  ## 9. Socratic Alignment & Grilling Discipline (`/grill`)
141
141
 
142
- - **Align Before You Build**: When plans, domain language, or architectural boundaries are fuzzy, invoke `/grill` (or use the Grilling Lens in `00-explore`) to conduct a structured interview before creating specifications.
142
+ - **Align Before You Build**: When plans, domain language, or architectural boundaries are fuzzy, invoke `/grill` (or use the Grilling Lens in `/discovery`) to conduct a structured interview before creating specifications.
143
143
  - **Codebase-Grounded Inquiry**: Inspect existing context and code before asking questions. Never ask questions the codebase already answers.
144
144
  - **Turn Discipline**: Ask only 1–2 high-leverage questions per turn with clear recommended defaults. Never dump a wall of questions.
145
145
  - **Lazy Inline Persistence**:
@@ -88,7 +88,7 @@ nexus-devflow/
88
88
  ├── devflow/ # Framework workspace context, history, and discoveries
89
89
  │ ├── context/ # Living source-of-truth context files
90
90
  │ ├── decisions/ # Architecture Decision Records (ADRs)
91
- │ ├── discoveries/ # Pre-delivery discovery records (00-explore.md)
91
+ │ ├── discoveries/ # Pre-delivery discovery records (discovery.md)
92
92
  │ ├── history/ # Master delivery archive (features/, fixes/, rollbacks/, HISTORY.md)
93
93
  │ └── ideas.md # Idea Inbox and backlog
94
94
  ├── packages/
@@ -104,7 +104,7 @@ nexus-devflow/
104
104
  ## 6. Naming Conventions
105
105
 
106
106
  - **Files & Directories**:
107
- - Skills and command directories: `kebab-case` (e.g. `00-explore`, `report-html`, `sync-upstream`).
107
+ - Skills and command directories: `kebab-case` (e.g. `discovery`, `report-html`, `convert-any-to-md`).
108
108
  - Source modules and scripts: `kebab-case.ts` / `kebab-case.mjs` (e.g. `current-work.ts`, `check-devflow.ts`).
109
109
  - Test files: `[module].test.ts` (e.g. `status.test.ts`, `uninstall.test.ts`).
110
110
  - **Identifiers**:
@@ -1,6 +1,6 @@
1
1
  # 🏛️ Architecture Decision Records (ADRs)
2
2
 
3
- This directory stores durable Architecture Decision Records (ADRs) produced during `/grill`, `00-explore`, or high-stakes architectural design sessions.
3
+ This directory stores durable Architecture Decision Records (ADRs) produced during `/grill`, `/discovery`, or high-stakes architectural design sessions.
4
4
 
5
5
  ---
6
6
 
@@ -1,5 +1,5 @@
1
1
  # Completed Features Archive
2
2
 
3
- Finished feature specs, enhancements, architecture migrations, and tooling runs are archived here as `xxx-name.md` (for Fast-Track single living specs) or `xxx-name/` (for Deep-Track stage runs).
3
+ Finished feature specs, enhancements, architecture migrations, and tooling runs are archived here as `{xxx-slug}.md`.
4
4
 
5
5
  Together they form the project's permanent feature build history, recording what was built, why, and how it was verified.
@@ -1,5 +1,5 @@
1
1
  # Completed Fixes Archive
2
2
 
3
- Finished bug fixes, hotfixes, regressions, security patches, and performance optimizations are archived here as `xxx-name.md` (for Fast-Track single living specs) or `xxx-name/` (for Deep-Track stage runs).
3
+ Finished bug fixes, hotfixes, regressions, security patches, and performance optimizations are archived here as `{xxx-slug}.md`.
4
4
 
5
5
  Together they form the project's permanent bug resolution history, recording root causes, TDD test decisions, and empirical proof.
@@ -1,5 +1,5 @@
1
1
  # Completed Rollbacks Archive
2
2
 
3
- Safely reversed features and rollback execution records are archived here as `YYYY-MM-DD-xxx-name.md` (or `YYYY-MM-DD-xxx-name/`).
3
+ Safely reversed features and rollback execution records are archived here as `YYYY-MM-DD-{xxx-slug}.md`.
4
4
 
5
5
  Together they form the project's safe feature reversal ledger, documenting target commits, dependency review, and post-reversal verification.
@@ -221,22 +221,21 @@ footer a{color:var(--cyan);text-decoration:none}
221
221
  <span class="badge violet">Track: Idle</span>
222
222
  </div>
223
223
  </div>
224
- <dl class="tb-table">
225
- <dt>Package</dt><dd>@jakkrichm/create-nexus-devflow</dd>
226
- <dt>Adapters</dt><dd>4 detected</dd>
227
- <dt>Branch</dt><dd>main</dd>
228
- <dt>Revision</dt><dd>2026-08-22</dd>
229
- </dl>
224
+ <div class="meta">
225
+ <div class="meta-item"><span class="meta-label">Package</span><span class="meta-val">@jakkrichm/create-nexus-devflow</span></div>
226
+ <div class="meta-item"><span class="meta-label">Adapters</span><span class="meta-val">antigravity, claude, codex, copilot, opencode</span></div>
227
+ <div class="meta-item"><span class="meta-label">Branch</span><span class="meta-val">main</span></div>
228
+ <div class="meta-item"><span class="meta-label">Snapshot</span><span class="meta-val">2026-08-26 10:45</span></div>
229
+ </div>
230
230
  </header>
231
231
  <div class="live-wrap"><span class="live-dot"></span><span class="muted" style="font:11px var(--font-mono)">Status snapshot · health OK · npx @jakkrichm/create-nexus-devflow status</span></div>
232
232
 
233
- <!-- Dual-Track Delivery Model -->
233
+ <!-- Unified Living Spec Model -->
234
234
  <section class="pipeline">
235
235
  <div class="pipeline-head">
236
- <span class="pipeline-title">Dual-Track Delivery Model</span>
236
+ <span class="pipeline-title">Unified Living Spec Model (Nexus-DevFlow 2.6.x)</span>
237
237
  <div class="track-tabs" id="track-tabs">
238
- <button class="tab on" data-t="fast">🏎️ Fast-Track · 4 steps</button>
239
- <button class="tab" data-t="deep">🏗️ Deep-Track · 8 stages</button>
238
+ <button class="tab on" data-t="fast">⚡ Living Spec · 4 steps</button>
240
239
  </div>
241
240
  </div>
242
241
 
@@ -245,23 +244,9 @@ footer a{color:var(--cyan);text-decoration:none}
245
244
  <div class="step"><span class="step-conn"></span><span class="step-dot">1</span><div class="step-name">feature / fix</div><div class="step-cmd">/feature · /fix</div></div>
246
245
  <div class="step"><span class="step-conn"></span><span class="step-dot">2</span><div class="step-name">implement</div><div class="step-cmd">/implement</div></div>
247
246
  <div class="step"><span class="step-conn"></span><span class="step-dot">3</span><div class="step-name">check</div><div class="step-cmd">/check</div></div>
248
- <div class="step"><span class="step-dot">4</span><div class="step-name">complete</div><div class="step-cmd">/complete</div></div>
249
- </div>
250
- <div class="track-note"><b>Idle:</b> no active Fast-Track run. Use <code>/feature</code> or <code>/fix</code> to create the Single Living Spec in <code>devflow/context/current-feature.md</code>. Recommended for about 85% of daily engineering work.</div>
251
- </div>
252
-
253
- <div class="track-view" id="view-deep">
254
- <div class="stepper">
255
- <div class="step"><span class="step-conn"></span><span class="step-dot">00</span><div class="step-name">00-explore</div></div>
256
- <div class="step"><span class="step-conn"></span><span class="step-dot">10</span><div class="step-name">10-define</div></div>
257
- <div class="step"><span class="step-conn"></span><span class="step-dot">20</span><div class="step-name">20-spec</div></div>
258
- <div class="step"><span class="step-conn"></span><span class="step-dot">30</span><div class="step-name">30-plan</div></div>
259
- <div class="step"><span class="step-conn"></span><span class="step-dot">40</span><div class="step-name">40-execute</div></div>
260
- <div class="step"><span class="step-conn"></span><span class="step-dot">50</span><div class="step-name">50-verify</div></div>
261
- <div class="step"><span class="step-conn"></span><span class="step-dot">60</span><div class="step-name">60-report</div></div>
262
- <div class="step"><span class="step-dot">70</span><div class="step-name">70-deliver</div></div>
247
+ <div class="step"><span class="step-conn"></span><span class="step-dot">4</span><div class="step-name">complete</div><div class="step-cmd">/complete</div></div>
263
248
  </div>
264
- <div class="track-note"><b>Reference model:</b> no active Deep-Track run. Recommended for architectural epics, database migrations, security audits, and multi-agent coordination. Progress lives in <code>devflow/context/current-run/</code> and is archived on <code>/70-deliver</code>.</div>
249
+ <div class="track-note"><b>Single Living Spec:</b> <code>/feature</code>, <code>/implement</code>, <code>/check</code>, <code>/complete</code> with TDD Discipline, Multi-Lane QA, and Durably Categorized History.</div>
265
250
  </div>
266
251
  </section>
267
252
 
@@ -274,7 +259,7 @@ footer a{color:var(--cyan);text-decoration:none}
274
259
  </button>
275
260
  </div>
276
261
  <div class="command" id="next-command">/feature</div>
277
- <div class="muted">Workspace is idle and ready for new work. Start a Fast-Track feature, or use <code>/00-explore</code> when the scope needs deeper discovery first.</div>
262
+ <div class="muted">Workspace is idle and ready for new work. Start a living feature, or use <code>/discovery</code> when the scope needs deeper exploration first.</div>
278
263
  </section>
279
264
 
280
265
  <section class="stats">
@@ -291,7 +276,7 @@ footer a{color:var(--cyan);text-decoration:none}
291
276
  <div class="facts">
292
277
  <div class="fact"><span>Installed / latest</span><span>v2.0.25 / v2.0.25</span></div>
293
278
  <div class="fact"><span>Adapters</span><span>antigravity, codex, claude, copilot</span></div>
294
- <div class="fact"><span>Architecture</span><span>3-Pillars + Dual-Track</span></div>
279
+ <div class="fact"><span>Architecture</span><span>3-Pillars + Living Spec</span></div>
295
280
  </div>
296
281
  </article>
297
282
 
@@ -350,7 +335,7 @@ footer a{color:var(--cyan);text-decoration:none}
350
335
  <div class="card-head"><span class="label">Discoveries</span><span class="value">0</span></div>
351
336
  <div class="disc-item">
352
337
  <div class="disc-id">NO ACTIVE DISCOVERY</div>
353
- <div class="disc-title">Use /00-explore to investigate a request before delivery commitment.</div>
338
+ <div class="disc-title">Use /discovery to investigate a request before delivery commitment.</div>
354
339
  <div class="disc-status" style="color:var(--mint)">workspace ready</div>
355
340
  </div>
356
341
  </article>
@@ -372,7 +357,7 @@ footer a{color:var(--cyan);text-decoration:none}
372
357
  <button class="cmdp" data-cmd="rollback" data-tip="Plan a safe reversal with dependency and regression risk analysis.">rollback</button>
373
358
  <button class="cmdp" data-cmd="ci" data-tip="Set up the GitHub Actions verification workflow for the project.">ci</button>
374
359
  <button class="cmdp" data-cmd="test" data-tip="Inspect test suites and verify the test runner configuration.">test</button>
375
- <button class="cmdp" data-cmd="autopilot" data-tip="Run a bounded Fast-Track or Deep-Track execution loop with quality gates.">autopilot</button>
360
+ <button class="cmdp" data-cmd="autopilot" data-tip="Run a bounded spec/build/check execution loop with quality gates.">autopilot</button>
376
361
  <button class="cmdp" data-cmd="prototype" data-tip="Create a throwaway static HTML/CSS mockup to settle UI direction before build.">prototype</button>
377
362
  <button class="cmdp" data-cmd="report-html" data-tip="Generate the optional standalone interactive HTML delivery report.">report-html</button>
378
363
  </div>
@@ -412,7 +397,7 @@ footer a{color:var(--cyan);text-decoration:none}
412
397
  <div class="hist-item"><span class="hist-bar feature"></span><span class="hist-type">feature 039</span><span class="hist-title">Dynamic Project Overview Compiler (/overview) พร้อม Living Context Sync</span></div>
413
398
  <div class="hist-item"><span class="hist-bar feature"></span><span class="hist-type">feature 038</span><span class="hist-title">Sub-Feature Automatic Splitting Engine และ Sub-Feature ID Contract</span></div>
414
399
  <div class="hist-item"><span class="hist-bar feature"></span><span class="hist-type">feature 037</span><span class="hist-title">Feature Briefing &amp; Deep Scope Assessment Skill (/brief)</span></div>
415
- <div class="hist-item"><span class="hist-bar feature"></span><span class="hist-type">feature 036</span><span class="hist-title">Cloud Deployment Readiness Skill (/release) และ 70-deliver</span></div>
400
+ <div class="hist-item"><span class="hist-bar feature"></span><span class="hist-type">feature 036</span><span class="hist-title">Cloud Deployment Readiness Skill (/release)</span></div>
416
401
  <div class="hist-item"><span class="hist-bar feature"></span><span class="hist-type">feature 035</span><span class="hist-title">Guided Project Discovery Interview Skill (/discovery)</span></div>
417
402
  <div class="hist-item"><span class="hist-bar feature"></span><span class="hist-type">feature 034</span><span class="hist-title">Dedicated Code &amp; Security Audit Skill (/audit)</span></div>
418
403
  <div class="hist-item"><span class="hist-bar feature"></span><span class="hist-type">feature 033</span><span class="hist-title">User-Owned Planning Documents (project-plan.md &amp; build-plan.md)</span></div>