@jakkrichm/create-nexus-devflow 2.6.2 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +5 -5
  2. package/dist/lib/antigravity-artifacts.d.ts +52 -0
  3. package/dist/lib/antigravity-artifacts.js +170 -0
  4. package/dist/lib/antigravity-artifacts.js.map +1 -0
  5. package/dist/lib/antigravity-hooks.d.ts +31 -0
  6. package/dist/lib/antigravity-hooks.js +85 -0
  7. package/dist/lib/antigravity-hooks.js.map +1 -0
  8. package/dist/lib/antigravity-plugin.d.ts +51 -0
  9. package/dist/lib/antigravity-plugin.js +179 -0
  10. package/dist/lib/antigravity-plugin.js.map +1 -0
  11. package/dist/lib/antigravity-scheduler.d.ts +39 -0
  12. package/dist/lib/antigravity-scheduler.js +95 -0
  13. package/dist/lib/antigravity-scheduler.js.map +1 -0
  14. package/dist/lib/branch-context.d.ts +1 -0
  15. package/dist/lib/branch-context.js +14 -9
  16. package/dist/lib/branch-context.js.map +1 -1
  17. package/dist/lib/current-work.js +10 -22
  18. package/dist/lib/current-work.js.map +1 -1
  19. package/dist/lib/doctor.js +34 -6
  20. package/dist/lib/doctor.js.map +1 -1
  21. package/dist/lib/findings.js +14 -10
  22. package/dist/lib/findings.js.map +1 -1
  23. package/dist/lib/mcp.js +3 -3
  24. package/dist/lib/mcp.js.map +1 -1
  25. package/dist/lib/openai-tools.d.ts +34 -0
  26. package/dist/lib/openai-tools.js +57 -0
  27. package/dist/lib/openai-tools.js.map +1 -0
  28. package/dist/lib/project-config.d.ts +55 -0
  29. package/dist/lib/project-config.js +228 -0
  30. package/dist/lib/project-config.js.map +1 -0
  31. package/dist/lib/status.d.ts +7 -0
  32. package/dist/lib/status.js +23 -1
  33. package/dist/lib/status.js.map +1 -1
  34. package/dist/lib/swarm-orchestrator.js +14 -8
  35. package/dist/lib/swarm-orchestrator.js.map +1 -1
  36. package/dist/lib/visual-subagent.d.ts +32 -0
  37. package/dist/lib/visual-subagent.js +98 -0
  38. package/dist/lib/visual-subagent.js.map +1 -0
  39. package/dist/lib/workflow-state.js +3 -1
  40. package/dist/lib/workflow-state.js.map +1 -1
  41. package/dist/scripts/prepare-template.js +0 -19
  42. package/dist/scripts/prepare-template.js.map +1 -1
  43. package/package.json +1 -1
  44. package/template/.agents/skills/audit/SKILL.md +7 -7
  45. package/template/.agents/skills/autopilot/SKILL.md +34 -58
  46. package/template/.agents/skills/brief/SKILL.md +1 -1
  47. package/template/.agents/skills/check/SKILL.md +4 -4
  48. package/template/.agents/skills/complete/SKILL.md +13 -46
  49. package/template/.agents/skills/continuous/SKILL.md +117 -0
  50. package/template/.agents/skills/convert-any-to-md/scripts/__pycache__/convert_any_to_md.cpython-314.pyc +0 -0
  51. package/template/.agents/skills/devflow/SKILL.md +12 -12
  52. package/template/.agents/skills/discovery/SKILL.md +2 -2
  53. package/template/.agents/skills/doctor/SKILL.md +15 -11
  54. package/template/.agents/skills/feature/SKILL.md +5 -6
  55. package/template/.agents/skills/fix/SKILL.md +2 -2
  56. package/template/.agents/skills/implement/SKILL.md +11 -12
  57. package/template/.agents/skills/release/SKILL.md +1 -1
  58. package/template/.agents/skills/report-html/SKILL.md +3 -3
  59. package/template/.agents/skills/rollback/SKILL.md +4 -6
  60. package/template/.agents/skills/status/SKILL.md +20 -27
  61. package/template/.agents/skills/try/SKILL.md +5 -6
  62. package/template/.claude/skills/audit/SKILL.md +7 -7
  63. package/template/.claude/skills/autopilot/SKILL.md +34 -58
  64. package/template/.claude/skills/brief/SKILL.md +1 -1
  65. package/template/.claude/skills/check/SKILL.md +4 -4
  66. package/template/.claude/skills/complete/SKILL.md +13 -46
  67. package/template/.claude/skills/continuous/SKILL.md +117 -0
  68. package/template/.claude/skills/convert-any-to-md/scripts/__pycache__/convert_any_to_md.cpython-314.pyc +0 -0
  69. package/template/.claude/skills/devflow/SKILL.md +12 -12
  70. package/template/.claude/skills/discovery/SKILL.md +2 -2
  71. package/template/.claude/skills/doctor/SKILL.md +15 -11
  72. package/template/.claude/skills/feature/SKILL.md +5 -6
  73. package/template/.claude/skills/fix/SKILL.md +2 -2
  74. package/template/.claude/skills/implement/SKILL.md +11 -12
  75. package/template/.claude/skills/release/SKILL.md +1 -1
  76. package/template/.claude/skills/report-html/SKILL.md +3 -3
  77. package/template/.claude/skills/rollback/SKILL.md +4 -6
  78. package/template/.claude/skills/status/SKILL.md +20 -27
  79. package/template/.claude/skills/try/SKILL.md +5 -6
  80. package/template/AGENTS.md +29 -23
  81. package/template/LICENSE +21 -21
  82. package/template/devflow/build-plan.md +18 -0
  83. package/template/devflow/config.json +33 -0
  84. package/template/devflow/context/ai-interaction.md +30 -16
  85. package/template/devflow/reference/feature-spec-template.md +2 -2
  86. package/template/devflow/reference/running-id-contract.md +0 -3
  87. package/template/devflow/context/current-feature.md +0 -3
  88. package/template/devflow/context/current-stage.md +0 -11
  89. package/template/devflow/context/findings.md +0 -10
@@ -1,5 +1,6 @@
1
1
  import fs from "node:fs/promises";
2
2
  import fsSync from "node:fs";
3
+ import path from "node:path";
3
4
  import { resolveActiveContextPaths } from "./branch-context.js";
4
5
  export const SWARM_ROSTER = [
5
6
  {
@@ -36,17 +37,22 @@ export const SWARM_ROSTER = [
36
37
  */
37
38
  export async function generateSwarmPlan(projectRoot, options = {}) {
38
39
  const contextPaths = await resolveActiveContextPaths(projectRoot, options.branch);
39
- let runId = "ACTIVE";
40
+ let runId = contextPaths.runId || "ACTIVE";
40
41
  let title = "Active Feature";
41
42
  let track = "fast";
42
43
  const tasks = [];
44
+ const relSpecPath = contextPaths.featureSpecPath
45
+ ? path.relative(projectRoot, contextPaths.featureSpecPath).replace(/\\/g, "/")
46
+ : "devflow/context/spec.md";
43
47
  if (fsSync.existsSync(contextPaths.featureSpecPath)) {
44
48
  const specContent = await fs.readFile(contextPaths.featureSpecPath, "utf8");
45
49
  // Extract title & ID
46
- const titleMatch = specContent.match(/^#\s+📐\s+\[([^\]]+)\]\s+(.*)/m);
50
+ const titleMatch = specContent.match(/^#\s+(?:📐\s+)?(?:\[([^\]]+)\]\s+)?(.*)/m);
47
51
  if (titleMatch) {
48
- runId = titleMatch[1];
49
- title = titleMatch[2];
52
+ if (titleMatch[1])
53
+ runId = titleMatch[1];
54
+ if (titleMatch[2])
55
+ title = titleMatch[2].trim();
50
56
  }
51
57
  // Parse checklist tasks
52
58
  const lines = specContent.split("\n");
@@ -76,7 +82,7 @@ export async function generateSwarmPlan(projectRoot, options = {}) {
76
82
  role,
77
83
  title: taskTitle,
78
84
  description: `Execute ${taskTitle} with role-specialized focus and rigorous verification.`,
79
- requiredContext: ["devflow/context/current-feature.md", "devflow/context/coding-standards.md"],
85
+ requiredContext: [relSpecPath, "devflow/context/coding-standards.md"],
80
86
  verificationCriterion: `Pass multi-lane quality gate and done-when assertions for ${taskTitle}.`,
81
87
  parallelGroup: role === "qa" || role === "security" ? 2 : 1
82
88
  });
@@ -91,7 +97,7 @@ export async function generateSwarmPlan(projectRoot, options = {}) {
91
97
  role: "architect",
92
98
  title: "Specification & Alignment Verification",
93
99
  description: "Align living spec with project architectural invariants.",
94
- requiredContext: ["devflow/context/current-feature.md"],
100
+ requiredContext: [relSpecPath],
95
101
  verificationCriterion: "Spec adheres to 3-Pillars contract.",
96
102
  parallelGroup: 1
97
103
  }, {
@@ -99,7 +105,7 @@ export async function generateSwarmPlan(projectRoot, options = {}) {
99
105
  role: "coder",
100
106
  title: "Core Logic Implementation",
101
107
  description: "Develop required functions and modules.",
102
- requiredContext: ["devflow/context/current-feature.md", "devflow/context/coding-standards.md"],
108
+ requiredContext: [relSpecPath, "devflow/context/coding-standards.md"],
103
109
  verificationCriterion: "Code builds and passes typecheck.",
104
110
  parallelGroup: 2
105
111
  }, {
@@ -107,7 +113,7 @@ export async function generateSwarmPlan(projectRoot, options = {}) {
107
113
  role: "qa",
108
114
  title: "Automated Test & Edge Case Coverage",
109
115
  description: "Author comprehensive unit tests and run verification.",
110
- requiredContext: ["devflow/context/current-feature.md"],
116
+ requiredContext: [relSpecPath],
111
117
  verificationCriterion: "100% test pass rate with zero regressions.",
112
118
  parallelGroup: 2
113
119
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-orchestrator.js","sourceRoot":"","sources":["../../lib/swarm-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm-orchestrator.js","sourceRoot":"","sources":["../../lib/swarm-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface VisualQaOptions {
2
+ targetUrl: string;
3
+ runId?: string;
4
+ criteria?: string[];
5
+ taskName?: string;
6
+ recordingName?: string;
7
+ }
8
+ export interface BrowserSubagentTaskPayload {
9
+ taskName: string;
10
+ recordingName: string;
11
+ taskSummary: string;
12
+ prompt: string;
13
+ }
14
+ export interface VisualEvidenceItem {
15
+ type: "screenshot" | "video" | "console";
16
+ pathOrText: string;
17
+ caption: string;
18
+ criterionIndex?: number;
19
+ }
20
+ export interface VisualEvidenceSummary {
21
+ runId: string;
22
+ targetUrl: string;
23
+ timestamp: string;
24
+ items: VisualEvidenceItem[];
25
+ notes?: string;
26
+ }
27
+ export declare function generateBrowserSubagentTask(options: VisualQaOptions): BrowserSubagentTaskPayload;
28
+ export declare function formatVisualEvidenceMarkdown(summary: VisualEvidenceSummary): string;
29
+ export declare function recordVisualEvidenceToSpec(projectRoot: string, summary: VisualEvidenceSummary): Promise<{
30
+ updated: boolean;
31
+ filePath: string;
32
+ }>;
@@ -0,0 +1,98 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { resolveActiveContextPaths } from "./branch-context.js";
4
+ export function generateBrowserSubagentTask(options) {
5
+ const runId = options.runId || "active-run";
6
+ const taskName = options.taskName || `Visual QA Verification for ${runId}`;
7
+ const cleanRecordingName = (options.recordingName || `${runId.slice(0, 3)}_visual_qa`)
8
+ .toLowerCase()
9
+ .replace(/[^a-z0-9_]/g, "_")
10
+ .slice(0, 20);
11
+ const criteriaText = options.criteria && options.criteria.length > 0
12
+ ? options.criteria.map((c, i) => ` ${i + 1}. ${c}`).join("\n")
13
+ : " 1. Verify application loads with zero console/network errors\n 2. Assert key UI elements and interactive flows respond as specified";
14
+ const taskSummary = `Perform autonomous browser visual QA testing on ${options.targetUrl} and record session proof.`;
15
+ const prompt = `You are a Visual QA Verifier Agent for Nexus-DevFlow run "${runId}".
16
+ Your mission is to autonomously navigate to "${options.targetUrl}", verify acceptance criteria, and capture visual proof.
17
+
18
+ Acceptance Criteria to verify:
19
+ ${criteriaText}
20
+
21
+ Instructions:
22
+ 1. Open the URL: "${options.targetUrl}" using browser navigation tools.
23
+ 2. Verify visual aesthetics, layout integrity, and responsive design.
24
+ 3. Check browser console logs and network activity for unexpected errors.
25
+ 4. Interact with primary buttons/forms/inputs to prove dynamic functionality.
26
+ 5. Capture a screenshot of the final verified state.
27
+ 6. Return a comprehensive report containing:
28
+ - Status: PASSED or FAILED for each criterion
29
+ - List of captured screenshot paths
30
+ - Any console warnings or errors observed.`;
31
+ return {
32
+ taskName,
33
+ recordingName: cleanRecordingName,
34
+ taskSummary,
35
+ prompt
36
+ };
37
+ }
38
+ export function formatVisualEvidenceMarkdown(summary) {
39
+ const lines = [];
40
+ lines.push(`### 📸 Visual Browser QA Evidence (${summary.runId})`);
41
+ lines.push(`- **Target URL**: \`${summary.targetUrl}\``);
42
+ lines.push(`- **Timestamp**: ${summary.timestamp}`);
43
+ if (summary.notes) {
44
+ lines.push(`- **Notes**: ${summary.notes}`);
45
+ }
46
+ lines.push("");
47
+ const screenshots = summary.items.filter((i) => i.type === "screenshot");
48
+ const videos = summary.items.filter((i) => i.type === "video");
49
+ const consoleLogs = summary.items.filter((i) => i.type === "console");
50
+ if (screenshots.length > 1) {
51
+ lines.push("````carousel");
52
+ screenshots.forEach((s, idx) => {
53
+ if (idx > 0)
54
+ lines.push("<!-- slide -->");
55
+ lines.push(`![${s.caption}](${s.pathOrText})`);
56
+ lines.push(`*${s.caption}*`);
57
+ });
58
+ lines.push("````\n");
59
+ }
60
+ else if (screenshots.length === 1) {
61
+ const s = screenshots[0];
62
+ lines.push(`![${s.caption}](${s.pathOrText})\n`);
63
+ }
64
+ if (videos.length > 0) {
65
+ for (const v of videos) {
66
+ lines.push(`> [!NOTE]\n> **Session Recording**: [${v.caption}](${v.pathOrText})\n`);
67
+ }
68
+ }
69
+ if (consoleLogs.length > 0) {
70
+ lines.push("```text");
71
+ for (const c of consoleLogs) {
72
+ lines.push(`[Console Evidence] ${c.caption}: ${c.pathOrText}`);
73
+ }
74
+ lines.push("```\n");
75
+ }
76
+ return lines.join("\n");
77
+ }
78
+ export async function recordVisualEvidenceToSpec(projectRoot, summary) {
79
+ const contextPaths = await resolveActiveContextPaths(projectRoot);
80
+ const specPath = contextPaths.featureSpecPath || path.join(projectRoot, "devflow", "context", "current-feature.md");
81
+ try {
82
+ const current = await fs.readFile(specPath, "utf8");
83
+ const evidenceMarkdown = formatVisualEvidenceMarkdown(summary);
84
+ let updatedContent = current;
85
+ if (current.includes("## 4. Verification Evidence & Quality Gates")) {
86
+ updatedContent = current.replace("## 4. Verification Evidence & Quality Gates", `## 4. Verification Evidence & Quality Gates\n\n${evidenceMarkdown}`);
87
+ }
88
+ else {
89
+ updatedContent = current + `\n\n${evidenceMarkdown}\n`;
90
+ }
91
+ await fs.writeFile(specPath, updatedContent, "utf8");
92
+ return { updated: true, filePath: specPath };
93
+ }
94
+ catch {
95
+ return { updated: false, filePath: specPath };
96
+ }
97
+ }
98
+ //# sourceMappingURL=visual-subagent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-subagent.js","sourceRoot":"","sources":["../../lib/visual-subagent.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { resolveActiveRunContext } from "./branch-context.js";
3
4
  const FAST_STAGES = ["feature-fix", "implement", "check", "complete"];
4
5
  const PREFLIGHT_STAGES = ["idea", "grill", "brainstorm", "discovery"];
5
6
  async function readWorkflowState(projectRoot, currentWork) {
6
- const stagePath = path.join(projectRoot, "devflow", "context", "current-stage.md");
7
+ const runContext = await resolveActiveRunContext(projectRoot);
8
+ const stagePath = runContext.stagePath || path.join(projectRoot, "devflow", "context", "current-stage.md");
7
9
  let markdown = "";
8
10
  try {
9
11
  markdown = await fs.readFile(stagePath, "utf8");
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-state.js","sourceRoot":"","sources":["../../lib/workflow-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-state.js","sourceRoot":"","sources":["../../lib/workflow-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAwB9D,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAC/E,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;AAE/E,KAAK,UAAU,iBAAiB,CAC9B,WAAmB,EACnB,WAA8B;IAE9B,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC3G,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACpD,CAAC;IAED,OAAO,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAgB,EAChB,WAA8B;IAE9B,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACtE,MAAM,iBAAiB,GAAG,aAAa,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,MAAM,CAAC;IAC5E,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrG,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAEhJ,IAAI,KAAK,GAAkB,MAAM,CAAC;IAClC,IAAI,YAAY,GAAkB,IAAI,CAAC;IAEvC,MAAM,MAAM,GACV,cAAc;QACd,CAAC,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE5F,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,GAAG,MAAM,CAAC;QACf,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,cAAc,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC7E,KAAK,GAAG,MAAM,CAAC;QACf,YAAY,GAAG,qBAAqB,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,cAAc,IAAI,iBAAiB,EAAE,CAAC;QAC/C,KAAK,GAAG,MAAM,CAAC;QACf,YAAY,GAAG,cAAc,IAAI,WAAW,CAAC;IAC/C,CAAC;SAAM,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1C,KAAK,GAAG,MAAM,CAAC;QACf,YAAY,GAAG,qBAAqB,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,OAAO;QACL,KAAK;QACL,YAAY;QACZ,iBAAiB;QACjB,WAAW;QACX,gBAAgB;QAChB,WAAW;QACX,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,IAAI,EAAE,aAAa,CAAC,gBAAgB,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAa;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAC1B,IAAI,MAAM,CAAC,oBAAoB,OAAO,yCAAyC,EAAE,IAAI,CAAC,CACvF,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvC,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM;QACrF,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAoB;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAChC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC1C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAoB;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,yDAAyD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,aAAa,CAAC;IAC3E,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAAC,IAAuB;IACxC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,aAAa,CAAC;IAChD,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAC/D,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAGD,SAAS,aAAa,CACpB,MAAyB,EACzB,WAA0B;IAE1B,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK;QACxD,OAAO,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE;QAClE,KAAK,EAAE,WAAW,GAAG,CAAC;YACpB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,GAAG,WAAW;gBACrB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,KAAK,KAAK,WAAW;oBACvB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,SAAS;KACd,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QACrG,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -173,25 +173,6 @@ This master ledger tracks all released delivery runs, milestones, and rollbacks
173
173
  - Upcoming priorities, refactoring targets, or known technical considerations.
174
174
  `;
175
175
  await fs.writeFile(path.join(templateRoot, "devflow", "context", "project-overview.md"), starterOverview, "utf8");
176
- const starterStage = `# Current Stage
177
-
178
- - Active Discovery ID: \`None\`
179
- - Active Running ID: \`None\`
180
- - Track: \`idle\`
181
- - Current Stage: \`idle\`
182
- - Active Branch: \`main\`
183
- - Living Spec: \`devflow/context/current-feature.md\`
184
- - Next Action: \`Run /feature, /fix, or /discovery to start new work.\`
185
- - Last Completed Run: \`None\`
186
- - Last Updated: \`None\`
187
- `;
188
- await fs.writeFile(path.join(templateRoot, "devflow", "context", "current-stage.md"), starterStage, "utf8");
189
- // 6. Clean Starter current-feature.md
190
- const starterFeature = `# Current Feature
191
-
192
- _Nothing in progress. Run /feature, /fix, or /rollback to start._
193
- `;
194
- await fs.writeFile(path.join(templateRoot, "devflow", "context", "current-feature.md"), starterFeature, "utf8");
195
176
  }
196
177
  async function main() {
197
178
  const inventory = await loadCoreSkillInventory(path.join(repoRoot, "agent-bundle.manifest.json"));
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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"}
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.6.2",
3
+ "version": "2.8.0",
4
4
  "description": "Installer package for Nexus-DevFlow agentic workflow layer.",
5
5
  "license": "MIT",
6
6
  "author": "Jakkrich",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: audit
3
- description: "[devflow] Read-only code audit for a Blueprint project, except for the findings ledger it maintains at devflow/context/findings.md. Reviews the active feature, changed files, a selected path, or the full project through all concerns or a focused quality, security, performance, or tests lens. Use when the user runs /audit, invokes $audit, asks for a code or quality audit, security review, performance review, test quality review, dead-code or duplication check, vibe-coded project cleanup, or standards review."
3
+ description: "[devflow] Read-only code audit for a Blueprint project, except for the findings ledger it maintains at devflow/context/{xxx-slug}/findings.md. Reviews the active feature, changed files, a selected path, or the full project through all concerns or a focused quality, security, performance, or tests lens. Use when the user runs /audit, invokes $audit, asks for a code or quality audit, security review, performance review, test quality review, dead-code or duplication check, vibe-coded project cleanup, or standards review."
4
4
  ---
5
5
 
6
6
  # audit - review code quality against the project standards
@@ -17,7 +17,7 @@ or one focused lens: quality, security, performance, or tests.
17
17
 
18
18
  It reviews code without changing it: it never edits source files, installs
19
19
  dependencies, commits, merges, pushes, or starts product work. Its one write is
20
- the findings ledger at `devflow/context/findings.md` (Step 4), the durable
20
+ the findings ledger at `devflow/context/{xxx-slug}/findings.md` (Step 4), the durable
21
21
  record of findings and their status.
22
22
 
23
23
  ## Input
@@ -29,7 +29,7 @@ Optional scope:
29
29
 
30
30
  - no scope argument: use `current` when an active feature exists, otherwise use
31
31
  `changed` when local changes exist, otherwise use `full`
32
- - `current`: audit the active `current-feature.md`, every committed feature-branch
32
+ - `current`: audit the active `devflow/context/{xxx-slug}/spec.md`, every committed feature-branch
33
33
  change from its merge base through `HEAD`, staged and unstaged changes,
34
34
  untracked source files, and nearby code affected by the feature
35
35
  - `changed`: audit staged, unstaged, and untracked source files plus nearby code
@@ -65,8 +65,8 @@ Read:
65
65
  - `AGENTS.md`
66
66
  - `devflow/context/project-overview.md`
67
67
  - `devflow/context/coding-standards.md`
68
- - `devflow/context/current-feature.md`
69
- - `devflow/context/findings.md`, for existing IDs and statuses
68
+ - `devflow/context/{xxx-slug}/spec.md` (when a task is active)
69
+ - `devflow/context/{xxx-slug}/findings.md` (or existing ledger), for existing IDs and statuses
70
70
  - `devflow/context/ai-interaction.md`
71
71
  - `devflow/build-plan.md`, when feature order matters
72
72
  - git branch and working tree status
@@ -145,9 +145,9 @@ audit evidence before responding.
145
145
 
146
146
  ## Step 4 - update the findings ledger
147
147
 
148
- `devflow/context/findings.md` is the durable record of findings. Chat reports
148
+ `devflow/context/{xxx-slug}/findings.md` is the durable record of findings for the active task. Chat reports
149
149
  do not survive a context clear; the ledger does. It is the only file this skill
150
- writes. If it is missing (an older install), create it with a `# Findings`
150
+ writes. If it is missing, create it with a `# Findings`
151
151
  heading first.
152
152
 
153
153
  **The ledger never scopes the review.** Review the code fresh in Step 3, then
@@ -38,11 +38,11 @@ Common forms:
38
38
  - `resume`: continue the current feature on its existing branch.
39
39
 
40
40
  If the requested target conflicts with a feature already in progress, stop and
41
- ask which one should win. Do not overwrite `devflow/context/current-feature.md`
41
+ ask which one should win. Do not overwrite task workspaces
42
42
  silently.
43
43
 
44
44
  Rollback is intentionally excluded from Autopilot. If the request is a rollback
45
- or `current-feature.md` is marked `Type: Rollback`, stop and direct the user to
45
+ or active spec is marked `Type: Rollback`, stop and direct the user to
46
46
  the reviewed `/implement` path. Reversing completed work requires the explicit
47
47
  dependency and conflict gates in `/rollback` and `/implement`.
48
48
 
@@ -54,8 +54,8 @@ Read the same state `/status` reads:
54
54
  - `devflow/project-plan.md`
55
55
  - `devflow/build-plan.md`
56
56
  - `devflow/context/project-overview.md`
57
- - `devflow/context/current-feature.md`
58
- - `devflow/context/findings.md`
57
+ - `devflow/context/{xxx-slug}/spec.md` (when present)
58
+ - `devflow/context/{xxx-slug}/findings.md` (when present)
59
59
  - `devflow/context/coding-standards.md`
60
60
  - `devflow/context/ai-interaction.md`
61
61
  - git branch, status, and recent log
@@ -67,7 +67,7 @@ Stop before changing files when:
67
67
  - The repo is not a git repo.
68
68
  - The working tree is dirty and there is no current feature tying those changes
69
69
  to this run.
70
- - `current-feature.md` has real work and the user requested a different target.
70
+ - Active task spec has real work and the user requested a different target.
71
71
  - `project-overview.md` is missing or stale and the planning docs are not clear
72
72
  enough to regenerate it.
73
73
  - The next feature is visual or replication-heavy and no design reference exists.
@@ -80,14 +80,14 @@ final packet.
80
80
 
81
81
  ## Step 2 - choose or write the spec
82
82
 
83
- If `devflow/context/current-feature.md` already contains an active spec,
83
+ If `devflow/context/{xxx-slug}/spec.md` already contains an active spec,
84
84
  resume it. Read checked steps and continue from the first unchecked step.
85
85
 
86
86
  If there is no active spec:
87
87
 
88
88
  1. Use the `/feature` behavior for a planned feature, or `/fix` behavior for a
89
89
  requested fix.
90
- 2. Write `devflow/context/current-feature.md`.
90
+ 2. Create workspace and write `devflow/context/{xxx-slug}/spec.md`.
91
91
  3. Red-team the spec before building:
92
92
  - missing unhappy paths
93
93
  - oversized steps
@@ -101,32 +101,22 @@ If there is no active spec:
101
101
  Autopilot may continue past this spec gate because the user explicitly invoked
102
102
  Autopilot. Still report what the critique changed in the final packet.
103
103
 
104
- ## Step 3 - create or reuse the branch
104
+ ## Step 3 - branch
105
105
 
106
- Use the same branch rules as `/implement`:
106
+ Create or check out the branch for the work:
107
107
 
108
- - Feature: `feature/<name>`
109
- - Fix: `fix/<name>`
108
+ - `feature/{xxx-slug}` for a planned feature
109
+ - `fix/{xxx-slug}` for an ad-hoc fix
110
110
 
111
- If the branch already exists, switch to it only if it matches the active spec.
112
- If switching branches would strand unrelated dirty work, stop and report the
113
- problem.
111
+ If the branch already exists, check it out and verify it matches the spec.
114
112
 
115
- ## Step 4 - implement in small steps
113
+ ## Step 4 - build in small steps with review gates
116
114
 
117
- Work through the spec's build steps in order. Each step must remain reviewable.
118
- Unlike `/implement`, do not pause for user approval after each passing step. The
119
- review happens at the final packet unless a hard stop is hit.
115
+ Work through the spec's steps in order:
120
116
 
121
- For every step:
122
-
123
- 1. Implement only that step.
124
- 2. Run the relevant verification:
125
- - the exact `Verify` command from `AGENTS.md`, when declared
126
- - otherwise the build, relevant test, lint, and typecheck commands already
127
- documented by the project
128
- - browser, CLI, API, or app-level evidence for behavioral done-whens
129
- 3. If UI is involved, inspect the running app when possible. Prefer Playwright if
117
+ 1. Keep each change small and focused on the current step.
118
+ 2. Run the declared `test` command when logic changed.
119
+ 3. If the step has visual or browser-visible behavior, drive the browser when
130
120
  it is already installed or declared. Capture screenshots when they add useful
131
121
  evidence. Check for console errors and failed requests.
132
122
  4. Self-review the diff for the step:
@@ -136,15 +126,15 @@ For every step:
136
126
  - did it follow `coding-standards.md`?
137
127
  - are tests present for new in-scope logic when the test gate is on?
138
128
  5. Fix obvious issues and rerun the failed checks.
139
- 6. Mark the step checked in `current-feature.md` only after the step passes.
129
+ 6. Mark the step checked in `devflow/context/{xxx-slug}/spec.md` only after the step passes.
140
130
  7. Create a checkpoint commit on the feature or fix branch for the passing step.
141
- Include the code, tests, and the updated `current-feature.md` checkbox. Use a
131
+ Include the code, tests, and the updated `spec.md` checkbox. Use a
142
132
  conventional message such as `feat: checkpoint mock snapshot route` or
143
133
  `fix: checkpoint stale service filter`. Keep the message about the step, not
144
134
  about Autopilot.
145
135
 
146
136
  Do not batch the whole feature into one large diff. If a step gets too large,
147
- split the step in `current-feature.md` and continue with the first smaller step.
137
+ split the step in `devflow/context/{xxx-slug}/spec.md` and continue with the first smaller step.
148
138
 
149
139
  ## Step 5 - acceptance check
150
140
 
@@ -159,7 +149,7 @@ may be enough. Be explicit about the evidence used.
159
149
  After the acceptance check, apply the `/audit current` behavior to the active
160
150
  feature, its diff, and the nearby code affected by the change. This is a targeted
161
151
  feature audit, not a repository-wide cleanup pass. Findings are recorded in
162
- `devflow/context/findings.md` with durable IDs and statuses, as `/audit`
152
+ `devflow/context/{xxx-slug}/findings.md` with durable IDs and statuses, as `/audit`
163
153
  defines; the ledger reports status and never scopes what the audit examines.
164
154
 
165
155
  For every finding:
@@ -173,35 +163,21 @@ For every finding:
173
163
  3. Report P2 and P3 findings in the final packet. Fix them only when the change
174
164
  is small, directly caused by the current feature, and clearly required by the
175
165
  project standards.
176
- 4. If a confirmed P0 or P1 finding cannot be repaired safely within scope, stop
177
- and report it. Do not present the feature as ready for `/complete`.
178
-
179
- After any audit repair:
180
-
181
- 1. Rerun the documented `Verify` command when present; otherwise rerun the
182
- affected build, lint, typecheck, and test commands.
183
- 2. Rerun the acceptance evidence affected by the repair.
184
- 3. Recheck the repaired area using the same targeted audit criteria. When that
185
- recheck confirms the original defect is gone and the repair introduced no
186
- new one, move the `fixed` finding to `closed` under the `/audit` close
187
- conditions and name it in the packet. An unrelated new finding gets its own
188
- ledger entry and does not keep the repaired one open.
189
- 4. Create a checkpoint commit only after the repair and its checks pass.
166
+ 4. If a finding cannot be resolved safely in-scope, leave it `open` and describe
167
+ it in the final packet. A finding that is wrong goes back to `/audit` to
168
+ invalidate with recorded evidence; Autopilot never marks findings `invalid`
169
+ or `accepted`.
190
170
 
191
- Use the existing two-attempt hard stop for repeated repair failures. Do not widen
192
- the feature into a general refactor, silently suppress a finding, or turn this
193
- step into a full-project hardening pass. A broader cleanup remains a separate
194
- `/audit` followed by planned `/fix` work.
171
+ Re-run the build, tests, and any affected checks after repairs. If a repair fails
172
+ twice, stop and report the blocker.
195
173
 
196
- ## Step 7 - final review packet
174
+ ## Step 7 - compile the review packet
197
175
 
198
- Stop with a concise review packet. Keep it useful enough for `/complete` but not
199
- a full audit report:
176
+ Stop and produce a concise review packet:
200
177
 
201
- - branch name
202
178
  - target feature or fix
203
- - whether the spec was created or resumed
204
- - what the spec critique changed
179
+ - branch name
180
+ - what was built
205
181
  - changed files and why each changed
206
182
  - build/test/check commands run, with pass or fail
207
183
  - screenshots or output paths, when relevant
@@ -210,7 +186,7 @@ a full audit report:
210
186
  - self-review findings
211
187
  - targeted audit scope and findings
212
188
  - audit repairs made and checks rerun
213
- - P0/P1 findings still `open` or `fixed` in `devflow/context/findings.md`,
189
+ - P0/P1 findings still `open` or `fixed` in `devflow/context/{xxx-slug}/findings.md`,
214
190
  which block `/complete`
215
191
  - unresolved risks or skipped checks
216
192
  - exact next action
@@ -240,11 +216,11 @@ Stop immediately and report instead of continuing when Autopilot would need to:
240
216
  - Autopilot creates checkpoint commits on the feature or fix branch after passing
241
217
  steps.
242
218
  - Autopilot audits the active feature and affected code, not the entire project.
243
- - A P0 or P1 finding left `open` or `fixed` in `devflow/context/findings.md`
219
+ - A P0 or P1 finding left `open` or `fixed` in `devflow/context/{xxx-slug}/findings.md`
244
220
  blocks readiness for `/complete`. The ledger is what makes this enforceable.
245
221
  - Autopilot stops before `/complete`. It never merges.
246
222
  - The Blueprint files remain the state machine. Keep
247
- `current-feature.md` accurate as steps complete.
223
+ `devflow/context/{xxx-slug}/spec.md` accurate as steps complete.
248
224
  - Follow `coding-standards.md`, `ai-interaction.md`, and `AGENTS.md`.
249
225
  - Prefer fewer, higher-quality changes over broad coverage.
250
226
  - Report uncertainty plainly. A blocked run is useful if it tells the truth.
@@ -82,7 +82,7 @@ plans aren't ready, `/prototype` if it's UI-facing and the look isn't locked, or
82
82
  ## Rules
83
83
 
84
84
  - **Read-only, always.** Never write a file, never edit `build-plan.md` or
85
- `current-feature.md`, never branch, commit, install, or build. To act on the
85
+ specs in `devflow/context/`, never branch, commit, install, or build. To act on the
86
86
  briefing, the user runs `/feature` next.
87
87
  - **Explain, don't spec.** Size, dependencies, and a likely sub-split are the
88
88
  value here; the actual build steps are `/feature`'s job. Don't write step lists.
@@ -28,7 +28,7 @@ It changes no source and commits nothing — it executes, inspects, and reports
28
28
 
29
29
  ## Step 1 - Build the Dual-Axis Review Matrix
30
30
 
31
- Read the target spec from `devflow/context/{xxx-slug}/spec.md` (or `devflow/context/current-feature.md`) and `devflow/context/coding-standards.md`. Prepare the inspection criteria across two independent axes:
31
+ Read the target spec from `devflow/context/{xxx-slug}/spec.md` and `devflow/context/coding-standards.md`. Prepare the inspection criteria across two independent axes:
32
32
 
33
33
  1. **Axis 1 (Standards & Architecture Criteria)**:
34
34
  - Coding conventions in `coding-standards.md`
@@ -36,7 +36,7 @@ Read the target spec from `devflow/context/{xxx-slug}/spec.md` (or `devflow/cont
36
36
  - Baseline 12 Fowler Code Smells (Primitive obsession, Feature envy, Shotgun surgery, Speculative generality, etc.)
37
37
  - Multi-lane technical gates (Typecheck, test suites, zero secrets, zero P0/P1 findings)
38
38
  2. **Axis 2 (Spec Fidelity & Behavioral Observables)**:
39
- - Line-by-line Acceptance Criteria (ACs) and "Done When" observables from `current-feature.md`
39
+ - Line-by-line Acceptance Criteria (ACs) and "Done When" observables from `devflow/context/{xxx-slug}/spec.md`
40
40
  - Scope Creep detection (Unrequested behavior in the diff)
41
41
  - Missing Requirements detection (Unimplemented edge cases)
42
42
 
@@ -69,7 +69,7 @@ Format the report into two distinct, un-merged review axes:
69
69
  - [pass] Type Safety: `tsc --noEmit` (0 errors)
70
70
  - [pass] Automated Tests: `npm test` (All tests green)
71
71
  - [pass] Security & Hygiene: Zero secrets, sanitized inputs
72
- - [pass] Findings Ledger: 0 blocking P0/P1 in `devflow/context/findings.md`
72
+ - [pass] Findings Ledger: 0 blocking P0/P1 in `devflow/context/{xxx-slug}/findings.md`
73
73
  - **Deep Modules & Architecture**:
74
74
  - [pass] Seam Integrity: Public interfaces remain small, implementation details hidden.
75
75
  - [pass] The Deletion Test: Complexity is concentrated inside the module, not scattered across callers.
@@ -78,7 +78,7 @@ Format the report into two distinct, un-merged review axes:
78
78
 
79
79
  ## 🎯 Axis 2: Spec Fidelity & Behavioral Acceptance Gate
80
80
 
81
- Line-by-line verification against `current-feature.md`:
81
+ Line-by-line verification against `devflow/context/{xxx-slug}/spec.md`:
82
82
  - [pass] **AC-1 (<title>)**: <Observed empirical evidence / screenshot path>
83
83
  - [pass] **AC-2 (<title>)**: <Observed empirical evidence / terminal output>
84
84
  - [fail] **AC-3 (<title>)**: <Exact observed failure with reproduction command>