@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.
Files changed (171) hide show
  1. package/dist/bin/create-nexus-devflow.d.ts +2 -0
  2. package/dist/bin/create-nexus-devflow.js +233 -0
  3. package/dist/bin/create-nexus-devflow.js.map +1 -0
  4. package/dist/lib/starter-templates.d.ts +6 -0
  5. package/dist/lib/starter-templates.js +8 -0
  6. package/dist/lib/starter-templates.js.map +1 -0
  7. package/dist/lib/update.d.ts +68 -0
  8. package/dist/lib/update.js +325 -0
  9. package/dist/lib/update.js.map +1 -0
  10. package/dist/scripts/clean-template.d.ts +1 -0
  11. package/dist/scripts/clean-template.js +14 -0
  12. package/dist/scripts/clean-template.js.map +1 -0
  13. package/dist/scripts/prepare-template.d.ts +1 -0
  14. package/dist/scripts/prepare-template.js +89 -0
  15. package/dist/scripts/prepare-template.js.map +1 -0
  16. package/package.json +11 -9
  17. package/template/.agents/skills/00-discover/SKILL.md +2 -0
  18. package/template/.agents/skills/60-report/SKILL.md +21 -75
  19. package/template/.agents/skills/70-release/SKILL.md +7 -4
  20. package/template/.agents/skills/check/SKILL.md +68 -0
  21. package/template/.agents/skills/ci/SKILL.md +25 -78
  22. package/template/.agents/skills/commit/SKILL.md +39 -43
  23. package/template/.agents/skills/complete/SKILL.md +73 -0
  24. package/template/.agents/skills/debug/SKILL.md +43 -104
  25. package/template/.agents/skills/deploy/SKILL.md +37 -65
  26. package/template/.agents/skills/devflow/SKILL.md +89 -80
  27. package/template/.agents/skills/idea/SKILL.md +57 -0
  28. package/template/.agents/skills/implement/SKILL.md +64 -0
  29. package/template/.agents/skills/insight/SKILL.md +27 -116
  30. package/template/.agents/skills/overview/SKILL.md +114 -0
  31. package/template/.agents/skills/preview/SKILL.md +24 -103
  32. package/template/.agents/skills/report-html/SKILL.md +45 -0
  33. package/template/.agents/skills/review/SKILL.md +53 -37
  34. package/template/.agents/skills/rollback/SKILL.md +1 -0
  35. package/template/.agents/skills/security-review/SKILL.md +44 -147
  36. package/template/.agents/skills/simplify/SKILL.md +48 -57
  37. package/template/.agents/skills/spec/SKILL.md +105 -0
  38. package/template/.agents/skills/test/SKILL.md +63 -51
  39. package/template/.claude/skills/00-discover/SKILL.md +2 -0
  40. package/template/.claude/skills/60-report/SKILL.md +21 -75
  41. package/template/.claude/skills/70-release/SKILL.md +7 -4
  42. package/template/.claude/skills/check/SKILL.md +68 -0
  43. package/template/.claude/skills/ci/SKILL.md +25 -78
  44. package/template/.claude/skills/commit/SKILL.md +39 -43
  45. package/template/.claude/skills/complete/SKILL.md +73 -0
  46. package/template/.claude/skills/debug/SKILL.md +43 -104
  47. package/template/.claude/skills/deploy/SKILL.md +37 -65
  48. package/template/.claude/skills/devflow/SKILL.md +89 -80
  49. package/template/.claude/skills/idea/SKILL.md +57 -0
  50. package/template/.claude/skills/implement/SKILL.md +64 -0
  51. package/template/.claude/skills/insight/SKILL.md +27 -116
  52. package/template/.claude/skills/overview/SKILL.md +114 -0
  53. package/template/.claude/skills/preview/SKILL.md +24 -103
  54. package/template/.claude/skills/report-html/SKILL.md +45 -0
  55. package/template/.claude/skills/review/SKILL.md +53 -37
  56. package/template/.claude/skills/rollback/SKILL.md +1 -0
  57. package/template/.claude/skills/security-review/SKILL.md +44 -147
  58. package/template/.claude/skills/simplify/SKILL.md +48 -57
  59. package/template/.claude/skills/spec/SKILL.md +105 -0
  60. package/template/.claude/skills/test/SKILL.md +63 -51
  61. package/template/AGENTS.md +71 -74
  62. package/template/devflow/context/ai-interaction.md +1 -0
  63. package/template/devflow/context/coding-standards.md +31 -18
  64. package/template/devflow/context/current-stage.md +3 -3
  65. package/template/devflow/context/findings.md +10 -6
  66. package/template/devflow/context/project-overview.md +29 -11
  67. package/template/devflow/discoveries/.gitkeep +0 -0
  68. package/template/devflow/history/HISTORY.md +31 -0
  69. package/template/devflow/ideas.md +15 -0
  70. package/template/devflow/reference/running-id-contract.md +1 -1
  71. package/template/devflow/runs/.gitkeep +0 -0
  72. package/bin/create-nexus-devflow.js +0 -287
  73. package/lib/starter-templates.js +0 -111
  74. package/lib/update.js +0 -379
  75. package/template/.agents/skills/9arm-skills/README.md +0 -51
  76. package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +0 -86
  77. package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +0 -79
  78. package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +0 -71
  79. package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +0 -72
  80. package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +0 -302
  81. package/template/.agents/skills/ci-cd-and-automation/SKILL.md +0 -390
  82. package/template/.agents/skills/code-review-and-quality/SKILL.md +0 -392
  83. package/template/.agents/skills/code-simplification/SKILL.md +0 -331
  84. package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +0 -298
  85. package/template/.agents/skills/deployment-procedures/SKILL.md +0 -241
  86. package/template/.agents/skills/deprecation-and-migration/SKILL.md +0 -206
  87. package/template/.agents/skills/diagnosing-bugs/SKILL.md +0 -93
  88. package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +0 -300
  89. package/template/.agents/skills/human-review-decisions/SKILL.md +0 -74
  90. package/template/.agents/skills/idea-refine/SKILL.md +0 -178
  91. package/template/.agents/skills/idea-refine/examples.md +0 -238
  92. package/template/.agents/skills/idea-refine/frameworks.md +0 -99
  93. package/template/.agents/skills/idea-refine/refinement-criteria.md +0 -113
  94. package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +0 -15
  95. package/template/.agents/skills/incremental-implementation/SKILL.md +0 -248
  96. package/template/.agents/skills/insight-capture/SKILL.md +0 -84
  97. package/template/.agents/skills/intelligent-routing/SKILL.md +0 -176
  98. package/template/.agents/skills/md2html/SKILL.md +0 -154
  99. package/template/.agents/skills/md2html/components.md +0 -505
  100. package/template/.agents/skills/md2html/template.html +0 -1152
  101. package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +0 -239
  102. package/template/.agents/skills/pr-review/SKILL.md +0 -143
  103. package/template/.agents/skills/pr-review-analysis/SKILL.md +0 -89
  104. package/template/.agents/skills/preview-local-check/SKILL.md +0 -59
  105. package/template/.agents/skills/release-git-operations/SKILL.md +0 -97
  106. package/template/.agents/skills/review-followup-routing/SKILL.md +0 -98
  107. package/template/.agents/skills/security-and-hardening/SKILL.md +0 -349
  108. package/template/.agents/skills/security-and-hardening/security-checklist.md +0 -134
  109. package/template/.agents/skills/shipping-and-launch/SKILL.md +0 -311
  110. package/template/.agents/skills/silent-failure-audit/SKILL.md +0 -73
  111. package/template/.agents/skills/spec-orchestration/SKILL.md +0 -91
  112. package/template/.agents/skills/specialist-agent-routing/SKILL.md +0 -107
  113. package/template/.agents/skills/test-driven-development/SKILL.md +0 -422
  114. package/template/.agents/skills/test-driven-development/testing-patterns.md +0 -236
  115. package/template/.agents/skills/test-execution-and-coverage/SKILL.md +0 -56
  116. package/template/.agents/skills/using-agent-skills/SKILL.md +0 -171
  117. package/template/.agents/skills/verification-orchestration/SKILL.md +0 -68
  118. package/template/.agents/skills/vulnerability-scanner/SKILL.md +0 -276
  119. package/template/.agents/skills/vulnerability-scanner/checklists.md +0 -121
  120. package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  121. package/template/.agents/skills/wiki/SKILL.md +0 -149
  122. package/template/.agents/skills/workflow-documentation-sync/SKILL.md +0 -87
  123. package/template/.claude/skills/9arm-skills/README.md +0 -51
  124. package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +0 -86
  125. package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +0 -79
  126. package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +0 -71
  127. package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +0 -72
  128. package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +0 -302
  129. package/template/.claude/skills/ci-cd-and-automation/SKILL.md +0 -390
  130. package/template/.claude/skills/code-review-and-quality/SKILL.md +0 -392
  131. package/template/.claude/skills/code-simplification/SKILL.md +0 -331
  132. package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +0 -298
  133. package/template/.claude/skills/deployment-procedures/SKILL.md +0 -241
  134. package/template/.claude/skills/deprecation-and-migration/SKILL.md +0 -206
  135. package/template/.claude/skills/diagnosing-bugs/SKILL.md +0 -93
  136. package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +0 -300
  137. package/template/.claude/skills/human-review-decisions/SKILL.md +0 -74
  138. package/template/.claude/skills/idea-refine/SKILL.md +0 -178
  139. package/template/.claude/skills/idea-refine/examples.md +0 -238
  140. package/template/.claude/skills/idea-refine/frameworks.md +0 -99
  141. package/template/.claude/skills/idea-refine/refinement-criteria.md +0 -113
  142. package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +0 -15
  143. package/template/.claude/skills/incremental-implementation/SKILL.md +0 -248
  144. package/template/.claude/skills/insight-capture/SKILL.md +0 -84
  145. package/template/.claude/skills/intelligent-routing/SKILL.md +0 -176
  146. package/template/.claude/skills/md2html/SKILL.md +0 -154
  147. package/template/.claude/skills/md2html/components.md +0 -505
  148. package/template/.claude/skills/md2html/template.html +0 -1152
  149. package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +0 -239
  150. package/template/.claude/skills/pr-review/SKILL.md +0 -143
  151. package/template/.claude/skills/pr-review-analysis/SKILL.md +0 -89
  152. package/template/.claude/skills/preview-local-check/SKILL.md +0 -59
  153. package/template/.claude/skills/release-git-operations/SKILL.md +0 -97
  154. package/template/.claude/skills/review-followup-routing/SKILL.md +0 -98
  155. package/template/.claude/skills/security-and-hardening/SKILL.md +0 -349
  156. package/template/.claude/skills/security-and-hardening/security-checklist.md +0 -134
  157. package/template/.claude/skills/shipping-and-launch/SKILL.md +0 -311
  158. package/template/.claude/skills/silent-failure-audit/SKILL.md +0 -73
  159. package/template/.claude/skills/spec-orchestration/SKILL.md +0 -91
  160. package/template/.claude/skills/specialist-agent-routing/SKILL.md +0 -107
  161. package/template/.claude/skills/test-driven-development/SKILL.md +0 -422
  162. package/template/.claude/skills/test-driven-development/testing-patterns.md +0 -236
  163. package/template/.claude/skills/test-execution-and-coverage/SKILL.md +0 -56
  164. package/template/.claude/skills/using-agent-skills/SKILL.md +0 -171
  165. package/template/.claude/skills/verification-orchestration/SKILL.md +0 -68
  166. package/template/.claude/skills/vulnerability-scanner/SKILL.md +0 -276
  167. package/template/.claude/skills/vulnerability-scanner/checklists.md +0 -121
  168. package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  169. package/template/.claude/skills/wiki/SKILL.md +0 -149
  170. package/template/.claude/skills/workflow-documentation-sync/SKILL.md +0 -87
  171. package/template/.nexus/nexus-devflow.json +0 -44
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../lib/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
+ const packageRoot = path.resolve(__dirname, "..");
6
+ const templateRoot = path.join(packageRoot, "template");
7
+ async function main() {
8
+ await fs.rm(templateRoot, { recursive: true, force: true, maxRetries: 5, retryDelay: 200 });
9
+ }
10
+ main().catch((error) => {
11
+ console.error(error instanceof Error ? error.message : String(error));
12
+ process.exit(1);
13
+ });
14
+ //# sourceMappingURL=clean-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-template.js","sourceRoot":"","sources":["../../scripts/clean-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAExD,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,89 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
+ const packageRoot = path.resolve(__dirname, "..");
6
+ const repoRoot = path.resolve(packageRoot, "..", "..");
7
+ const templateRoot = path.join(packageRoot, "template");
8
+ const entries = [
9
+ "AGENTS.md",
10
+ "CLAUDE.md",
11
+ ".agents",
12
+ ".claude",
13
+ "devflow",
14
+ "LICENSE"
15
+ ];
16
+ async function copyEntry(entry) {
17
+ const source = path.join(repoRoot, entry);
18
+ const target = path.join(templateRoot, entry);
19
+ try {
20
+ await fs.cp(source, target, {
21
+ recursive: true,
22
+ filter: (src) => {
23
+ const normalized = path.relative(repoRoot, src).replace(/\\/g, "/");
24
+ if (normalized.startsWith("devflow/runs/") &&
25
+ !normalized.endsWith(".gitkeep") &&
26
+ !normalized.endsWith("README.md")) {
27
+ return false;
28
+ }
29
+ if (normalized.startsWith("devflow/discoveries/") &&
30
+ !normalized.endsWith(".gitkeep") &&
31
+ !normalized.endsWith("README.md")) {
32
+ return false;
33
+ }
34
+ if (normalized.includes(".agents/skills/sync-upstream") ||
35
+ normalized.includes(".claude/skills/sync-upstream")) {
36
+ return false;
37
+ }
38
+ return true;
39
+ }
40
+ });
41
+ }
42
+ catch (err) {
43
+ if (err.code !== "ENOENT") {
44
+ throw err;
45
+ }
46
+ }
47
+ }
48
+ async function ensureEmptyDirectories() {
49
+ const runsDir = path.join(templateRoot, "devflow", "runs");
50
+ const discDir = path.join(templateRoot, "devflow", "discoveries");
51
+ await fs.mkdir(runsDir, { recursive: true });
52
+ await fs.mkdir(discDir, { recursive: true });
53
+ await fs.writeFile(path.join(runsDir, ".gitkeep"), "", "utf8");
54
+ await fs.writeFile(path.join(discDir, ".gitkeep"), "", "utf8");
55
+ }
56
+ async function sanitizeAgentsEntryFile(filePath) {
57
+ try {
58
+ let content = await fs.readFile(filePath, "utf8");
59
+ const maintainerCommandsRegex = /## Verification & Commands[\s\S]*$/;
60
+ const starterCommands = `## Commands
61
+
62
+ - Dev Server: \`npm run dev\`
63
+ - Build: \`npm run build\`
64
+ - Test: \`npm test\`
65
+ - Verify: \`npm run check\` (Run \`/onboard\` to auto-configure)
66
+ `;
67
+ content = content.replace(maintainerCommandsRegex, starterCommands);
68
+ await fs.writeFile(filePath, content, "utf8");
69
+ }
70
+ catch (error) {
71
+ if (error.code !== "ENOENT") {
72
+ throw error;
73
+ }
74
+ }
75
+ }
76
+ async function main() {
77
+ await fs.rm(templateRoot, { recursive: true, force: true, maxRetries: 5, retryDelay: 200 });
78
+ await fs.mkdir(templateRoot, { recursive: true });
79
+ for (const entry of entries) {
80
+ await copyEntry(entry);
81
+ }
82
+ await ensureEmptyDirectories();
83
+ await sanitizeAgentsEntryFile(path.join(templateRoot, "AGENTS.md"));
84
+ }
85
+ main().catch((error) => {
86
+ console.error(error instanceof Error ? error.message : String(error));
87
+ process.exit(1);
88
+ });
89
+ //# sourceMappingURL=prepare-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakkrichm/create-nexus-devflow",
3
- "version": "2.0.12",
3
+ "version": "2.0.14",
4
4
  "description": "Installer package for Nexus-DevFlow agentic workflow layer.",
5
5
  "license": "MIT",
6
6
  "author": "Jakkrich",
@@ -25,20 +25,22 @@
25
25
  "workflow",
26
26
  "scaffold"
27
27
  ],
28
+ "type": "module",
28
29
  "bin": {
29
- "create-nexus-devflow": "bin/create-nexus-devflow.js",
30
- "nexus-devflow": "bin/create-nexus-devflow.js"
30
+ "create-nexus-devflow": "dist/bin/create-nexus-devflow.js",
31
+ "nexus-devflow": "dist/bin/create-nexus-devflow.js"
31
32
  },
32
33
  "scripts": {
33
- "test": "node --test",
34
+ "build": "tsc -p tsconfig.json",
35
+ "test": "tsx --test test/update.test.ts",
34
36
  "check:pack": "npm pack --dry-run",
35
- "prepare-template": "node scripts/prepare-template.js",
36
- "prepack": "node scripts/prepare-template.js",
37
- "postpack": "node scripts/clean-template.js"
37
+ "prepare-template": "tsx scripts/prepare-template.ts",
38
+ "clean-template": "tsx scripts/clean-template.ts",
39
+ "prepack": "npm run build && npm run prepare-template",
40
+ "postpack": "npm run clean-template"
38
41
  },
39
42
  "files": [
40
- "bin/",
41
- "lib/",
43
+ "dist/",
42
44
  "template/",
43
45
  "README.md",
44
46
  "LICENSE",
@@ -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
- ---name: 60-report
2
-
3
- description: "[Devflow] Report stage in DevFlow 2.0 - produce standardized markdown and HTML summary report for the completed run."
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 both Markdown and HTML so the outcome is easy to communicate every time.
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 artifacts to:
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 and HTML summary that lets a reader understand the outcome, evidence, decisions, risks, and next actions without replaying the whole run.
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, then render the HTML report.
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 `70-report.md` and `70-report.html` both exist, summarize the outcome accurately, include checklist and evidence snapshots, and name any remaining follow-up work.
66
- - **Handoff**: `70-report.md` must close the mainline run or tell the next reader exactly where follow-up work should continue.
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
- To render the HTML consistently from the markdown report, use one of:
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` and `60-report.html` were written
152
- - render command used or recommended:
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` and `60-report.html` reflect the verified state clearly.
176
- - **Render HTML**: `npm run report:html -- {ID}` after `60-report.md` is finalized so the standardized stakeholder HTML stays in sync
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 `Changelog` when release execution still needs a concrete lane.
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}`)
@@ -1,70 +1,36 @@
1
1
  ---
2
2
  name: ci
3
- description: "[Devflow] Set up automated GitHub Actions CI workflow (.github/workflows/verify.yml) aligned with project verify command."
3
+ description: "[Devflow] CI/CD pipeline automation and GitHub Actions setup (.github/workflows/verify.yml). Automates quality gates, typechecks, tests, and build checks."
4
4
  ---
5
5
 
6
- # ci - Automated GitHub Actions Pipeline Setup
6
+ # CI/CD Pipeline Automation & Quality Gates
7
7
 
8
- Where this sits in the workflow:
8
+ ## Overview
9
+
10
+ This is the CI/CD and automation master skill for Nexus-DevFlow. It automates quality gates so that no change reaches production without passing static analysis, typechecking, tests, security audits, and builds.
9
11
 
10
12
  ```text
11
- onboard or adopt -> [ci] -> Verify locally -> GitHub Actions runs Verify on PR & Push
12
- (project setup) (setup) (same command) (automated checks)
13
+ PR / Push Lint & Typecheck Unit & Integration Tests ➔ Build Verification ➔ Security Audit
13
14
  ```
14
15
 
15
- This skill connects local verification with automated GitHub checks using **one shared Verify recipe**:
16
-
17
- - **Verify is the recipe**: Runs the project's real checks (typecheck, tests, build) defined in `AGENTS.md`.
18
- - **GitHub Actions is the worker**: Executes the same recipe automatically on pull requests and pushes.
19
- - **Branch Protection / Ruleset is the gate**: Optionally requires the check to pass before merging.
20
-
21
- This skill configures the workflow file. It **never pushes to remote, changes remote repository rulesets, or publishes releases** without explicit permission.
22
-
23
- ## Input
24
-
25
- No argument is required. A preferred package manager or branch name can be optionally provided.
26
-
27
- ## Step 1 - Inspect Project Setup (Read-Only)
28
-
29
- Inspect the repository without modifying files:
30
-
31
- 1. **Commands in `AGENTS.md`**: Look for existing `Verify`, `Test`, `Build`, and `Dev` commands.
32
- 2. **Project Manifests**: `package.json`, `requirements.txt`, `pyproject.toml`, `go.mod`, `Cargo.toml`, etc.
33
- 3. **Lockfiles & Package Manager**: `pnpm-lock.yaml` (pnpm), `package-lock.json` (npm), `yarn.lock` (yarn), `bun.lockb` (bun), `poetry.lock` (poetry), `Cargo.lock` (cargo).
34
- 4. **Runtime Versions**: `.node-version`, `.nvmrc`, `package.json` engines, `.python-version`.
35
- 5. **Existing Workflows**: Inspect `.github/workflows/` to check if a CI workflow already exists.
36
- 6. **Git Default Branch**: Detect `main` or `master`.
37
-
38
- If a healthy and matching workflow already exists, report that CI is already in place and stop.
39
-
40
- ## Step 2 - Define The Single Verify Command
41
-
42
- Build one combined Verify command from actual checks that exist in the project, in this standard order:
43
-
44
- 1. **Typecheck** (e.g. `tsc --noEmit`, `mypy`, `pyright`, `go vet`)
45
- 2. **Tests** (e.g. `npm test`, `pytest`, `go test ./...`, `cargo test`) - only if real tests exist
46
- 3. **Build** (e.g. `npm run build`, `cargo build`)
47
-
48
- For JavaScript/TypeScript projects, ensure a `verify` or `check` script exists in `package.json` (or combine existing scripts: e.g. `npm run check:static && npm test && npm run build`).
49
-
50
- Record the exact command in the Commands section of `AGENTS.md`:
16
+ ---
51
17
 
52
- ```markdown
53
- ## Commands
54
- - Verify: `npm run check` (or detected verify command)
55
- ```
18
+ ## 1. Shift-Left Quality Gate Pipeline
56
19
 
57
- ## Step 3 - Generate `.github/workflows/verify.yml`
20
+ 1. **Static Analysis & Typecheck**: `tsc --noEmit`, `eslint`, `biome` (Catches syntax & type flaws in seconds).
21
+ 2. **Automated Tests**: Unit & Integration tests (`npm test`, `pytest`, `go test`).
22
+ 3. **Build Integrity**: `npm run build` (Ensures bundle compiles cleanly without warnings).
23
+ 4. **Security Hygiene**: `npm audit --audit-level=high` (Flags vulnerable dependencies).
58
24
 
59
- Create `.github/workflows/verify.yml` with security and stability best practices:
25
+ ---
60
26
 
61
- - **Trigger**: Pull requests to default branch + Pushes to default branch.
62
- - **Permissions**: Set least privilege `permissions: contents: read`.
63
- - **Concurrency**: Cancel in-progress runs on the same PR branch.
64
- - **Lockfile-Safe Install**: Use `npm ci`, `pnpm install --frozen-lockfile`, `yarn install --immutable`, or `cargo --locked`.
65
- - **Exact Verify Step**: Run the exact Verify command from `AGENTS.md`.
27
+ ## 2. GitHub Actions Setup (`.github/workflows/verify.yml`)
66
28
 
67
- ### Standard GitHub Actions Template (Node.js Example):
29
+ When setting up or updating CI:
30
+ - **Trigger**: Pull requests and pushes to `main` / `master`.
31
+ - **Permissions**: Enforce least privilege (`permissions: contents: read`).
32
+ - **Concurrency**: Cancel stale in-progress runs on the same PR.
33
+ - **Deterministic Install**: Use `npm ci` or `--frozen-lockfile`.
68
34
 
69
35
  ```yaml
70
36
  name: Verify
@@ -90,7 +56,7 @@ jobs:
90
56
  - name: Checkout Code
91
57
  uses: actions/checkout@v4
92
58
 
93
- - name: Setup Runtime
59
+ - name: Setup Node
94
60
  uses: actions/setup-node@v4
95
61
  with:
96
62
  node-version: 20
@@ -103,29 +69,10 @@ jobs:
103
69
  run: npm run check
104
70
  ```
105
71
 
106
- ## Step 4 - Verify Locally
107
-
108
- Execute the Verify command locally to confirm that it succeeds on clean code before recommending it:
109
-
110
- ```bash
111
- npm run check
112
- ```
113
-
114
- If local verification fails, report the failing check and assist in resolving it before claiming CI readiness.
115
-
116
- ## Step 5 - Summary & Handoff
117
-
118
- Output a concise summary:
119
-
120
- - **Verify Command**: Documented command in `AGENTS.md`.
121
- - **Workflow File**: `.github/workflows/verify.yml` (created/updated).
122
- - **Trigger Events**: `pull_request` & `push`.
123
- - **Local Test**: Result of local execution.
124
- - **Next Steps**: Advise user to commit and push the workflow to activate GitHub Actions.
72
+ ---
125
73
 
126
- ## Rules
74
+ ## Relationship To DevFlow 2.0
127
75
 
128
- - **Preserve Existing CI**: Never overwrite existing custom workflows without explicit user consent.
129
- - **No Dummy Tests**: Do not invent fake test commands or install unrequested test runners.
130
- - **Least Privilege Security**: Always specify `permissions: contents: read`.
131
- - **No Auto-Push**: Stop at local file creation; do not push to remote automatically.
76
+ - **Classification**: Companion command & Automated testing infrastructure
77
+ - **Mainline integration**: Invoked via `/ci` during `onboard` or `adopt`.
78
+ - **Handoff**: `50-verify`, `70-release`