@jakkrichm/create-nexus-devflow 2.0.13 → 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 (52) 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 +5 -4
  20. package/template/.agents/skills/check/SKILL.md +68 -0
  21. package/template/.agents/skills/complete/SKILL.md +73 -0
  22. package/template/.agents/skills/devflow/SKILL.md +89 -80
  23. package/template/.agents/skills/idea/SKILL.md +57 -0
  24. package/template/.agents/skills/implement/SKILL.md +64 -0
  25. package/template/.agents/skills/overview/SKILL.md +114 -0
  26. package/template/.agents/skills/report-html/SKILL.md +45 -0
  27. package/template/.agents/skills/spec/SKILL.md +105 -0
  28. package/template/.claude/skills/00-discover/SKILL.md +2 -0
  29. package/template/.claude/skills/60-report/SKILL.md +21 -75
  30. package/template/.claude/skills/70-release/SKILL.md +5 -4
  31. package/template/.claude/skills/check/SKILL.md +68 -0
  32. package/template/.claude/skills/complete/SKILL.md +73 -0
  33. package/template/.claude/skills/devflow/SKILL.md +89 -80
  34. package/template/.claude/skills/idea/SKILL.md +57 -0
  35. package/template/.claude/skills/implement/SKILL.md +64 -0
  36. package/template/.claude/skills/overview/SKILL.md +114 -0
  37. package/template/.claude/skills/report-html/SKILL.md +45 -0
  38. package/template/.claude/skills/spec/SKILL.md +105 -0
  39. package/template/AGENTS.md +71 -74
  40. package/template/devflow/context/ai-interaction.md +1 -0
  41. package/template/devflow/context/coding-standards.md +31 -18
  42. package/template/devflow/context/current-stage.md +3 -3
  43. package/template/devflow/context/findings.md +10 -6
  44. package/template/devflow/context/project-overview.md +29 -11
  45. package/template/devflow/discoveries/.gitkeep +0 -0
  46. package/template/devflow/history/HISTORY.md +4 -0
  47. package/template/devflow/ideas.md +15 -0
  48. package/template/devflow/runs/.gitkeep +0 -0
  49. package/bin/create-nexus-devflow.js +0 -287
  50. package/lib/starter-templates.js +0 -111
  51. package/lib/update.js +0 -393
  52. package/template/.nexus/nexus-devflow.json +0 -44
@@ -1,19 +1,37 @@
1
1
  # Project Overview
2
2
 
3
- > **DevFlow Context Source of Truth.**
4
- > Single AI-facing source of truth for project architecture, stack, and shipped capabilities.
5
- > Run `/onboard` (for fresh projects) or `/adopt` (for existing codebases) to populate this file automatically.
3
+ Primary source of truth for the project context, architecture, tech stack, and active DevFlow stage status.
6
4
 
7
- ## 1. Project Summary
5
+ ## Application Summary
8
6
 
9
- - **Name**: [Project Name]
10
- - **Description**: [One-line summary of project purpose]
11
- - **Primary Stack**: [Framework / Language / Runtime]
7
+ - **Project Name**: Nexus-DevFlow
8
+ - **Goal**: Agent-ready DevFlow 2.0 workflow layer framework with .agents and .claude adapter tooling, living context synchronization, and automated AI Blueprint upstream monitoring.
9
+ - **Target Audience**: AI coding assistants (Google Antigravity, OpenAI Codex, Claude Code, Cursor) and software development teams building resilient agentic delivery workflows.
12
10
 
13
- ## 2. Architecture & Modules
11
+ ## Tech Stack
14
12
 
15
- - `src/` - Core application source code
13
+ - **Core & Runtime**: Node.js (>=18.17 / Node 22), TypeScript 5.7, Node Next ESM (`"type": "module"`)
14
+ - **Execution & Tooling**: `tsx` (TypeScript execute/test runner), `tsc` (Typecheck & compilation)
15
+ - **Installer Package**: `@jakkrichm/create-nexus-devflow` (with `dist/` compilation pipeline)
16
+ - **Documentation**: VitePress / Astro website under `website/` (GitHub Pages)
17
+ - **Upstream Integration**: Automated GitHub Actions monitor (`.github/workflows/check-upstream.yml`) tracking `aiblueprinthq/ai-blueprint`
18
+ - **Verification Gate**: `npm run check` (TypeScript typechecking, static contract validation, TF-IDF skill routing evaluations, installer unit tests, packed smoke tests)
16
19
 
17
- ## 3. Shipped Capabilities
20
+ ## Architecture & Key Modules
18
21
 
19
- - None recorded yet. Run `/onboard` or `/adopt` to initialize.
22
+ - **`packages/create-nexus-devflow/`**: Distribution CLI package with TypeScript compilation (`dist/bin/create-nexus-devflow.js`), atomic update engine (`lib/update.ts`), and prepack template bundler (`scripts/prepare-template.ts`).
23
+ - **`.agents/skills/` & `.claude/skills/`**: 72 synchronized AI agent skills covering Mainline stages (00-70) and companion tools (`devflow`, `try`, `doctor`, `overview`, `sync-upstream`, `ci`, `rollback`).
24
+ - **`scripts/`**: Maintainer infrastructure (`check-devflow.ts`, `validate-framework.ts`, `smoke-package.ts`, `upstream-monitor.ts`, `evals/routing.ts`).
25
+ - **`devflow/`**: Workspace state, discoveries, runs, context, reference contracts, and master release history ledger.
26
+
27
+ ## Shipped Capabilities (Recent Milestones)
28
+
29
+ - **`RUN-014` (2026-08-20)**: Upgraded DevFlow to full TypeScript architecture (`tsconfig.json`, `tsx`, `tsc`, `dist/`), migrated AI Blueprint Upstream Monitor workflow to DevFlow, and established multi-lane verification matrix.
30
+ - **`RUN-013` (2026-08-20)**: Added `/overview` skill for living context scanning and synchronization.
31
+ - **`RUN-008` (2026-08-18)**: Lean & Clean DevFlow optimization, consolidated skill taxonomy, and safe rollback mechanisms.
32
+
33
+ ## DevFlow Workspace Status
34
+
35
+ - **Active Discovery ID**: None (Idle)
36
+ - **Active Running ID**: None (Idle)
37
+ - **Last Completed Run**: `RUN-014-typescript-migration-and-upstream-monitor-for-devflow`
File without changes
@@ -8,6 +8,10 @@ This master ledger tracks all released delivery runs, milestones, and rollbacks
8
8
 
9
9
  | Release Date | Running ID | Title | Git Tag / Commit | Release Status | Report Link |
10
10
  | :--- | :--- | :--- | :--- | :--- | :--- |
11
+ | 2026-08-20 | `RUN-016` | ระบบบันทึกไอเดียพร้อม AI วิเคราะห์ความเป็นไปได้ (`/idea`) และเชื่อมต่อกับ Status Backlog | `HEAD` | `Released` | [`spec.md`](../runs/RUN-016-idea-capture-inbox-and-status-integration/spec.md) |
12
+ | 2026-08-20 | `RUN-015` | Dual-Track Architecture (Fast-Track 4 Steps & Deep-Track 8 Steps) + Living Spec (`spec.md`) + Standalone HTML Report Policy | `HEAD` | `Released` | [`spec.md`](../runs/RUN-015-fast-track-and-living-blueprint/spec.md) |
13
+ | 2026-08-20 | `RUN-014` | ยกระดับสถาปัตยกรรม DevFlow สู่ TypeScript และย้ายระบบ Check AI Blueprint Upstream Monitor | `HEAD` | `Released` | [`60-report.md`](../runs/RUN-014-typescript-migration-and-upstream-monitor-for-devflow/60-report.md) |
14
+ | 2026-08-20 | `RUN-013` | เพิ่ม Skill `/overview` และระบบ Living Context Sync สำหรับ Nexus-DevFlow | `e30375b` | `Released` | [`60-report.md`](../runs/RUN-013-add-overview-and-context-sync-skill/60-report.md) |
11
15
  | 2026-08-18 | `RUN-008` | ปรับปรุงโครงสร้าง Nexus-DevFlow ให้ Lean & Clean ยุบรวม Skills บริหารจัดการ History และ Safe Rollback | `be713ea` | `Released` | [`60-report.md`](../runs/RUN-008-lean-and-clean-devflow-optimization/60-report.md) |
12
16
  | 2026-08-18 | `RUN-007` | ยกระดับระบบ Nexus-DevFlow ด้วยวินัยและกลไกสำคัญจาก Blueprint | `e79528b` | `Released` | [`60-report.md`](../runs/RUN-007-integrate-blueprint-skills-enhancements/60-report.md) |
13
17
  | 2026-08-18 | `RUN-006` | Standardize Command Naming and Provider Invocation | `HEAD` | `Released` | [`60-report.md`](../runs/RUN-006-standardize-command-naming-and-provider-invocation/60-report.md) |
@@ -0,0 +1,15 @@
1
+ # 💡 DevFlow Idea Inbox & Backlog
2
+
3
+ บันทึกไอเดียที่รอดำเนินการ พร้อมบทวิเคราะห์ความเป็นไปได้เบื้องต้นจาก AI (บันทึกด้วยคำสั่ง `/idea "<text>"`)
4
+
5
+ ---
6
+
7
+ ## 📌 Pending Ideas
8
+
9
+ *(ยังไม่มีไอเดียค้างอยู่ — เพิ่มไอเดียใหม่ได้ด้วยคำสั่ง `/idea "<ข้อความไอเดีย>" หรือ `$idea "<text>"`)*
10
+
11
+ ---
12
+
13
+ ## 📦 Archived / Shipped Ideas
14
+
15
+ *(ไอเดียที่ถูกหยิบไปทำด้วย `/spec IDEA-xxx` หรือ `/00-discover IDEA-xxx` จะถูกย้ายมาบันทึกที่นี่)*
File without changes
@@ -1,287 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require("node:fs/promises");
4
- const fsSync = require("node:fs");
5
- const path = require("node:path");
6
- const readline = require("node:readline/promises");
7
- const {
8
- MANIFEST_PATH,
9
- applyPreparedUpdate,
10
- prepareUpdate,
11
- writeInstallManifest
12
- } = require("../lib/update");
13
-
14
- const packageRoot = path.resolve(__dirname, "..");
15
- const templateRoot = path.join(packageRoot, "template");
16
-
17
- const adapterChoices = new Set(["codex", "antigravity", "claude", "both", "all"]);
18
-
19
- async function main() {
20
- const options = parseArgs(process.argv.slice(2));
21
-
22
- if (options.help) {
23
- printHelp();
24
- return;
25
- }
26
-
27
- if (options.version) {
28
- console.log(readPackageVersion());
29
- return;
30
- }
31
-
32
- if (!fsSync.existsSync(templateRoot)) {
33
- throw new Error(
34
- "Installer template is missing. Run `npm run prepare-template` before local testing."
35
- );
36
- }
37
-
38
- const targetDir = path.resolve(process.cwd(), options.target || ".");
39
- const version = readPackageVersion();
40
-
41
- if (options.command === "update") {
42
- const prepared = await prepareUpdate({
43
- targetDir,
44
- templateRoot,
45
- version,
46
- adapter: options.adapter
47
- });
48
- printUpdatePlan(prepared);
49
-
50
- if (options.dryRun) {
51
- return;
52
- }
53
-
54
- const replaceConflicts =
55
- options.force || (await confirmUpdateConflicts(prepared, options));
56
- const result = await applyPreparedUpdate(prepared, { replaceConflicts });
57
- printUpdateSuccess(prepared, result);
58
- return;
59
- }
60
-
61
- const prepared = await prepareUpdate({
62
- targetDir,
63
- templateRoot,
64
- version,
65
- adapter: options.adapter
66
- });
67
-
68
- printInstallPlan(prepared, options);
69
-
70
- if (options.dryRun) {
71
- return;
72
- }
73
-
74
- if (prepared.conflictList.length > 0 && !options.force) {
75
- const proceed = await confirmInstallConflicts(prepared, options);
76
- if (!proceed) {
77
- console.log("Install cancelled.");
78
- return;
79
- }
80
- }
81
-
82
- const result = await applyPreparedUpdate(prepared, {
83
- replaceConflicts: options.force || prepared.conflictList.length > 0
84
- });
85
-
86
- printInstallSuccess(targetDir, result, options);
87
- }
88
-
89
- function parseArgs(args) {
90
- let command = "install";
91
- let target = null;
92
- let adapter = "both";
93
- let force = false;
94
- let dryRun = false;
95
- let help = false;
96
- let version = false;
97
- let yes = false;
98
-
99
- const positional = [];
100
-
101
- for (let i = 0; i < args.length; i++) {
102
- const arg = args[i];
103
-
104
- if (arg === "--help" || arg === "-h") {
105
- help = true;
106
- continue;
107
- }
108
-
109
- if (arg === "--version" || arg === "-v") {
110
- version = true;
111
- continue;
112
- }
113
-
114
- if (arg === "--force" || arg === "-f") {
115
- force = true;
116
- continue;
117
- }
118
-
119
- if (arg === "--dry-run") {
120
- dryRun = true;
121
- continue;
122
- }
123
-
124
- if (arg === "-y" || arg === "--yes") {
125
- yes = true;
126
- continue;
127
- }
128
-
129
- if (arg === "--adapter") {
130
- const value = args[++i];
131
- if (!value || !adapterChoices.has(value.toLowerCase())) {
132
- throw new Error(
133
- `Invalid --adapter value "${value}". Expected one of: codex, antigravity, claude, both, all`
134
- );
135
- }
136
- adapter = value.toLowerCase();
137
- continue;
138
- }
139
-
140
- if (arg.startsWith("--adapter=")) {
141
- const value = arg.slice("--adapter=".length);
142
- if (!adapterChoices.has(value.toLowerCase())) {
143
- throw new Error(
144
- `Invalid --adapter value "${value}". Expected one of: codex, antigravity, claude, both, all`
145
- );
146
- }
147
- adapter = value.toLowerCase();
148
- continue;
149
- }
150
-
151
- if (arg.startsWith("-")) {
152
- throw new Error(`Unknown option "${arg}". Use --help to see available options.`);
153
- }
154
-
155
- positional.push(arg);
156
- }
157
-
158
- if (positional.length > 0) {
159
- if (positional[0] === "update") {
160
- command = "update";
161
- target = positional[1] || ".";
162
- } else {
163
- target = positional[0];
164
- }
165
- }
166
-
167
- return {
168
- command,
169
- target,
170
- adapter,
171
- force,
172
- dryRun,
173
- help,
174
- version,
175
- yes
176
- };
177
- }
178
-
179
- function readPackageVersion() {
180
- const pkgPath = path.join(packageRoot, "package.json");
181
- const content = fsSync.readFileSync(pkgPath, "utf8");
182
- return JSON.parse(content).version;
183
- }
184
-
185
- function printHelp() {
186
- console.log(`
187
- Nexus-DevFlow Installer v${readPackageVersion()}
188
-
189
- Usage:
190
- npx @jakkrichm/create-nexus-devflow [target-dir] [options]
191
- npx @jakkrichm/create-nexus-devflow update [target-dir] [options]
192
-
193
- Options:
194
- --adapter <name> Tool adapters to install: codex, antigravity, claude, both (default: both)
195
- --force, -f Overwrite conflicting files without prompting
196
- --dry-run Preview changes without modifying disk
197
- -y, --yes Automatically confirm interactive prompts
198
- --version, -v Show version number
199
- --help, -h Show help screen
200
- `);
201
- }
202
-
203
- function printInstallPlan(prepared, options) {
204
- console.log(`\nNexus-DevFlow v${readPackageVersion()}`);
205
- console.log(`Target Directory: ${prepared.targetDir}`);
206
- console.log(`Active Adapters : ${prepared.activeAdapters.join(", ")}\n`);
207
-
208
- console.log(`Files to create : ${prepared.createList.length}`);
209
- console.log(`Files to update : ${prepared.updateList.length}`);
210
- console.log(`Conflicts found : ${prepared.conflictList.length}`);
211
-
212
- if (prepared.conflictList.length > 0) {
213
- console.log("\nConflicting files:");
214
- for (const conflict of prepared.conflictList) {
215
- console.log(` - ${conflict.relativePath} (${conflict.detail})`);
216
- }
217
- }
218
- }
219
-
220
- function printUpdatePlan(prepared) {
221
- console.log(`\nNexus-DevFlow Update Plan (v${readPackageVersion()})`);
222
- console.log(`Target Directory: ${prepared.targetDir}`);
223
- console.log(`Active Adapters : ${prepared.activeAdapters.join(", ")}\n`);
224
-
225
- console.log(`Files to create : ${prepared.createList.length}`);
226
- console.log(`Files to update : ${prepared.updateList.length}`);
227
- console.log(`Orphaned files : ${prepared.orphanedFiles.length}`);
228
- console.log(`Conflicts found : ${prepared.conflictList.length}`);
229
- }
230
-
231
- async function confirmInstallConflicts(prepared, options) {
232
- if (options.yes) return true;
233
-
234
- const rl = readline.createInterface({
235
- input: process.stdin,
236
- output: process.stdout
237
- });
238
- const answer = await rl.question(
239
- `\nOverwrite ${prepared.conflictList.length} conflicting file(s)? [y/N] `
240
- );
241
- rl.close();
242
- return answer.trim().toLowerCase() === "y";
243
- }
244
-
245
- async function confirmUpdateConflicts(prepared, options) {
246
- if (options.yes) return true;
247
-
248
- const rl = readline.createInterface({
249
- input: process.stdin,
250
- output: process.stdout
251
- });
252
- const answer = await rl.question(
253
- `\nOverwrite ${prepared.conflictList.length} customized file(s) with update? [y/N] `
254
- );
255
- rl.close();
256
- return answer.trim().toLowerCase() === "y";
257
- }
258
-
259
- function printNextSteps() {
260
- console.log("\nNext steps in your AI IDE (Antigravity, Claude Code, Codex, etc.):");
261
- console.log(" 1. Project Setup & Baseline:");
262
- console.log(" - Existing project : Run `/adopt` (or `$adopt`) to scan codebase and bootstrap context.");
263
- console.log(" - Fresh project : Run `/onboard` (or `$onboard`) to configure project baseline.");
264
- console.log(" 2. System Health & CI:");
265
- console.log(" - Health check : Run `/doctor` (or `$doctor`) to verify adapters and setup.");
266
- console.log(" - CI configuration : Run `/ci` (or `$ci`) to setup GitHub Actions workflow.");
267
- console.log(" 3. Delivery Flow:");
268
- console.log(" - Interactive guide: Run `/devflow` (or `$devflow`) for state & routing assistance.");
269
- console.log(" - Start new work : Run `/00-discover` (or `$00-discover`) to begin delivery lifecycle.");
270
- }
271
-
272
- function printInstallSuccess(targetDir, result, options) {
273
- console.log("\nNexus-DevFlow overlay successfully installed!");
274
- console.log(`Applied ${result.appliedCount} file(s).`);
275
- printNextSteps();
276
- }
277
-
278
- function printUpdateSuccess(prepared, result) {
279
- console.log("\nNexus-DevFlow update successfully applied!");
280
- console.log(`Applied ${result.appliedCount} file(s), removed ${result.removedCount} orphaned file(s).`);
281
- printNextSteps();
282
- }
283
-
284
- main().catch((err) => {
285
- console.error(`\nError: ${err.message}`);
286
- process.exit(1);
287
- });
@@ -1,111 +0,0 @@
1
- const starterTemplates = {
2
- projectOverview: `# Project Overview
3
-
4
- > **DevFlow Context Source of Truth.**
5
- > Single AI-facing source of truth for project architecture, stack, and shipped capabilities.
6
- > Run \`/onboard\` (for fresh projects) or \`/adopt\` (for existing codebases) to populate this file automatically.
7
-
8
- ## 1. Project Summary
9
-
10
- - **Name**: [Project Name]
11
- - **Description**: [One-line summary of project purpose]
12
- - **Primary Stack**: [Framework / Language / Runtime]
13
-
14
- ## 2. Architecture & Modules
15
-
16
- - \`src/\` - Core application source code
17
-
18
- ## 3. Shipped Capabilities
19
-
20
- - None recorded yet. Run \`/onboard\` or \`/adopt\` to initialize.
21
- `,
22
-
23
- codingStandards: `# Coding Standards
24
-
25
- > Project conventions and rules to follow during development.
26
- > Run \`/onboard\` (or \`/adopt\` for existing codebases) to tune these standards to your specific stack.
27
-
28
- ## Architecture and Conventions
29
-
30
- - Write clean, modular, and maintainable code with clear single responsibilities.
31
- - Prefer TypeScript and explicit interfaces where available.
32
- - Keep dependencies lean and justified.
33
-
34
- ## Code Organization & Style
35
-
36
- - Structure source code following framework-native conventions.
37
- - Keep functions focused and avoid deeply nested logic.
38
- - Use consistent naming conventions (camelCase for functions/variables, PascalCase for components/types).
39
-
40
- ## Error Handling & Security
41
-
42
- - Handle errors explicitly and provide meaningful error messages.
43
- - Never hardcode credentials, secrets, or API keys in source code.
44
- - Sanitize and validate all user inputs.
45
-
46
- ## Testing & Quality
47
-
48
- - Follow the TDD workflow for behavior-changing code units.
49
- - Run tests and linting before completing features or fixes.
50
- `,
51
-
52
- currentStage: `# Current DevFlow Run Status
53
-
54
- - **Active Discovery ID**: None
55
- - **Active Running ID**: None
56
- - **Current Stage**: Idle
57
- - **Last Completed Run**: None
58
- - **Last Updated**: -
59
- `,
60
-
61
- findings: `# Findings Ledger
62
-
63
- > Review findings raised by \`/security-review\` or QA audits.
64
- > Resolved findings are tracked with durable IDs.
65
-
66
- - **Total Open P0/P1**: 0
67
- - **Total Tracked**: 0
68
-
69
- _No findings recorded._
70
- `,
71
-
72
- aiInteraction: `# AI Interaction Guidelines for DevFlow
73
-
74
- > **DevFlow is an agentic workflow layer**, overlaying on top of scaffolded or existing codebases.
75
-
76
- ## Communication & Interaction
77
-
78
- - Be concise and direct in communication.
79
- - Explain technical trade-offs and non-obvious design decisions briefly.
80
- - Always confirm before performing major refactors or destructive operations.
81
- - Maintain markdown-first evidence for all stage activities.
82
-
83
- ## Artifact Language
84
-
85
- - Default language for user-facing artifacts and summaries is Thai (\`th\`), while code, paths, and identifiers remain in English.
86
- - Use exact schema headings when validators check for specific contract sections.
87
-
88
- ## Output Formatting
89
-
90
- - Use GitHub-style markdown for clean scanning.
91
- - Use lists for steps, options, and findings.
92
- - Use tables for comparative matrices or stage summaries.
93
- - Use backticks for paths, filenames, identifiers, and CLI commands.
94
-
95
- ## DevFlow Timeline Lifecycle
96
-
97
- \`\`\`text
98
- /00-Discover -> /10-Define -> /20-Spec -> /30-Plan -> /40-Implement -> /50-Verify -> /60-Report -> /70-Release
99
- \`\`\`
100
-
101
- - Run \`/00-Discover\` to explore requests under a Discovery ID.
102
- - Run \`/10-Define\` to set delivery boundaries and allocate Running IDs.
103
- - Run \`/20-Spec\` and \`/30-Plan\` to establish formal delivery specifications and execution plans.
104
- - Run \`/40-Implement\` for step-by-step code implementation with evidence.
105
- - Run \`/50-Verify\`, \`/60-Report\`, and \`/70-Release\` for quality verification, reporting, and release packaging.
106
- `
107
- };
108
-
109
- module.exports = {
110
- starterTemplates
111
- };