@mozole/cli 2.0.0-b → 2.1.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 (105) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +147 -23
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/add.d.ts +7 -0
  7. package/dist/commands/add.d.ts.map +1 -0
  8. package/dist/commands/add.js +87 -0
  9. package/dist/commands/add.js.map +1 -0
  10. package/dist/commands/adopt.d.ts +2 -0
  11. package/dist/commands/adopt.d.ts.map +1 -1
  12. package/dist/commands/adopt.js +243 -45
  13. package/dist/commands/adopt.js.map +1 -1
  14. package/dist/commands/assets.d.ts +28 -0
  15. package/dist/commands/assets.d.ts.map +1 -0
  16. package/dist/commands/assets.js +176 -0
  17. package/dist/commands/assets.js.map +1 -0
  18. package/dist/commands/backend.d.ts +5 -0
  19. package/dist/commands/backend.d.ts.map +1 -0
  20. package/dist/commands/backend.js +68 -0
  21. package/dist/commands/backend.js.map +1 -0
  22. package/dist/commands/new.d.ts +1 -1
  23. package/dist/commands/new.d.ts.map +1 -1
  24. package/dist/commands/new.js +13 -5
  25. package/dist/commands/new.js.map +1 -1
  26. package/dist/commands/prototype.d.ts.map +1 -1
  27. package/dist/commands/prototype.js +68 -20
  28. package/dist/commands/prototype.js.map +1 -1
  29. package/dist/commands/release.d.ts +10 -0
  30. package/dist/commands/release.d.ts.map +1 -0
  31. package/dist/commands/release.js +181 -0
  32. package/dist/commands/release.js.map +1 -0
  33. package/dist/commands/ui.d.ts +12 -1
  34. package/dist/commands/ui.d.ts.map +1 -1
  35. package/dist/commands/ui.js +182 -68
  36. package/dist/commands/ui.js.map +1 -1
  37. package/dist/commands/verify.d.ts.map +1 -1
  38. package/dist/commands/verify.js +37 -5
  39. package/dist/commands/verify.js.map +1 -1
  40. package/dist/scaffold/agents.d.ts.map +1 -1
  41. package/dist/scaffold/agents.js +40 -6
  42. package/dist/scaffold/agents.js.map +1 -1
  43. package/dist/scaffold/backend.d.ts +1 -1
  44. package/dist/scaffold/backend.d.ts.map +1 -1
  45. package/dist/scaffold/backend.js +63 -31
  46. package/dist/scaffold/backend.js.map +1 -1
  47. package/dist/scaffold/components.d.ts +8 -0
  48. package/dist/scaffold/components.d.ts.map +1 -0
  49. package/dist/scaffold/components.js +305 -0
  50. package/dist/scaffold/components.js.map +1 -0
  51. package/dist/scaffold/design.d.ts.map +1 -1
  52. package/dist/scaffold/design.js +47 -25
  53. package/dist/scaffold/design.js.map +1 -1
  54. package/dist/scaffold/flagship.d.ts +5 -0
  55. package/dist/scaffold/flagship.d.ts.map +1 -1
  56. package/dist/scaffold/flagship.js +161 -102
  57. package/dist/scaffold/flagship.js.map +1 -1
  58. package/dist/scaffold/index.d.ts +1 -1
  59. package/dist/scaffold/index.d.ts.map +1 -1
  60. package/dist/scaffold/index.js +22 -7
  61. package/dist/scaffold/index.js.map +1 -1
  62. package/dist/scaffold/library.d.ts +3 -0
  63. package/dist/scaffold/library.d.ts.map +1 -0
  64. package/dist/scaffold/library.js +98 -0
  65. package/dist/scaffold/library.js.map +1 -0
  66. package/dist/scaffold/phases.d.ts.map +1 -1
  67. package/dist/scaffold/phases.js +19 -14
  68. package/dist/scaffold/phases.js.map +1 -1
  69. package/dist/scaffold/repomap.d.ts +3 -3
  70. package/dist/scaffold/repomap.d.ts.map +1 -1
  71. package/dist/scaffold/repomap.js +22 -10
  72. package/dist/scaffold/repomap.js.map +1 -1
  73. package/dist/scaffold/standard.d.ts.map +1 -1
  74. package/dist/scaffold/standard.js +3 -2
  75. package/dist/scaffold/standard.js.map +1 -1
  76. package/dist/scaffold/tokens.js +4 -4
  77. package/dist/scaffold/tools-guide.d.ts +3 -0
  78. package/dist/scaffold/tools-guide.d.ts.map +1 -0
  79. package/dist/scaffold/tools-guide.js +117 -0
  80. package/dist/scaffold/tools-guide.js.map +1 -0
  81. package/dist/scaffold/workflow.d.ts +5 -0
  82. package/dist/scaffold/workflow.d.ts.map +1 -0
  83. package/dist/scaffold/workflow.js +221 -0
  84. package/dist/scaffold/workflow.js.map +1 -0
  85. package/dist/ui/CockpitApp.d.ts +13 -0
  86. package/dist/ui/CockpitApp.d.ts.map +1 -0
  87. package/dist/ui/CockpitApp.js +612 -0
  88. package/dist/ui/CockpitApp.js.map +1 -0
  89. package/dist/ui/ToolsPanel.d.ts +6 -0
  90. package/dist/ui/ToolsPanel.d.ts.map +1 -0
  91. package/dist/ui/ToolsPanel.js +128 -0
  92. package/dist/ui/ToolsPanel.js.map +1 -0
  93. package/dist/utils/fs.d.ts +7 -0
  94. package/dist/utils/fs.d.ts.map +1 -1
  95. package/dist/utils/fs.js +169 -3
  96. package/dist/utils/fs.js.map +1 -1
  97. package/dist/utils/project-files.d.ts +4 -0
  98. package/dist/utils/project-files.d.ts.map +1 -0
  99. package/dist/utils/project-files.js +49 -0
  100. package/dist/utils/project-files.js.map +1 -0
  101. package/dist/version.d.ts +1 -1
  102. package/dist/version.d.ts.map +1 -1
  103. package/dist/version.js +1 -1
  104. package/dist/version.js.map +1 -1
  105. package/package.json +32 -4
@@ -1,89 +1,203 @@
1
- import fs from "node:fs/promises";
2
1
  import path from "node:path";
2
+ import { render } from "ink";
3
3
  import pc from "picocolors";
4
4
  import prompts from "prompts";
5
- import { exists, findProjectRoot, findPrototypeRoot } from "../utils/fs.js";
6
- import { CLI_VERSION } from "../version.js";
5
+ import React from "react";
6
+ import { COMPONENTS } from "../scaffold/components.js";
7
+ import { serverManager } from "../server/manager.js";
8
+ import { CockpitApp } from "../ui/CockpitApp.js";
9
+ import { discoverWorkspaceProjects, findProjectRoot, findPrototypeRoot, } from "../utils/fs.js";
10
+ import { addComponents } from "./add.js";
11
+ import { adoptProject } from "./adopt.js";
12
+ import { optimizeAssets } from "./assets.js";
7
13
  import { doctorCommand } from "./doctor.js";
8
- import { getProjectPhaseStatus, phaseCommand } from "./phase.js";
14
+ import { phaseCommand } from "./phase.js";
15
+ import { prototypeInit } from "./prototype.js";
16
+ import { createRelease } from "./release.js";
17
+ import { repomapCommand } from "./repomap.js";
9
18
  import { verifyCommand } from "./verify.js";
10
- export async function uiCommand() {
11
- const cwd = process.cwd();
12
- console.clear();
13
- console.log(pc.bold(pc.cyan(`\n⚡ MOZOLE STUDIO COCKPIT (v${CLI_VERSION})`)));
14
- console.log(pc.dim("Mozole Studio Development & Verification Cockpit\n"));
19
+ export async function uiCommand(options = {}) {
20
+ const cwd = options.cwd ?? process.cwd();
15
21
  const protoRoot = await findPrototypeRoot(cwd);
16
22
  let projectRoot = await findProjectRoot(cwd);
17
23
  if (projectRoot === protoRoot)
18
24
  projectRoot = null;
19
- let activeProject = projectRoot ? path.basename(projectRoot) : null;
20
- let currentPhase = "00";
21
- if (projectRoot) {
22
- try {
23
- const status = await getProjectPhaseStatus(projectRoot);
24
- currentPhase = status.currentPhase;
25
+ const discoveredProjects = protoRoot
26
+ ? await discoverWorkspaceProjects(protoRoot)
27
+ : [];
28
+ let activeProject = options.project ?? null;
29
+ if (!activeProject && projectRoot) {
30
+ const matched = discoveredProjects.find((p) => p.path === projectRoot);
31
+ activeProject = matched ? matched.name : path.basename(projectRoot);
32
+ }
33
+ let initialTab = "overview";
34
+ // If in prototype / monorepo workspace and no project specified
35
+ if (!projectRoot && protoRoot && discoveredProjects.length > 0) {
36
+ if (options.project) {
37
+ const matched = discoveredProjects.find((p) => p.name === options.project ||
38
+ p.relative === options.project ||
39
+ path.basename(p.path) === options.project);
40
+ if (matched) {
41
+ activeProject = matched.name;
42
+ projectRoot = matched.path;
43
+ }
44
+ else {
45
+ activeProject = options.project;
46
+ projectRoot = path.join(protoRoot, options.project);
47
+ }
48
+ }
49
+ else if (process.env.VITEST || options.interactive === false) {
50
+ // In automated tests or headless programmatic mode, prompt for selection if available
51
+ const choice = await prompts({
52
+ type: "select",
53
+ name: "project",
54
+ message: "Select an active client project:",
55
+ choices: discoveredProjects.map((p) => ({ title: p.name, value: p.name })),
56
+ });
57
+ if (choice?.project) {
58
+ const found = discoveredProjects.find((p) => p.name === choice.project);
59
+ activeProject = choice.project;
60
+ projectRoot = found ? found.path : path.join(protoRoot, choice.project);
61
+ }
62
+ else {
63
+ activeProject = discoveredProjects[0].name;
64
+ projectRoot = discoveredProjects[0].path;
65
+ }
66
+ }
67
+ else {
68
+ // In interactive terminal at monorepo root: default to first project and open projects explorer tab!
69
+ activeProject = discoveredProjects[0].name;
70
+ projectRoot = discoveredProjects[0].path;
71
+ initialTab = "projects";
25
72
  }
26
- catch { }
27
73
  }
28
- else if (protoRoot) {
29
- // List available projects in prototype root
30
- const projectsDir = path.join(protoRoot, "projects");
31
- if (await exists(projectsDir)) {
32
- const entries = await fs.readdir(projectsDir, { withFileTypes: true });
33
- const projects = entries.filter((e) => e.isDirectory()).map((e) => e.name);
34
- if (projects.length > 0) {
35
- const choice = await prompts({
36
- type: "select",
37
- name: "project",
38
- message: "Select an active client project:",
39
- choices: projects.map((p) => ({ title: p, value: p })),
40
- });
41
- if (choice.project) {
42
- activeProject = choice.project;
43
- const chosenRoot = path.join(projectsDir, choice.project);
44
- projectRoot = chosenRoot;
45
- try {
46
- const status = await getProjectPhaseStatus(chosenRoot);
47
- currentPhase = status.currentPhase;
74
+ const targetPath = projectRoot ?? cwd;
75
+ const projectName = activeProject ?? path.basename(targetPath);
76
+ // If programmatic action was requested (or prompted during non-interactive test)
77
+ let requestedAction = options.action;
78
+ if (!requestedAction && (process.env.VITEST || options.interactive === false)) {
79
+ const promptRes = await prompts({
80
+ type: "select",
81
+ name: "action",
82
+ message: "Select operation:",
83
+ choices: [
84
+ { title: "[01] Phase Status", value: "phase-status" },
85
+ { title: "[02] Phase Next", value: "phase-next" },
86
+ { title: "[03] Verify", value: "verify" },
87
+ { title: "[04] Server Start", value: "server-start" },
88
+ { title: "[05] Server Stop", value: "server-stop" },
89
+ { title: "[06] Repomap", value: "repomap" },
90
+ { title: "[07] Doctor", value: "doctor" },
91
+ { title: "[08] Prototype Init", value: "prototype-init" },
92
+ { title: "[09] Project Adopt", value: "project-adopt" },
93
+ { title: "[10] Add Component", value: "component-add" },
94
+ { title: "[11] Optimize Images", value: "assets-optimize" },
95
+ { title: "[12] Create Release", value: "release" },
96
+ ],
97
+ });
98
+ requestedAction = promptRes?.action;
99
+ }
100
+ if (requestedAction) {
101
+ try {
102
+ switch (requestedAction) {
103
+ case "component-add": {
104
+ let component = options.component;
105
+ if (!component && !options.action) {
106
+ const choice = await prompts({
107
+ type: "select",
108
+ name: "component",
109
+ message: "Select component:",
110
+ choices: [...Object.keys(COMPONENTS), "all"].map((name) => ({
111
+ title: name,
112
+ value: name,
113
+ })),
114
+ });
115
+ component = choice.component;
116
+ if (!component)
117
+ return;
48
118
  }
49
- catch { }
119
+ await addComponents({ cwd: targetPath, components: component });
120
+ break;
50
121
  }
122
+ case "assets-optimize":
123
+ await optimizeAssets({ cwd: targetPath, input: options.input, output: options.output });
124
+ break;
125
+ case "release":
126
+ await createRelease({
127
+ cwd: targetPath,
128
+ output: options.output,
129
+ format: options.format,
130
+ skipBuild: options.skipBuild,
131
+ });
132
+ break;
133
+ case "phase-status":
134
+ await phaseCommand({ action: "status", cwd: targetPath });
135
+ break;
136
+ case "phase-next":
137
+ await phaseCommand({ action: "next", cwd: targetPath });
138
+ break;
139
+ case "verify":
140
+ await verifyCommand({ cwd: targetPath });
141
+ break;
142
+ case "server-start":
143
+ await serverManager.startServer(projectName, targetPath);
144
+ break;
145
+ case "server-stop":
146
+ serverManager.stopServer(projectName);
147
+ break;
148
+ case "repomap":
149
+ await repomapCommand({ action: "sync", cwd: targetPath });
150
+ break;
151
+ case "doctor":
152
+ await doctorCommand();
153
+ break;
154
+ case "prototype-init":
155
+ await prototypeInit({ cwd: targetPath });
156
+ break;
157
+ case "project-adopt":
158
+ await adoptProject({ targetDir: targetPath });
159
+ break;
160
+ default:
161
+ throw new Error(`Unknown UI action: ${requestedAction}`);
162
+ }
163
+ }
164
+ catch (err) {
165
+ console.log(pc.red("\n┌─ OPERATION ERROR ──────────────────────────────────────────┐"));
166
+ const errMsg = err instanceof Error ? err.message : String(err);
167
+ for (const line of errMsg.split("\n")) {
168
+ console.log(pc.red(`│ [!] ${line}`));
51
169
  }
170
+ console.log(pc.red("└────────────────────────────────────────────────────────────┘"));
52
171
  }
172
+ return;
53
173
  }
54
- if (activeProject) {
55
- console.log(`Active Project: ${pc.bold(pc.green(activeProject))} | Current Phase: ${pc.bold(pc.yellow(`Phase ${currentPhase}`))}\n`);
174
+ // Fullscreen Ink TUI Mode (Alternate Screen Buffer)
175
+ const isTTY = Boolean(process.stdout.isTTY);
176
+ if (isTTY) {
177
+ process.stdout.write("\x1b[?1049h\x1b[H");
56
178
  }
57
- const { action } = await prompts({
58
- type: "select",
59
- name: "action",
60
- message: "Select an operation:",
61
- choices: [
62
- { title: "📋 View Phase Status & Checklist", value: "phase-status" },
63
- { title: "🚀 Advance to Next Phase", value: "phase-next" },
64
- { title: "🛡️ Run Full Verification (verify)", value: "verify" },
65
- { title: "🩺 Run System Doctor Diagnostics", value: "doctor" },
66
- { title: "🚪 Exit", value: "exit" },
67
- ],
68
- });
69
- if (!action || action === "exit") {
70
- console.log(pc.gray("\nGoodbye.\n"));
71
- return;
179
+ const restore = () => {
180
+ if (isTTY) {
181
+ process.stdout.write("\x1b[?1049l\x1b[?25h");
182
+ }
183
+ };
184
+ process.once("SIGINT", restore);
185
+ process.once("SIGTERM", restore);
186
+ try {
187
+ const instance = render(React.createElement(CockpitApp, {
188
+ projectRoot: targetPath,
189
+ activeProject: projectName,
190
+ protoRoot,
191
+ projects: discoveredProjects,
192
+ initialTab,
193
+ onExit: restore,
194
+ }));
195
+ await instance.waitUntilExit();
72
196
  }
73
- switch (action) {
74
- case "phase-status":
75
- await phaseCommand({ action: "status", cwd: projectRoot ?? cwd });
76
- break;
77
- case "phase-next":
78
- await phaseCommand({ action: "next", cwd: projectRoot ?? cwd });
79
- break;
80
- case "verify":
81
- if (!(await verifyCommand({ cwd: projectRoot ?? cwd })))
82
- process.exitCode = 1;
83
- break;
84
- case "doctor":
85
- await doctorCommand();
86
- break;
197
+ finally {
198
+ restore();
199
+ process.removeListener("SIGINT", restore);
200
+ process.removeListener("SIGTERM", restore);
87
201
  }
88
202
  }
89
203
  //# sourceMappingURL=ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuKjF"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkMjF"}
@@ -2,7 +2,7 @@ import { readFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import pc from "picocolors";
4
4
  import { scanProjectForAiTraces } from "../utils/ai-trace.js";
5
- import { findProjectRoot } from "../utils/fs.js";
5
+ import { exists, findNodeModulesFile, findProjectRoot } from "../utils/fs.js";
6
6
  import { run } from "../utils/process.js";
7
7
  import { testCommand } from "./test.js";
8
8
  export async function verifyCommand(options = {}) {
@@ -39,10 +39,40 @@ export async function verifyCommand(options = {}) {
39
39
  message: err instanceof Error ? err.message : String(err),
40
40
  });
41
41
  }
42
+ // Compute hoisted node_modules/.bin paths for monorepo workspaces
43
+ const binDirs = [];
44
+ let cur = path.resolve(projectRoot);
45
+ while (true) {
46
+ const binCandidate = path.join(cur, "node_modules", ".bin");
47
+ if (await exists(binCandidate)) {
48
+ binDirs.push(binCandidate);
49
+ }
50
+ const par = path.dirname(cur);
51
+ if (par === cur)
52
+ break;
53
+ cur = par;
54
+ }
55
+ const pathSep = process.platform === "win32" ? ";" : ":";
56
+ const augmentedEnv = {
57
+ ...process.env,
58
+ PATH: binDirs.length > 0
59
+ ? `${binDirs.join(pathSep)}${pathSep}${process.env.PATH ?? ""}`
60
+ : process.env.PATH,
61
+ };
42
62
  // Stage 2: Biome Lint & Format Check
43
63
  console.log(pc.bold("\n2. Running Biome linter and formatter..."));
44
64
  try {
45
- const biomeRes = await run(process.execPath, [path.join(projectRoot, "node_modules/@biomejs/biome/bin/biome"), "check", "src"], { cwd: projectRoot });
65
+ const biomeBin = (await findNodeModulesFile(projectRoot, "@biomejs/biome/bin/biome")) ??
66
+ path.join(projectRoot, "node_modules/@biomejs/biome/bin/biome");
67
+ const targetDir = (await exists(path.join(projectRoot, "src")))
68
+ ? "src"
69
+ : (await exists(path.join(projectRoot, "app")))
70
+ ? "app"
71
+ : ".";
72
+ const biomeRes = await run(process.execPath, [biomeBin, "check", targetDir], {
73
+ cwd: projectRoot,
74
+ env: augmentedEnv,
75
+ });
46
76
  if (biomeRes.exitCode === 0) {
47
77
  stages.push({ name: "Biome Code Standards", success: true });
48
78
  console.log(pc.green(" ✓ Biome lint and formatting clean."));
@@ -68,9 +98,11 @@ export async function verifyCommand(options = {}) {
68
98
  console.log(pc.bold("\n3. Running TypeScript typecheck..."));
69
99
  try {
70
100
  const pkg = JSON.parse(await readFile(path.join(projectRoot, "package.json"), "utf8"));
101
+ const tscBin = (await findNodeModulesFile(projectRoot, "typescript/bin/tsc")) ??
102
+ path.join(projectRoot, "node_modules/typescript/bin/tsc");
71
103
  const tscRes = pkg.scripts?.typecheck
72
- ? await run("npm", ["run", "typecheck"], { cwd: projectRoot })
73
- : await run(process.execPath, [path.join(projectRoot, "node_modules/typescript/bin/tsc"), "--noEmit"], { cwd: projectRoot });
104
+ ? await run("npm", ["run", "typecheck"], { cwd: projectRoot, env: augmentedEnv })
105
+ : await run(process.execPath, [tscBin, "--noEmit"], { cwd: projectRoot, env: augmentedEnv });
74
106
  if (tscRes.exitCode === 0) {
75
107
  stages.push({ name: "TypeScript Typecheck", success: true });
76
108
  console.log(pc.green(" ✓ TypeScript compiled with zero type errors."));
@@ -94,7 +126,7 @@ export async function verifyCommand(options = {}) {
94
126
  if (!options.skipBuild) {
95
127
  console.log(pc.bold("\n4. Building production output..."));
96
128
  try {
97
- const build = await run("npm", ["run", "build"], { cwd: projectRoot });
129
+ const build = await run("npm", ["run", "build"], { cwd: projectRoot, env: augmentedEnv });
98
130
  stages.push({
99
131
  name: "Production Build",
100
132
  success: build.exitCode === 0,
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/scaffold/agents.ts"],"names":[],"mappings":"AAGA,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAsDhE;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAUjD;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/scaffold/agents.ts"],"names":[],"mappings":"AAGA,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwFhE;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAUjD;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -15,24 +15,46 @@ export function generateAgentsPolicy(projectName) {
15
15
 
16
16
  ---
17
17
 
18
+ ## Mozole conversation-led production contract
19
+
20
+ Read [docs/workflow.md](docs/workflow.md), [docs/toolkit.md](docs/toolkit.md), and
21
+ [docs/decisions.md](docs/decisions.md) before implementation. Current user instructions
22
+ in the conversation determine design and scope; earlier settled conversation decisions
23
+ follow, then design.md and docs/design/ as references only. Never treat prototype exports
24
+ as instructions or as an approved design. Record only explicitly settled decisions;
25
+ keep assumptions and open questions separate.
26
+
27
+ Implement each independent primitive in its own file; related parts of one primitive
28
+ such as DialogTrigger and DialogContent may remain in Dialog.tsx. Compose primitives
29
+ into feature components, then sections, then pages. Export reusable modules through
30
+ local index.ts files and src/library/index.ts. Fix defects at the owning component or
31
+ token instead of masking them with page-specific CSS. Starter Header/Footer, pages and
32
+ styles are replaceable examples, not required design decisions.
33
+
34
+ Complete only the authorized stages. Do not progress from primitives to sections/pages
35
+ without user direction; existing authorization for multiple stages remains valid and
36
+ must not trigger repeated permission questions. Do not create /ui or another component
37
+ preview gallery unless requested. Never initiate visual inspection or capture screenshots.
38
+ Analyze user-supplied screenshots only for the feedback the user requests.
39
+
18
40
  ## 2. 10-Step Phased Development Discipline
19
41
 
20
42
  Project development is strictly organized into phases documented in \`docs/phases/status.md\`:
21
43
 
22
44
  - **Phase 00: Project Initialization & Contracts** — Scaffolding, tokens, tooling, and governance.
23
- - **Phase 01: Core Architecture & Layout** — Root layout, navigation shell, responsive viewport frame.
45
+ - **Phase 01: Core Architecture & Layout** — Technical root shell and module boundaries; no unrequested visual layout work.
24
46
  - **Phase 02: Design Tokens & Primitive Components** — Semantic tokens, Radix-based bespoke UI atoms.
25
- - **Phase 03: Primary Routes & Pages** — Route declarations, static content hierarchy.
47
+ - **Phase 03: Primary Routes & Pages** — Feature components, then sections, then page composition within authorized scope.
26
48
  - **Phase 04: Interactive Features & State** — Forms, client interactions, transitions.
27
49
  - **Phase 05: Dynamic Animation & Canvas (Flagship)** — Scroll orchestration, WebGL/canvas layers.
28
- - **Phase 06: Backend Integration & Security** — PHP endpoints, mailer, rate-limiting, honeypot.
50
+ - **Phase 06: Integrations & Security** — Form handling, anti-spam honeypot, security headers, and API endpoints.
29
51
  - **Phase 07: Accessibility & WCAG 2.1 AA** — Landmark hierarchy, keyboard traps, screen reader fidelity.
30
52
  - **Phase 08: Performance & Core Web Vitals** — Fluid typography, asset optimization, zero layout shift.
31
53
  - **Phase 09: Browser & Breakpoint QA** — Headless DOM geometry audit across all media query boundaries.
32
54
  - **Phase 10: Production Readiness & Launch** — Static build verification, SSG export, deployment readiness.
33
55
 
34
56
  ### Execution Rules
35
- 1. **Initial Development:** Must advance sequentially. Run \`mozole phase next\` to advance upon completing all phase deliverables and passing \`mozole verify\`.
57
+ 1. **Initial Development:** Track engineering progress sequentially; follow the conversation-led production order in docs/workflow.md. Phase numbers never authorize extra design work. Run \`mozole phase next\` to advance upon completing applicable phase deliverables and requested checks. The command does not run verification and may create a Git commit.
36
58
  2. **Post-Launch Maintenance:** After Phase 10 is reached, bug fixes and routine maintenance tasks do not require reopening completed phases, provided changes adhere to established design tokens and architectural contracts. If a change introduces major architectural divergence or new sub-systems, reopen the relevant phase with \`mozole phase reopen <number>\`.
37
59
 
38
60
  ---
@@ -42,14 +64,26 @@ Project development is strictly organized into phases documented in \`docs/phase
42
64
  - **Canonical Token Source:** The sole authoritative design token repository is \`src/styles/tokens.css\`, declared directly via Tailwind v4 \`@theme\` syntax. Do not duplicate or maintain parallel token definitions.
43
65
  - **Zero Literal Values:** Never use hardcoded hex/rgb/hsl color literals or magic pixel offsets in components or style declarations. Consume tokens via utility classes or \`var(--...)\`.
44
66
  - **Zero Code Cannibalization:** UI primitives must be bespoke application code living in \`src/components/ui/\`, using unstyled Radix primitives for accessibility; no generic pre-styled template dumping.
67
+ - **Project-owned Library:** Export UI, layout, motion and behavior through local barrel files and \`src/library/index.ts\`. Build pages by composing these independent modules. Never import implementation code or tokens from a sibling project or a workspace-level shared library. Prototype workspaces share npm dependencies only.
68
+ - **Profiles & Backend:** Standard uses Vite, React, Tailwind and React Router; Flagship uses Wouter, Motion and Lenis. Backend is opt-in (PHP or Node) and separate from the frontend profile.
45
69
  - **Performance & Motion:** \`transition: all\` is strictly prohibited. Declare explicit transition targets. Always respect \`@media (prefers-reduced-motion: reduce)\`.
46
70
 
47
71
  ---
48
72
 
73
+ ## Component, asset and release commands
74
+
75
+ Read docs/tools.md for the catalog and options. Use \`mozole add <component>\` to add
76
+ project-owned foundations; adapt them to conversation-directed design and preserve existing
77
+ custom components. Use \`mozole assets\` to encode source images, then consume their manifest
78
+ through ResponsiveImage with appropriate sizes and priority. This is file processing, not
79
+ visual inspection. Use \`mozole release\` for local static/PHP packaging when requested;
80
+ it runs the build unless --skip-build is set, preserves existing releases, and never uploads.
81
+ The same operations are available in the terminal cockpit under [6] TOOLS.
82
+
49
83
  ## 4. Quality Kit & Verification
50
84
 
51
- - **Automated Verification:** Run \`mozole verify\` before completing any task.
52
- - **Headless & Screenshot-Free:** Routine automated QA (\`mozole qa\` or \`mozole test\`) must never capture, diff, or inspect raster screenshots. Visual quality is verified headlessly through static AST contract auditing and live DOM geometry probing.
85
+ - **Automated Verification:** Run \`mozole verify\` when validation is authorized. If the user says not to test, do not run verification or probes; provide the commands and state they were not run.
86
+ - **Headless & Screenshot-Free:** Automated QA (\`mozole verify\` or \`mozole test\`) must never capture, diff, or inspect raster screenshots. Do not initiate visual review of the app or reference exports. Static contract auditing and headless DOM geometry are technical checks, not visual approval. User-supplied screenshots can be analyzed only within the requested correction.
53
87
  - **Pre-existing / Environmental Failure Exception:** If a failure is proven pre-existing, caused by broken external tooling, or due to a missing environmental dependency (e.g. system PHP runtime absent in a pure frontend workspace), the agent may conclude the task provided:
54
88
  1. The agent's own changes introduced zero regressions.
55
89
  2. The pre-existing/environmental failure is clearly documented in the completion report with actionable evidence.
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/scaffold/agents.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDxB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;;CAER,CAAC;AACF,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;;;;;;;;CAQR,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;IAE9C,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEjE,wDAAwD;IACxD,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;IACxF,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/scaffold/agents.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFxB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;;CAER,CAAC;AACF,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;;;;;;;;CAQR,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;IAE9C,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEjE,wDAAwD;IACxD,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;IACxF,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACvF,CAAC"}
@@ -3,5 +3,5 @@ export declare function generatePhpMailer(): string;
3
3
  export declare function generatePhpIndex(): string;
4
4
  export declare function generatePhpSecurityHtaccess(): string;
5
5
  export declare function generateNodeBackend(): string;
6
- export declare function scaffoldBackend(projectRoot: string, type?: "php" | "node"): Promise<void>;
6
+ export declare function scaffoldBackend(projectRoot: string, type?: "php" | "node" | "none"): Promise<void>;
7
7
  //# sourceMappingURL=backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/scaffold/backend.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,IAAI,MAAM,CA+B1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAmC1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CA8LzC;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAcpD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAoD5C;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,KAAK,GAAG,MAAc,GAC3B,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/scaffold/backend.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,IAAI,MAAM,CA+B1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAmC1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CA8LzC;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAiBpD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAuC5C;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,KAAK,GAAG,MAAM,GAAG,MAAe,GACrC,OAAO,CAAC,IAAI,CAAC,CAqDf"}