@jakkrichm/create-nexus-devflow 2.0.12 → 2.0.14
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/dist/bin/create-nexus-devflow.d.ts +2 -0
- package/dist/bin/create-nexus-devflow.js +233 -0
- package/dist/bin/create-nexus-devflow.js.map +1 -0
- package/dist/lib/starter-templates.d.ts +6 -0
- package/dist/lib/starter-templates.js +8 -0
- package/dist/lib/starter-templates.js.map +1 -0
- package/dist/lib/update.d.ts +68 -0
- package/dist/lib/update.js +325 -0
- package/dist/lib/update.js.map +1 -0
- package/dist/scripts/clean-template.d.ts +1 -0
- package/dist/scripts/clean-template.js +14 -0
- package/dist/scripts/clean-template.js.map +1 -0
- package/dist/scripts/prepare-template.d.ts +1 -0
- package/dist/scripts/prepare-template.js +89 -0
- package/dist/scripts/prepare-template.js.map +1 -0
- package/package.json +11 -9
- package/template/.agents/skills/00-discover/SKILL.md +2 -0
- package/template/.agents/skills/60-report/SKILL.md +21 -75
- package/template/.agents/skills/70-release/SKILL.md +7 -4
- package/template/.agents/skills/check/SKILL.md +68 -0
- package/template/.agents/skills/ci/SKILL.md +25 -78
- package/template/.agents/skills/commit/SKILL.md +39 -43
- package/template/.agents/skills/complete/SKILL.md +73 -0
- package/template/.agents/skills/debug/SKILL.md +43 -104
- package/template/.agents/skills/deploy/SKILL.md +37 -65
- package/template/.agents/skills/devflow/SKILL.md +89 -80
- package/template/.agents/skills/idea/SKILL.md +57 -0
- package/template/.agents/skills/implement/SKILL.md +64 -0
- package/template/.agents/skills/insight/SKILL.md +27 -116
- package/template/.agents/skills/overview/SKILL.md +114 -0
- package/template/.agents/skills/preview/SKILL.md +24 -103
- package/template/.agents/skills/report-html/SKILL.md +45 -0
- package/template/.agents/skills/review/SKILL.md +53 -37
- package/template/.agents/skills/rollback/SKILL.md +1 -0
- package/template/.agents/skills/security-review/SKILL.md +44 -147
- package/template/.agents/skills/simplify/SKILL.md +48 -57
- package/template/.agents/skills/spec/SKILL.md +105 -0
- package/template/.agents/skills/test/SKILL.md +63 -51
- package/template/.claude/skills/00-discover/SKILL.md +2 -0
- package/template/.claude/skills/60-report/SKILL.md +21 -75
- package/template/.claude/skills/70-release/SKILL.md +7 -4
- package/template/.claude/skills/check/SKILL.md +68 -0
- package/template/.claude/skills/ci/SKILL.md +25 -78
- package/template/.claude/skills/commit/SKILL.md +39 -43
- package/template/.claude/skills/complete/SKILL.md +73 -0
- package/template/.claude/skills/debug/SKILL.md +43 -104
- package/template/.claude/skills/deploy/SKILL.md +37 -65
- package/template/.claude/skills/devflow/SKILL.md +89 -80
- package/template/.claude/skills/idea/SKILL.md +57 -0
- package/template/.claude/skills/implement/SKILL.md +64 -0
- package/template/.claude/skills/insight/SKILL.md +27 -116
- package/template/.claude/skills/overview/SKILL.md +114 -0
- package/template/.claude/skills/preview/SKILL.md +24 -103
- package/template/.claude/skills/report-html/SKILL.md +45 -0
- package/template/.claude/skills/review/SKILL.md +53 -37
- package/template/.claude/skills/rollback/SKILL.md +1 -0
- package/template/.claude/skills/security-review/SKILL.md +44 -147
- package/template/.claude/skills/simplify/SKILL.md +48 -57
- package/template/.claude/skills/spec/SKILL.md +105 -0
- package/template/.claude/skills/test/SKILL.md +63 -51
- package/template/AGENTS.md +71 -74
- package/template/devflow/context/ai-interaction.md +1 -0
- package/template/devflow/context/coding-standards.md +31 -18
- package/template/devflow/context/current-stage.md +3 -3
- package/template/devflow/context/findings.md +10 -6
- package/template/devflow/context/project-overview.md +29 -11
- package/template/devflow/discoveries/.gitkeep +0 -0
- package/template/devflow/history/HISTORY.md +31 -0
- package/template/devflow/ideas.md +15 -0
- package/template/devflow/reference/running-id-contract.md +1 -1
- package/template/devflow/runs/.gitkeep +0 -0
- package/bin/create-nexus-devflow.js +0 -287
- package/lib/starter-templates.js +0 -111
- package/lib/update.js +0 -379
- package/template/.agents/skills/9arm-skills/README.md +0 -51
- package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +0 -86
- package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +0 -79
- package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +0 -71
- package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +0 -72
- package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +0 -302
- package/template/.agents/skills/ci-cd-and-automation/SKILL.md +0 -390
- package/template/.agents/skills/code-review-and-quality/SKILL.md +0 -392
- package/template/.agents/skills/code-simplification/SKILL.md +0 -331
- package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +0 -298
- package/template/.agents/skills/deployment-procedures/SKILL.md +0 -241
- package/template/.agents/skills/deprecation-and-migration/SKILL.md +0 -206
- package/template/.agents/skills/diagnosing-bugs/SKILL.md +0 -93
- package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +0 -300
- package/template/.agents/skills/human-review-decisions/SKILL.md +0 -74
- package/template/.agents/skills/idea-refine/SKILL.md +0 -178
- package/template/.agents/skills/idea-refine/examples.md +0 -238
- package/template/.agents/skills/idea-refine/frameworks.md +0 -99
- package/template/.agents/skills/idea-refine/refinement-criteria.md +0 -113
- package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +0 -15
- package/template/.agents/skills/incremental-implementation/SKILL.md +0 -248
- package/template/.agents/skills/insight-capture/SKILL.md +0 -84
- package/template/.agents/skills/intelligent-routing/SKILL.md +0 -176
- package/template/.agents/skills/md2html/SKILL.md +0 -154
- package/template/.agents/skills/md2html/components.md +0 -505
- package/template/.agents/skills/md2html/template.html +0 -1152
- package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +0 -239
- package/template/.agents/skills/pr-review/SKILL.md +0 -143
- package/template/.agents/skills/pr-review-analysis/SKILL.md +0 -89
- package/template/.agents/skills/preview-local-check/SKILL.md +0 -59
- package/template/.agents/skills/release-git-operations/SKILL.md +0 -97
- package/template/.agents/skills/review-followup-routing/SKILL.md +0 -98
- package/template/.agents/skills/security-and-hardening/SKILL.md +0 -349
- package/template/.agents/skills/security-and-hardening/security-checklist.md +0 -134
- package/template/.agents/skills/shipping-and-launch/SKILL.md +0 -311
- package/template/.agents/skills/silent-failure-audit/SKILL.md +0 -73
- package/template/.agents/skills/spec-orchestration/SKILL.md +0 -91
- package/template/.agents/skills/specialist-agent-routing/SKILL.md +0 -107
- package/template/.agents/skills/test-driven-development/SKILL.md +0 -422
- package/template/.agents/skills/test-driven-development/testing-patterns.md +0 -236
- package/template/.agents/skills/test-execution-and-coverage/SKILL.md +0 -56
- package/template/.agents/skills/using-agent-skills/SKILL.md +0 -171
- package/template/.agents/skills/verification-orchestration/SKILL.md +0 -68
- package/template/.agents/skills/vulnerability-scanner/SKILL.md +0 -276
- package/template/.agents/skills/vulnerability-scanner/checklists.md +0 -121
- package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
- package/template/.agents/skills/wiki/SKILL.md +0 -149
- package/template/.agents/skills/workflow-documentation-sync/SKILL.md +0 -87
- package/template/.claude/skills/9arm-skills/README.md +0 -51
- package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +0 -86
- package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +0 -79
- package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +0 -71
- package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +0 -72
- package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +0 -302
- package/template/.claude/skills/ci-cd-and-automation/SKILL.md +0 -390
- package/template/.claude/skills/code-review-and-quality/SKILL.md +0 -392
- package/template/.claude/skills/code-simplification/SKILL.md +0 -331
- package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +0 -298
- package/template/.claude/skills/deployment-procedures/SKILL.md +0 -241
- package/template/.claude/skills/deprecation-and-migration/SKILL.md +0 -206
- package/template/.claude/skills/diagnosing-bugs/SKILL.md +0 -93
- package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +0 -300
- package/template/.claude/skills/human-review-decisions/SKILL.md +0 -74
- package/template/.claude/skills/idea-refine/SKILL.md +0 -178
- package/template/.claude/skills/idea-refine/examples.md +0 -238
- package/template/.claude/skills/idea-refine/frameworks.md +0 -99
- package/template/.claude/skills/idea-refine/refinement-criteria.md +0 -113
- package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +0 -15
- package/template/.claude/skills/incremental-implementation/SKILL.md +0 -248
- package/template/.claude/skills/insight-capture/SKILL.md +0 -84
- package/template/.claude/skills/intelligent-routing/SKILL.md +0 -176
- package/template/.claude/skills/md2html/SKILL.md +0 -154
- package/template/.claude/skills/md2html/components.md +0 -505
- package/template/.claude/skills/md2html/template.html +0 -1152
- package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +0 -239
- package/template/.claude/skills/pr-review/SKILL.md +0 -143
- package/template/.claude/skills/pr-review-analysis/SKILL.md +0 -89
- package/template/.claude/skills/preview-local-check/SKILL.md +0 -59
- package/template/.claude/skills/release-git-operations/SKILL.md +0 -97
- package/template/.claude/skills/review-followup-routing/SKILL.md +0 -98
- package/template/.claude/skills/security-and-hardening/SKILL.md +0 -349
- package/template/.claude/skills/security-and-hardening/security-checklist.md +0 -134
- package/template/.claude/skills/shipping-and-launch/SKILL.md +0 -311
- package/template/.claude/skills/silent-failure-audit/SKILL.md +0 -73
- package/template/.claude/skills/spec-orchestration/SKILL.md +0 -91
- package/template/.claude/skills/specialist-agent-routing/SKILL.md +0 -107
- package/template/.claude/skills/test-driven-development/SKILL.md +0 -422
- package/template/.claude/skills/test-driven-development/testing-patterns.md +0 -236
- package/template/.claude/skills/test-execution-and-coverage/SKILL.md +0 -56
- package/template/.claude/skills/using-agent-skills/SKILL.md +0 -171
- package/template/.claude/skills/verification-orchestration/SKILL.md +0 -68
- package/template/.claude/skills/vulnerability-scanner/SKILL.md +0 -276
- package/template/.claude/skills/vulnerability-scanner/checklists.md +0 -121
- package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
- package/template/.claude/skills/wiki/SKILL.md +0 -149
- package/template/.claude/skills/workflow-documentation-sync/SKILL.md +0 -87
- package/template/.nexus/nexus-devflow.json +0 -44
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec
|
|
3
|
+
description: "[Devflow] Fast-Track Spec stage in DevFlow (Blueprint Mode) - define, spec, plan, and create the single living spec.md contract."
|
|
4
|
+
argument-hint: "{feature title, bug description, IDEA-xxx, or running-id}"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Fast-Track: Spec (Blueprint Mode)
|
|
8
|
+
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
11
|
+
Fast-Track entry point combining Discovery, Definition, Specification, and Implementation Planning into one streamlined, review-gated step. Creates and maintains the **Single Living Spec (`spec.md`)** for the run. Supports intake from Idea Inbox (`IDEA-xxx`).
|
|
12
|
+
|
|
13
|
+
## Invocations & Aliases
|
|
14
|
+
|
|
15
|
+
- `/spec <title>` or `spec <title>`: Standard Fast-Track specification
|
|
16
|
+
- `/spec IDEA-xxx`: Intake and promote a pending idea from `devflow/ideas.md`
|
|
17
|
+
- `/feature <title>` or `feature <title>`: Fast-Track feature workflow
|
|
18
|
+
- `/fix <bug-description>` or `fix <bug-description>`: Fast-Track ad-hoc bugfix workflow
|
|
19
|
+
- `$spec`, `$feature`, `$fix`: Codex CLI invocation
|
|
20
|
+
|
|
21
|
+
## Fast-Track Mainline Workflow
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
/spec ──▶ /implement ──▶ /check ──▶ /complete
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Behavior & Contract
|
|
28
|
+
|
|
29
|
+
When invoked:
|
|
30
|
+
|
|
31
|
+
### 1. Work Identity & Idea Intake
|
|
32
|
+
1. Inspect `devflow/context/current-stage.md` and `devflow/runs/`.
|
|
33
|
+
2. **Idea Inbox Intake**: If the argument is an idea identifier (e.g. `IDEA-001`):
|
|
34
|
+
- Read `devflow/ideas.md` and extract the idea's title, raw problem statement, AI Feasibility notes, and Quick Seed points.
|
|
35
|
+
- Use these details as the primary input for Specification & Scope.
|
|
36
|
+
- In `devflow/ideas.md`, update the item's status to `[x] Claimed ({RUNNING_ID})` and move it under `## 📦 Archived / Shipped Ideas`.
|
|
37
|
+
3. Determine or allocate the sequential Running ID (e.g. `RUN-016-{slug}`).
|
|
38
|
+
4. Identify Git branch naming:
|
|
39
|
+
- For features: `feature/{slug}-{RUNNING_ID}`
|
|
40
|
+
- For bug fixes: `fix/{slug}-{RUNNING_ID}`
|
|
41
|
+
5. Create directory `devflow/runs/{RUNNING_ID}/`.
|
|
42
|
+
|
|
43
|
+
### 2. Generate the Single Living Spec (`spec.md`)
|
|
44
|
+
Write `devflow/runs/{RUNNING_ID}/spec.md` using the structured template below in **Thai (`th`)**:
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# 📐 [{RUNNING_ID}] {Title} (Living Spec)
|
|
48
|
+
|
|
49
|
+
> **Status**: In-Progress
|
|
50
|
+
> **Track**: Fast-Track (Blueprint Mode)
|
|
51
|
+
> **Branch**: `{branch_name}`
|
|
52
|
+
> **Created Date**: {YYYY-MM-DD}
|
|
53
|
+
> **Owner**: {Contributor or Team}
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 1. Specification & Scope
|
|
58
|
+
- **Problem Statement**: {ปัญหาหรือที่มาที่ต้องทำ}
|
|
59
|
+
- **In-Scope**:
|
|
60
|
+
- {ขอบเขตสิ่งที่ต้องทำ}
|
|
61
|
+
- **Out-of-Scope**:
|
|
62
|
+
- {สิ่งที่ไม่ทำในรอบนี้}
|
|
63
|
+
- **Acceptance Criteria**:
|
|
64
|
+
- [ ] AC-1: {เงื่อนไขการตรวจรับข้อที่ 1}
|
|
65
|
+
- [ ] AC-2: {เงื่อนไขการตรวจรับข้อที่ 2}
|
|
66
|
+
|
|
67
|
+
## 2. Plan & Test Strategy
|
|
68
|
+
- **Files to Modify / Create**:
|
|
69
|
+
- `{path/to/file1}`: {หน้าที่ที่ต้องแก้ไข}
|
|
70
|
+
- `{path/to/file2}`: {หน้าที่ที่ต้องแก้ไข}
|
|
71
|
+
- **Test Decision**: `Required (TDD)` | `Manual/Command Only` | `Not Required`
|
|
72
|
+
- *Rationale*: {เหตุผลความจำเป็นในการเขียนเทสต์}
|
|
73
|
+
- *Planned Cases*: {กรณีทดสอบหลักตาม AAA Pattern}
|
|
74
|
+
- **Impact & Rollback Strategy**:
|
|
75
|
+
- *Impact*: {ผลกระทบต่อโมดูลอื่น}
|
|
76
|
+
- *Rollback*: {วิธีย้อนคืนการทำงานกรณีเกิดปัญหา}
|
|
77
|
+
|
|
78
|
+
## 3. Implementation Checklist
|
|
79
|
+
- [ ] Task 1.1: {งานย่อยข้อที่ 1}
|
|
80
|
+
- [ ] Task 1.2: {งานย่อยข้อที่ 2}
|
|
81
|
+
- [ ] Task 1.3: {งานย่อยข้อที่ 3}
|
|
82
|
+
|
|
83
|
+
## 4. Implementation Record
|
|
84
|
+
- *(จะถูกบันทึกเมื่อรัน /implement)*
|
|
85
|
+
|
|
86
|
+
## 5. Verification Evidence
|
|
87
|
+
- *(จะถูกบันทึกเมื่อรัน /check)*
|
|
88
|
+
|
|
89
|
+
## 6. Release & Handoff
|
|
90
|
+
- *(จะถูกบันทึกเมื่อรัน /complete)*
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 3. Update Workspace Status
|
|
94
|
+
Update `devflow/context/current-stage.md`:
|
|
95
|
+
- `Active Running ID`: `{RUNNING_ID}`
|
|
96
|
+
- `Current Stage`: `spec (Fast-Track -> Ready for /implement)`
|
|
97
|
+
- `Last Updated`: `{YYYY-MM-DD}`
|
|
98
|
+
|
|
99
|
+
### 4. Output Summary & Next Step
|
|
100
|
+
Report to the user:
|
|
101
|
+
- Running ID and allocated branch
|
|
102
|
+
- Summary of Scope and Acceptance Criteria
|
|
103
|
+
- Living Spec path: `devflow/runs/{RUNNING_ID}/spec.md`
|
|
104
|
+
- If promoted from `IDEA-xxx`, confirm status update in `devflow/ideas.md`
|
|
105
|
+
- **Next Command**: `/implement` (or `/implement {RUNNING_ID}`)
|
|
@@ -1,82 +1,94 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: test
|
|
3
|
-
description: "[Devflow] Test
|
|
3
|
+
description: "[Devflow] Test-driven development, test generation, test execution, and coverage analysis across unit, integration, and smoke test suites."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
description: Test Generation and Execution - Generates missing tests, runs existing test suites, or checks test coverage for the project.
|
|
8
|
-
---
|
|
9
|
-
# ๐งช Test Generation and Execution
|
|
10
|
-
|
|
11
|
-
## Usage: `/13-Test [target]`
|
|
6
|
+
# Test-Driven Development, Generation & Execution
|
|
12
7
|
|
|
13
|
-
|
|
8
|
+
## Overview
|
|
14
9
|
|
|
15
|
-
|
|
10
|
+
This is the comprehensive testing master skill for Nexus-DevFlow. It drives development with tests (TDD), handles test generation, execution, coverage analysis, and bug reproduction. Tests are proof — "seems right" is not done.
|
|
16
11
|
|
|
17
12
|
```text
|
|
18
|
-
|
|
13
|
+
RED GREEN REFACTOR
|
|
14
|
+
Write a test Write minimal code Clean up the
|
|
15
|
+
that fails ──→ to make it pass ──→ implementation ──→ (repeat)
|
|
16
|
+
│ │ │
|
|
17
|
+
▼ ▼ ▼
|
|
18
|
+
Test FAILS Test PASSES Tests still PASS
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
## Usage & Sub-Commands
|
|
22
|
+
|
|
23
|
+
- `/test` - Run all project test suites
|
|
24
|
+
- `/test [file/feature]` - Generate tests for a specific target
|
|
25
|
+
- `/test coverage` - Show test coverage report
|
|
26
|
+
- `/test watch` - Run tests in watch mode
|
|
22
27
|
|
|
23
28
|
---
|
|
24
29
|
|
|
25
|
-
##
|
|
30
|
+
## 1. The TDD Cycle
|
|
31
|
+
|
|
32
|
+
### Step 1: RED — Write a Failing Test
|
|
33
|
+
Write the test first. It must fail. A test that passes immediately proves nothing.
|
|
34
|
+
|
|
35
|
+
### Step 2: GREEN — Make It Pass
|
|
36
|
+
Write the minimum code to make the test pass. Avoid premature over-engineering.
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- `/13-Test coverage` - Show test coverage report
|
|
30
|
-
- `/13-Test watch` - Run tests in watch mode
|
|
38
|
+
### Step 3: REFACTOR — Clean Up
|
|
39
|
+
Improve code readability, naming, structure, and eliminate duplication while keeping tests green.
|
|
31
40
|
|
|
32
41
|
---
|
|
33
42
|
|
|
34
|
-
##
|
|
43
|
+
## 2. The Prove-It Pattern (Bug Reproduction)
|
|
35
44
|
|
|
36
|
-
|
|
37
|
-
If the user requests tests for a target:
|
|
38
|
-
1. **Analyze**: Identify functions, edge cases, and external dependencies.
|
|
39
|
-
2. **Template Verification**: **MANDATORY:** Before generating the test plan, inspect `.agent/resources/schemas/test_report.template.md`, preserve its required layout, and replace placeholder text with concrete coverage, command output, failures, and gaps.
|
|
40
|
-
3. **Generate Cases**: Develop Happy path, Error cases, Edge cases.
|
|
41
|
-
4. **Write**: Implement the tests using the project's testing framework (Pytest, Jest, Vitest, etc.). Follow the `Arrange-Act-Assert` pattern and mock external dependencies.
|
|
42
|
-
5. **Save Test Report**: Save the test plan and results to `devflow/reports/{date}-test-report-{target}.md` (where `{date}` is today's date in `YYYY-MM-DD` format and `{target}` is a slugified version of the file or feature name).
|
|
45
|
+
When fixing any defect, **do not attempt a fix without proving the bug exists first**:
|
|
43
46
|
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
```text
|
|
48
|
+
Bug report arrives ➔ Write reproduction test (FAILS) ➔ Implement fix ➔ Test PASSES ➔ Guard regression
|
|
49
|
+
```
|
|
46
50
|
|
|
47
51
|
---
|
|
48
52
|
|
|
49
|
-
##
|
|
50
|
-
- **Test behavior, not implementation.**
|
|
51
|
-
- **One assertion per test** (when practical).
|
|
52
|
-
- **Descriptive test names.**
|
|
53
|
-
- **Arrange-Act-Assert pattern.**
|
|
54
|
-
- **Save Report**: Always save the test plan or results to disk for persistent logging.
|
|
53
|
+
## 3. The Test Pyramid & Resource Sizes
|
|
55
54
|
|
|
56
|
-
|
|
55
|
+
| Level | Size | Target % | Scope & Characteristics |
|
|
56
|
+
| :--- | :--- | :--- | :--- |
|
|
57
|
+
| **Unit** | Small | ~80% | Pure logic, in-memory, single process, milliseconds each |
|
|
58
|
+
| **Integration** | Medium | ~15% | API boundaries, database interaction, component seams |
|
|
59
|
+
| **E2E** | Large | ~5% | Critical user journeys, full workflows, browser automation |
|
|
57
60
|
|
|
58
|
-
|
|
59
|
-
Generate a summary indicating:
|
|
60
|
-
- **Test Plan**: Table of Test Case, Type, Coverage (Happy path, error case, validation)
|
|
61
|
-
- **Generated Tests**: File path and the code block
|
|
62
|
-
- **Report Location**: Confirm the report has been written to the specified workspace path.
|
|
63
|
-
- **Run command**: e.g. `npm test`
|
|
61
|
+
---
|
|
64
62
|
|
|
65
|
-
|
|
66
|
-
Display an organized output listing Passed/Failed files, and explicitly show the expectation vs received outcome for failed assertions.
|
|
63
|
+
## 4. Key Testing Principles & Best Practices
|
|
67
64
|
|
|
68
|
-
|
|
65
|
+
1. **Test behavior, not implementation details**: Assert on output and state changes, not private method call sequences.
|
|
66
|
+
2. **DAMP over DRY in tests**: Descriptive and meaningful test setup beats overly abstract shared helpers.
|
|
67
|
+
3. **Arrange-Act-Assert**: Distinct setup, action, and verification phases in every test case.
|
|
68
|
+
4. **Prefer real implementations & fakes over heavy mocks**: Mock only at boundaries where real dependencies are slow or non-deterministic.
|
|
69
|
+
5. **One assertion concept per test**: Isolate test failure reasons clearly.
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 5. Browser Testing & Runtime Verification
|
|
74
|
+
|
|
75
|
+
For browser and UI features, unit tests alone are insufficient:
|
|
76
|
+
- **Console**: Zero errors and unhandled exceptions in production code.
|
|
77
|
+
- **Network**: Accurate status codes, payload shapes, and CORS handling.
|
|
78
|
+
- **DOM & Styles**: Verified layout rendering, accessibility tree, and responsive behaviors.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 6. Test Generation & Persistent Execution Reports
|
|
74
83
|
|
|
75
|
-
|
|
84
|
+
When generating or logging test runs during `40-implement` or `50-verify`:
|
|
85
|
+
- Save summary reports to `devflow/reports/{date}-test-report-{slug}.md`
|
|
86
|
+
- Include: Target, Test Cases (Happy Path, Error, Edge Cases), Pass/Fail statistics, and gaps/risks.
|
|
76
87
|
|
|
77
|
-
|
|
78
|
-
- `.agents/skills/test-execution-and-coverage/SKILL.md`
|
|
79
|
-
- `.agent/resources/schemas/test_report.template.md`
|
|
80
|
-
- Related commands: `40-implement`, `50-verify`, `Debug`, `QA-Orchestrate`
|
|
88
|
+
---
|
|
81
89
|
|
|
90
|
+
## Relationship To DevFlow 2.0
|
|
82
91
|
|
|
92
|
+
- **Classification**: Companion command & Engineering standard
|
|
93
|
+
- **Mainline stages**: `30-plan` (TDD decisions), `40-implement` (TDD execution), `50-verify` (QA gate)
|
|
94
|
+
- **Handoff**: `50-verify`, `Debug`, `autopilot`
|
|
@@ -14,12 +14,14 @@ Explore a request before delivery commitment. Create or resume a Discovery ID, c
|
|
|
14
14
|
|
|
15
15
|
```text
|
|
16
16
|
00-discover {title or request}
|
|
17
|
+
00-discover IDEA-xxx
|
|
17
18
|
00-discover {discovery-id}
|
|
18
19
|
```
|
|
19
20
|
|
|
20
21
|
Use this when:
|
|
21
22
|
|
|
22
23
|
- a new request needs discussion before the team commits to delivery
|
|
24
|
+
- exploring a pending idea from `devflow/ideas.md` (`00-discover IDEA-xxx`)
|
|
23
25
|
- the best route may be `Brainstorm`, `PRD`, `Research`, or `Debug`
|
|
24
26
|
- supporting findings need to be synthesized into a go/no-go decision
|
|
25
27
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
description: "[Devflow] Report stage in DevFlow 2.0 - produce standardized markdown
|
|
1
|
+
---
|
|
2
|
+
name: 60-report
|
|
3
|
+
description: "[Devflow] Report stage in DevFlow 2.0 - produce standardized markdown summary report for the completed run."
|
|
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
|
-
Produce the final human-friendly summary of the full running flow in
|
|
11
|
+
Produce the final human-friendly summary of the full running flow in Markdown (`60-report.md`) so the outcome is easy to communicate every time.
|
|
12
12
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
@@ -16,19 +16,12 @@ Produce the final human-friendly summary of the full running flow in both Markdo
|
|
|
16
16
|
60-report {running-id or workspace path}
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Use this when:
|
|
20
|
-
|
|
21
|
-
- verification is complete and the run is ready for a final standardized summary before release
|
|
22
|
-
- the team needs a standardized summary for communication
|
|
23
|
-
- non-technical readers should be able to understand what happened
|
|
24
|
-
|
|
25
19
|
## Markdown-First Contract
|
|
26
20
|
|
|
27
|
-
Write the primary stage
|
|
21
|
+
Write the primary stage artifact to:
|
|
28
22
|
|
|
29
23
|
```text
|
|
30
|
-
devflow/runs/{ID}-{slug}60-report.md
|
|
31
|
-
devflow/runs/{ID}-{slug}60-report.html
|
|
24
|
+
devflow/runs/{ID}-{slug}/60-report.md
|
|
32
25
|
```
|
|
33
26
|
|
|
34
27
|
using:
|
|
@@ -39,6 +32,9 @@ using:
|
|
|
39
32
|
|
|
40
33
|
Before writing `60-report.md`, read `artifact_language` from `report.template.md` and produce the markdown artifact in that language.
|
|
41
34
|
|
|
35
|
+
> [!IMPORTANT]
|
|
36
|
+
> **No Auto-Generated HTML**: ยกเลิกการสร้างไฟล์ `60-report.html` แบบอัตโนมัติในขั้นตอนนี้! ระบบจะสร้างเฉพาะ `60-report.md` เท่านั้น หากผู้ใช้หรือทีมต้องการสร้าง HTML Report สวยงาม ให้เรียกคำสั่งแยกต่างหาก: `/report:html` หรือ `npm run report:html`
|
|
37
|
+
|
|
42
38
|
## Required Section Content
|
|
43
39
|
|
|
44
40
|
Before completing any generated artifact:
|
|
@@ -57,13 +53,13 @@ Before completing any generated artifact:
|
|
|
57
53
|
|
|
58
54
|
Run reporting as an outcome-evidence loop, not as a dump of prior artifacts.
|
|
59
55
|
|
|
60
|
-
- **Intent**: produce a final markdown
|
|
56
|
+
- **Intent**: produce a final markdown summary that lets a reader understand the outcome, evidence, decisions, risks, and next actions without replaying the whole run.
|
|
61
57
|
- **Context**: read all relevant stage artifacts, checklist files, verify impact notes, release notes, validation output, and supporting artifacts that materially explain the result.
|
|
62
|
-
- **Action**: summarize the problem, direction, completed work, validation outcome, checklist progress, final decision, open risks, and next actions
|
|
58
|
+
- **Action**: summarize the problem, direction, completed work, validation outcome, checklist progress, final decision, open risks, and next actions.
|
|
63
59
|
- **Observation**: use concrete evidence such as checklist completion, blocked or skipped items, validation results, release state, impact notes, and unresolved follow-ups.
|
|
64
60
|
- **Adjustment**: if evidence is missing, return to the owning stage; if the report must support continuation, use `handoff`; if the run produced reusable lessons, use `insight-capture` or `Wiki`.
|
|
65
|
-
- **Stop Condition**: stop when `
|
|
66
|
-
- **Handoff**: `
|
|
61
|
+
- **Stop Condition**: stop when `60-report.md` exists, summarizes the outcome accurately, includes checklist and evidence snapshots, and names any remaining follow-up work.
|
|
62
|
+
- **Handoff**: `60-report.md` must close the mainline run or tell the next reader exactly where follow-up work should continue.
|
|
67
63
|
|
|
68
64
|
### 1. Gather Full Run Context
|
|
69
65
|
|
|
@@ -98,19 +94,9 @@ Explain:
|
|
|
98
94
|
|
|
99
95
|
Write:
|
|
100
96
|
|
|
101
|
-
- a readable Markdown report for contributors
|
|
102
|
-
- a consistent HTML report for stakeholder sharing
|
|
103
|
-
|
|
104
|
-
In phase 1, `artifact_language` governs the markdown report text. HTML output is derived directly from `60-report.md` through the shared markdown-to-html renderer.
|
|
97
|
+
- a readable Markdown report (`60-report.md`) for contributors
|
|
105
98
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
```text
|
|
109
|
-
npm run report:html -- <workspace-path-or-running-id>
|
|
110
|
-
npm run render:html -- --stage 60-report <workspace-path-or-running-id>
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Keep checklist summaries and follow-up status inside `60-report.md` so they carry through into the rendered HTML.
|
|
99
|
+
Keep checklist summaries and follow-up status inside `60-report.md`.
|
|
114
100
|
|
|
115
101
|
Both outputs should summarize checklist state when checklist artifacts exist, including:
|
|
116
102
|
|
|
@@ -120,27 +106,6 @@ Both outputs should summarize checklist state when checklist artifacts exist, in
|
|
|
120
106
|
- approval status, review blockers, and next allowed command when they still matter
|
|
121
107
|
- remaining follow-up work
|
|
122
108
|
|
|
123
|
-
The HTML should stay visually consistent across runs while preserving the report markdown as the source of truth.
|
|
124
|
-
|
|
125
|
-
### 4. Keep The Audience In Mind
|
|
126
|
-
|
|
127
|
-
Prefer clarity over internal detail.
|
|
128
|
-
|
|
129
|
-
Do not bury the outcome inside implementation trivia. The report should help a reader understand the run without replaying the whole workflow.
|
|
130
|
-
|
|
131
|
-
When checklists exist, use them as the most human-readable operational record of what actually happened.
|
|
132
|
-
Use `handoff` when the report must support continued work, and `insight-capture` when the run produced lessons that should become reusable knowledge.
|
|
133
|
-
|
|
134
|
-
### 5. Manual Review Soft Gate
|
|
135
|
-
|
|
136
|
-
Use the report as the final visibility checkpoint before release.
|
|
137
|
-
If any stage still shows unresolved approval, blockers, or deferred work:
|
|
138
|
-
|
|
139
|
-
- surface that state clearly in `60-report.md`
|
|
140
|
-
- pull the relevant signal forward from checklist approval sections when they exist
|
|
141
|
-
- do not imply the phase is fully closed when review is still open
|
|
142
|
-
- recommend the real next action, even if that means returning to an earlier stage
|
|
143
|
-
|
|
144
109
|
## Output
|
|
145
110
|
|
|
146
111
|
Report:
|
|
@@ -148,37 +113,18 @@ Report:
|
|
|
148
113
|
- what the run accomplished
|
|
149
114
|
- checklist completion status and remaining items
|
|
150
115
|
- important remaining follow-ups
|
|
151
|
-
- where `60-report.md`
|
|
152
|
-
-
|
|
153
|
-
|
|
154
|
-
```text
|
|
155
|
-
npm run report:html -- <workspace-path-or-running-id>
|
|
156
|
-
```
|
|
116
|
+
- where `60-report.md` was written
|
|
117
|
+
- standalone HTML command tip: `/report:html` (if HTML view is desired)
|
|
157
118
|
|
|
158
119
|
## Relationship To DevFlow 2.0
|
|
159
120
|
|
|
160
121
|
- Classification: Mainline workflow
|
|
161
122
|
- Previous state: `50-verify`
|
|
162
123
|
- Next state: `70-release` when the summary is aligned and release can proceed
|
|
163
|
-
- Common companion commands: `Wiki` for durable knowledge capture, `Help` for routing or explanation
|
|
164
|
-
- Support skills: `handoff`, `insight-capture`, and writing skills when final reporting must support continuation or reusable learning
|
|
165
|
-
|
|
166
|
-
## Sources
|
|
167
|
-
|
|
168
|
-
- `AGENTS.md`
|
|
169
|
-
- `docs/workspace-artifacts.md`
|
|
170
|
-
- `.agent/resources/schemas/report.template.md`
|
|
171
|
-
- Related commands: `50-verify`, `70-release`, `Wiki`, `Help`
|
|
124
|
+
- Common companion commands: `/report:html` for standalone HTML dashboard, `Wiki` for durable knowledge capture, `Help` for routing or explanation
|
|
172
125
|
|
|
173
126
|
## Next Workflow Recommendation
|
|
174
127
|
|
|
175
|
-
- **Primary**: `70-release {ID}` after `60-report.md`
|
|
176
|
-
- **
|
|
177
|
-
- **Alternative**: `Wiki` when the completed run should be promoted into durable reusable knowledge before release packaging continues
|
|
178
|
-
- **Additional Alternative**: `handoff` when another session or agent must continue from the completed run.
|
|
179
|
-
|
|
180
|
-
## Nexus Event
|
|
181
|
-
|
|
182
|
-
- Use `Wiki` when the final summary should become durable project or framework knowledge.
|
|
183
|
-
- Use `Help` when approval signals, ownership, or route timing still feel ambiguous.
|
|
184
|
-
- Return to `50-verify` when unresolved evidence, blockers, or review state mean the report should not advance yet.
|
|
128
|
+
- **Primary**: `70-release {ID}` after `60-report.md` reflects the verified state clearly.
|
|
129
|
+
- **Optional Standalone HTML**: `/report:html` (or `npm run report:html -- {ID}`) if an interactive HTML report is desired for stakeholder presentation.
|
|
130
|
+
- **Alternative**: `Wiki` when the completed run should be promoted into durable reusable knowledge before release packaging continues.
|
|
@@ -77,6 +77,8 @@ Before packaging, merging, or releasing:
|
|
|
77
77
|
- **การ Push ไปยัง Remote หรือ Deploy จะต้องขออนุมัติแยกต่างหากอย่างชัดเจน (Merge approval DOES NOT equal Push approval)**
|
|
78
78
|
3. **Archive Resolved Findings**:
|
|
79
79
|
- ย้ายรายการ Findings ที่ปิดแล้ว (`closed`, `accepted`, `invalid`) ไปบันทึกในเอกสาร Release และรีเซ็ต `findings.md` ให้สะอาด
|
|
80
|
+
4. **Append to Master History Ledger**:
|
|
81
|
+
- บันทึก Entry ใหม่ลงใน `devflow/history/HISTORY.md` พร้อมระบุ Running ID, Title, วันที่, Git Commit Hash / Tag, สถานะ (`Released`), และลิงก์ไปยังรายงานสรุป `60-report.md`
|
|
80
82
|
|
|
81
83
|
### 1. Load Verified Context
|
|
82
84
|
|
|
@@ -146,7 +148,7 @@ Report:
|
|
|
146
148
|
- Classification: Mainline workflow
|
|
147
149
|
- Previous state: `60-report`
|
|
148
150
|
- Next state: End of the mainline run when release packaging or handoff is complete
|
|
149
|
-
- Common companion commands: `Commit`, `PR`, `Deploy`, `Changelog`, `Merge`, `Wiki`
|
|
151
|
+
- Common companion commands: `Commit`, `PR`, `Deploy`, `Changelog`, `Merge`, `Wiki`, `overview`
|
|
150
152
|
- Support skills: `resolving-merge-conflicts`, `handoff`, and `setup-pre-commit` when release packaging needs conflict resolution, transfer notes, or local quality gates
|
|
151
153
|
|
|
152
154
|
## Sources
|
|
@@ -154,13 +156,14 @@ Report:
|
|
|
154
156
|
- `AGENTS.md`
|
|
155
157
|
- `docs/workspace-artifacts.md`
|
|
156
158
|
- `.agent/resources/schemas/release.template.md`
|
|
157
|
-
- Related commands: `60-report`, `Commit`, `PR`, `Deploy`, `Changelog`, `Merge`, `Wiki`
|
|
159
|
+
- Related commands: `60-report`, `Commit`, `PR`, `Deploy`, `Changelog`, `Merge`, `Wiki`, `overview`
|
|
158
160
|
|
|
159
161
|
## Next Workflow Recommendation
|
|
160
162
|
|
|
161
|
-
- **Primary**: End of Timeline flow
|
|
163
|
+
- **Primary**: End of Timeline flow (or run `/overview` to sync living project context)
|
|
162
164
|
- **Why**: The report is already complete, and this phase is the final release-facing execution step.
|
|
163
165
|
- **Alternatives**:
|
|
166
|
+
- `overview` - choose this to immediately sync newly shipped capabilities into `devflow/context/project-overview.md`.
|
|
164
167
|
- `60-report` - choose this when the release package diverges from the approved report and the summary must be refreshed first.
|
|
165
168
|
- `50-verify` - choose this when release readiness becomes uncertain.
|
|
166
169
|
- `40-implement` - choose this when additional fixes are needed before release can proceed.
|
|
@@ -168,7 +171,7 @@ Report:
|
|
|
168
171
|
|
|
169
172
|
## Nexus Event
|
|
170
173
|
|
|
171
|
-
- Use `Commit`, `PR`, `Deploy`, `Merge`, or `
|
|
174
|
+
- Use `Commit`, `PR`, `Deploy`, `Merge`, `Changelog`, or `overview` when release execution still needs a concrete lane.
|
|
172
175
|
- Return to `60-report` when release notes, scope, or handoff wording diverge from the approved summary.
|
|
173
176
|
- Return to `50-verify` or `40-implement` when release readiness changes because unresolved issues are discovered.
|
|
174
177
|
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: check
|
|
3
|
+
description: "[Devflow] Fast-Track Check stage in DevFlow (Blueprint Mode) - perform senior QA review, run multi-lane verification, and record evidence in spec.md."
|
|
4
|
+
argument-hint: "{running-id or workspace path}"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Fast-Track: Check (Blueprint Mode)
|
|
8
|
+
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
11
|
+
Quality assurance and multi-lane verification stage in Fast-Track. Validates the implementation against Acceptance Criteria, runs test suites, checks for regressions, and records evidence in the Single Living Spec (`spec.md`).
|
|
12
|
+
|
|
13
|
+
## Invocations & Aliases
|
|
14
|
+
|
|
15
|
+
- `/check`: Run verification on current active run
|
|
16
|
+
- `/check {running-id}`: Run verification on specified running ID
|
|
17
|
+
- `$check`: Codex CLI invocation
|
|
18
|
+
|
|
19
|
+
## Fast-Track Mainline Workflow
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
/spec ──▶ /implement ──▶ /check ──▶ /complete
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Behavior & Contract
|
|
26
|
+
|
|
27
|
+
When invoked:
|
|
28
|
+
|
|
29
|
+
### 1. Load Active Context
|
|
30
|
+
1. Identify active Running ID from `devflow/context/current-stage.md` or argument.
|
|
31
|
+
2. Read `devflow/runs/{RUNNING_ID}/spec.md`.
|
|
32
|
+
3. Locate `## 1. Specification & Scope` (Acceptance Criteria) and `## 3. Implementation Checklist`.
|
|
33
|
+
|
|
34
|
+
### 2. Multi-lane Verification Execution
|
|
35
|
+
Execute the verification gates across all lanes:
|
|
36
|
+
1. **Lane 1 (Type & Syntax Safety)**:
|
|
37
|
+
- Run typecheck and linting (e.g. `npm run typecheck`, `npm run lint`).
|
|
38
|
+
2. **Lane 2 (Test Suites & Coverage)**:
|
|
39
|
+
- Run automated unit and integration tests (e.g. `npm test`).
|
|
40
|
+
3. **Lane 3 (Manual / Scenario Proof)**:
|
|
41
|
+
- Verify specific scenarios against Acceptance Criteria (`AC-1`, `AC-2`).
|
|
42
|
+
- Summarize "Where to go", "What to click/call", and "What to expect".
|
|
43
|
+
|
|
44
|
+
### 3. Update Living Spec (`spec.md`)
|
|
45
|
+
Append or update `## 5. Verification Evidence` in `spec.md` in **Thai (`th`)**:
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
## 5. Verification Evidence
|
|
49
|
+
- **Typecheck & Linter**: Passed (0 errors, 0 warnings)
|
|
50
|
+
- **Automated Test Suites**: All tests passed (e.g. 12/12 passed, 0 failed)
|
|
51
|
+
- **Acceptance Criteria Verification**:
|
|
52
|
+
- [x] AC-1: {ผลการตรวจสอบเงื่อนไขที่ 1 ผ่าน 100%}
|
|
53
|
+
- [x] AC-2: {ผลการตรวจสอบเงื่อนไขที่ 2 ผ่าน 100%}
|
|
54
|
+
- **Manual Verification Guide**:
|
|
55
|
+
- *Where to go*: `http://localhost:3000/api/auth`
|
|
56
|
+
- *Action*: Send POST request with test credentials
|
|
57
|
+
- *Expected Result*: Received HTTP 200 with valid JWT token
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 4. Update Workspace Status
|
|
61
|
+
Update `devflow/context/current-stage.md`:
|
|
62
|
+
- `Current Stage`: `check (Fast-Track -> Verification Passed -> Ready for /complete)`
|
|
63
|
+
|
|
64
|
+
### 5. Output Summary & Next Step
|
|
65
|
+
Report to the user:
|
|
66
|
+
- Summary of verification results across all lanes
|
|
67
|
+
- Evidence recorded in `spec.md`
|
|
68
|
+
- **Next Command**: `/complete` (or `/complete {RUNNING_ID}`)
|