@mozole/cli 1.3.2 → 1.4.1

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 (76) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +54 -156
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +6 -3
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/adopt.d.ts +2 -1
  7. package/dist/commands/adopt.d.ts.map +1 -1
  8. package/dist/commands/adopt.js +460 -81
  9. package/dist/commands/adopt.js.map +1 -1
  10. package/dist/commands/doctor.d.ts.map +1 -1
  11. package/dist/commands/doctor.js +39 -16
  12. package/dist/commands/doctor.js.map +1 -1
  13. package/dist/commands/new.d.ts.map +1 -1
  14. package/dist/commands/new.js +22 -11
  15. package/dist/commands/new.js.map +1 -1
  16. package/dist/commands/qa.d.ts.map +1 -1
  17. package/dist/commands/qa.js +18 -12
  18. package/dist/commands/qa.js.map +1 -1
  19. package/dist/commands/stats.d.ts.map +1 -1
  20. package/dist/commands/stats.js +6 -1
  21. package/dist/commands/stats.js.map +1 -1
  22. package/dist/commands/verify.d.ts.map +1 -1
  23. package/dist/commands/verify.js +12 -8
  24. package/dist/commands/verify.js.map +1 -1
  25. package/dist/config/project.d.ts +3 -3
  26. package/dist/config/project.d.ts.map +1 -1
  27. package/dist/config/project.js +11 -12
  28. package/dist/config/project.js.map +1 -1
  29. package/dist/governor/fingerprint.d.ts.map +1 -1
  30. package/dist/governor/fingerprint.js +2 -0
  31. package/dist/governor/fingerprint.js.map +1 -1
  32. package/dist/governor/hook.d.ts +1 -0
  33. package/dist/governor/hook.d.ts.map +1 -1
  34. package/dist/governor/hook.js +18 -9
  35. package/dist/governor/hook.js.map +1 -1
  36. package/dist/platform/process.d.ts.map +1 -1
  37. package/dist/platform/process.js +4 -0
  38. package/dist/platform/process.js.map +1 -1
  39. package/dist/qa/runner.js +1 -1
  40. package/dist/qa/runner.js.map +1 -1
  41. package/dist/scaffold/adoption.d.ts +17 -0
  42. package/dist/scaffold/adoption.d.ts.map +1 -0
  43. package/dist/scaffold/adoption.js +279 -0
  44. package/dist/scaffold/adoption.js.map +1 -0
  45. package/dist/scaffold/backend.d.ts.map +1 -1
  46. package/dist/scaffold/backend.js +57 -11
  47. package/dist/scaffold/backend.js.map +1 -1
  48. package/dist/scaffold/design.d.ts +4 -0
  49. package/dist/scaffold/design.d.ts.map +1 -0
  50. package/dist/scaffold/design.js +50 -0
  51. package/dist/scaffold/design.js.map +1 -0
  52. package/dist/scaffold/legacy.d.ts +4 -0
  53. package/dist/scaffold/legacy.d.ts.map +1 -0
  54. package/dist/scaffold/legacy.js +139 -0
  55. package/dist/scaffold/legacy.js.map +1 -0
  56. package/dist/scaffold/routes.d.ts +3 -0
  57. package/dist/scaffold/routes.d.ts.map +1 -0
  58. package/dist/scaffold/routes.js +37 -0
  59. package/dist/scaffold/routes.js.map +1 -0
  60. package/dist/scaffold/standalone.d.ts +7 -0
  61. package/dist/scaffold/standalone.d.ts.map +1 -0
  62. package/dist/scaffold/standalone.js +294 -0
  63. package/dist/scaffold/standalone.js.map +1 -0
  64. package/dist/scaffold/templates.d.ts.map +1 -1
  65. package/dist/scaffold/templates.js +82 -26
  66. package/dist/scaffold/templates.js.map +1 -1
  67. package/dist/scaffold/write.d.ts.map +1 -1
  68. package/dist/scaffold/write.js +19 -5
  69. package/dist/scaffold/write.js.map +1 -1
  70. package/dist/verify/runner.d.ts.map +1 -1
  71. package/dist/verify/runner.js +2 -4
  72. package/dist/verify/runner.js.map +1 -1
  73. package/dist/version.d.ts +2 -2
  74. package/dist/version.js +1 -1
  75. package/docs/agent-audit.md +24 -0
  76. package/package.json +4 -2
package/CHANGELOG.md ADDED
@@ -0,0 +1,22 @@
1
+ # Changelog
2
+
3
+ ## 1.4.1
4
+
5
+ - Make `adopt` reconcile legacy and previously optimized projects with the current canonical project system without requiring an integration flag.
6
+ - Archive Mozole-owned legacy state and managed files during migration, preserve unrelated user integrations and design exports, and restore managed changes if installation fails.
7
+ - Refresh managed instruction blocks, standalone verification/QA scripts, PHP templates, tooling pins and configured project verifiers idempotently.
8
+ - Keep CCE, governor, telemetry and token-optimization layers strictly opt-in through explicit integration flags.
9
+
10
+ ## 1.4.0
11
+
12
+ - Add provider-neutral design handoff and shared AGENTS.md guardrails for spacing, typography, contrast, assets and responsive validation; preserve user exports under docs/design/.
13
+
14
+ - Make default scaffolds independent of the CLI: no CCE, governor, telemetry, caches, MCP, hooks, or optimization dependency. Environment variables cannot enable integration mode.
15
+ - Keep useful basic AGENTS.md and CLAUDE.md guidance in plain projects. Require explicit integration flags for new/adopt; refresh managed agent blocks and hook definitions while preserving user content.
16
+ - Track CCE retrieval through PostToolUse MCP events and provide a valid reason from the visual QA workflow.
17
+ - Add recursive PHP syntax and minimum-version validation, strict API prefix matching, GET/HEAD handling, and 405/Allow responses.
18
+ - Add `build:deploy` to assemble frontend, PHP API, and .htaccess with rollback on failed replacement. Default PHP configuration to production/debug-off.
19
+ - Preserve failed creation logs before staging cleanup.
20
+ - Add standalone browser QA and integration coverage for plain, PHP, and optimized scaffolds; provision PHP in Windows/Linux CI.
21
+
22
+ Migration: default generated projects use standalone npm scripts rather than a project-local `mozole` executable. Use the globally installed CLI when desired, or pass `--cce-install` to generate the optional integration mode. Plain adoption migrates previously optimized projects to the current standalone system, archiving Mozole-owned integration remnants and preserving unrelated user integrations. Explicit flags select optimized adoption. Legacy PHP templates, managed scripts, instruction blocks and tooling pins are reconciled; customized backend files receive a review notice. Failed installation restores managed files and moved state.
package/README.md CHANGED
@@ -1,207 +1,103 @@
1
1
  # Mozole CLI
2
2
 
3
- `mozole` is a production-oriented web bootstrap and agent harness. It creates static-first React Router Framework Mode projects with a pinned toolchain, compact Codex, Claude Code, and Google Antigravity guidance, deterministic verification, semantic CCE retrieval, and Playwright QA that does not spend routine agent context on screenshots.
4
-
5
- ## Requirements and installation
6
-
7
- - Node.js 22 or newer
8
- - npm
9
- - Windows or Linux (WSL is optional, not required)
10
- - Git is recommended
11
- - For CCE: Python 3.11+, a C/C++ build toolchain, and CMake; `mozole cce install` installs the required `uv` runtime and persistent `cce` tool
3
+ Mozole scaffolds React + Vite projects using React Router Framework Mode. It prerenders static HTML and optionally adds a native PHP API. Node.js 22+, npm, and Windows or Linux are supported. PHP projects require PHP 8.0+.
12
4
 
13
5
  ```sh
14
6
  npm install --global @mozole/cli
15
- mozole --version
16
- ```
17
-
18
- The release pins its complete generated-project matrix in `src/version.ts`; generation never requests floating `latest` packages.
19
-
20
- ## Create a project
21
-
22
- ```sh
23
7
  mozole new my-site
24
- cd my-site
25
- npm run dev
8
+ mozole new my-app --backend
26
9
  ```
27
10
 
28
- There is no questionnaire. Mozole creates a clean, lightweight scaffold project by default, installs dependencies, and atomically moves the completed project into place. CCE initialization and agent harnesses are opt-in via `--cce-install` (or `--install-cce`). Passing `--backend` provisions a native PHP backend (`api/index.php`, `api/config.php`, `.htaccess`) with Vite API proxying.
29
-
30
- The generated app follows current React Router Framework Mode conventions:
11
+ Creation installs pinned dependencies and Chromium, formats the project, and moves the completed staging directory into place. Failed setup preserves available subprocess logs in a sibling `.mozole-<name>-failure-*` directory before removing staging. Existing target directories are preserved.
31
12
 
32
- ```ts
33
- // react-router.config.ts
34
- export default {
35
- ssr: false,
36
- prerender: true,
37
- } satisfies Config;
38
- ```
39
-
40
- React Router documents this combination as static pre-rendering without a runtime SSR server. Every statically declared route in `app/routes.ts` gets real HTML at build time. The starter emits `/`, `/about`, and `/contact` under `build/client/`, alongside route data and assets. See the official [React Router pre-rendering guide](https://reactrouter.com/how-to/pre-rendering).
13
+ ## Default project
41
14
 
42
- Deploy `build/client/` to Apache, LiteSpeed, nginx, a CDN, object storage, or shared hosting. Known routes do not need SPA fallback or a production Node process. Build output is disposable and ignored by Git.
15
+ The default project has **no CCE, token governor, telemetry, verification cache, MCP registration, or optimization hooks**. It does not depend on `@mozole/cli`, including transitively through its generated package lock. Verification and browser QA run through standalone project scripts. `MOZOLE_INSTALL_CCE` does not enable integrations.
43
16
 
44
- ## Commands
45
-
46
- ```text
47
- mozole new <name> [--backend] [--cce-install]
48
- mozole adopt <path>
49
- mozole cce install
50
- mozole doctor
51
- mozole verify [--force]
52
- mozole qa [--interactive | --visual [--diff]] [--force]
53
- mozole stats
54
- mozole ui
55
- mozole logs [name] [--raw]
56
- ```
57
-
58
- ### Adopt an existing project
17
+ Basic `AGENTS.md` describes actual commands, source layout, and verification policy. `CLAUDE.md` imports it using `@AGENTS.md`. Neither file imposes CCE retrieval or token policies. No `.agents/`, `.codex/hooks.json`, or `.claude/settings.json` is generated by default.
59
18
 
60
19
  ```sh
61
- mozole adopt ../existing-app
20
+ cd my-site
21
+ npm run dev
22
+ npm run verify
23
+ npm run qa
24
+ npm run qa:interactive
25
+ npm run qa:visual
62
26
  ```
63
27
 
64
- Adoption accepts React projects using Vite or React Router, preserves application files, adds missing harness files, and merges only the required package scripts/dependencies. Changed package and existing agent-hook JSON files are backed up under `.mozole/backups/`. Existing hook groups are preserved, and Mozole's advisory group is appended once. Marked instructions, hook settings, ignore rules, and package mutations are idempotent.
28
+ `verify` runs lint, strict TypeScript, tests, and production build every time. PHP projects also run PHP version and recursive syntax checks first. `qa` starts a loopback development server on an available port, checks the configured routes at three viewports, and closes its browser and server. Normal QA never captures screenshots. `qa:visual` explicitly captures screenshots under `.mozole/qa/`. Reinstall Chromium with `npx playwright install chromium` if necessary.
65
29
 
66
- ### Diagnose the environment
30
+ React Router uses `ssr: false` and `prerender: true`. The starter builds real HTML for `/`, `/about`, and `/contact` into `build/client/`, plus `__spa-fallback.html`. Production requires no Node server. See [React Router prerendering](https://reactrouter.com/how-to/pre-rendering).
67
31
 
68
- ```sh
69
- mozole doctor
70
- ```
32
+ ## Design references and assets
71
33
 
72
- Doctor reports platform/runtime, Git, Codex, Claude Code, Antigravity, CCE, Chromium, Mozole metadata, and pinned project tools. Missing optional agent runtimes are visible without making a healthy frontend unusable. A malformed or incomplete checked-in Antigravity workspace integration is a project error; missing Node/npm/project build dependencies or Chromium also produce a nonzero status.
34
+ Place exported `design.md`, images, icons, fonts and reference screens under `docs/design/`. Generated `AGENTS.md` treats these as design evidence, preserves their intent, and requires checks for spacing, loaded fonts, foreground/background contrast, responsive behavior and interaction states. It permits justified corrections instead of blindly copying tokens. `docs/design/README.md` explains the handoff; no provider-specific design is generated. Existing exports remain untouched during adoption. Routine QA stays screenshot-free; visual comparison remains opt-in.
73
35
 
74
- ### Install the CCE runtime
36
+ ## PHP backend
75
37
 
76
38
  ```sh
77
- mozole cce install
39
+ mozole new my-app --backend
40
+ cd my-app
41
+ npm run dev
42
+ # In a separate terminal:
43
+ npm run dev:api
78
44
  ```
79
45
 
80
- This command installs the official `uv` package through the native system package manager (WinGet on Windows; pacman, apt, dnf, or zypper on Linux), then uses `uv tool install` to persist the pinned `cce` executable for the current user. It does not create a project Python virtual environment. The CCE tool and its compatible MCP runtime are pinned together; Mozole resolves the resulting executable directly for agent MCP configuration, even before a newly opened shell has refreshed `PATH`.
81
-
82
- ### Deterministic verification
46
+ Vite proxies `/api/` calls to PHP on `127.0.0.1:8000`. The PHP front controller serves `GET` and `HEAD` for `/api/health` and `/api/info`. Unknown endpoints return JSON 404; unsupported methods on known endpoints return JSON 405 with `Allow: GET, HEAD`.
83
47
 
84
48
  ```sh
85
- mozole verify
86
- # generated-project alias
87
- npm run verify
49
+ npm run check:php
50
+ npm run build:deploy
88
51
  ```
89
52
 
90
- Checks run in order: Biome, strict TypeScript, Vitest, and the React Router production build. Extra verifiers can be listed in `.mozole/project.json`; this is also where a future PHP harness can add Composer validation, static analysis, formatting, and tests. Full subprocess logs stay in `.mozole/logs/`. Successful terminal output is deliberately compressed; a failure includes a bounded relevant excerpt.
53
+ `check:php` checks PHP 8.0+ and runs `php -l` on every PHP source file under `api/`. `build:deploy` validates PHP, builds the frontend, and assembles `deploy/` with static output, `api/`, and `.htaccess`. Existing deployment output is replaced with rollback on failed replacement. Upload the **contents** of `deploy/`, including hidden `.htaccess`, to an Apache/LiteSpeed document root with PHP and rewrite support. The supplied configuration assumes domain-root hosting. Nginx needs explicit PHP-FPM configuration; see generated `docs/backend-php.md`.
91
54
 
92
- Successful verification evidence is fingerprinted from relevant source, test, configuration, package, and lock files. An unchanged repeat returns `VERIFY CURRENT` without starting Biome, TypeScript, Vitest, or a build. Documentation, generated output, caches, screenshots, and logs do not invalidate that evidence. Use `mozole verify --force` when fresh execution is intentional. A relevant change or any forced failure invalidates reuse.
55
+ Environment values come from the process environment using `getenv`; there is no implicit `.env` loader. Production and debug-off are the defaults. Database support is an optional PDO helper; configure `DB_DSN`, `DB_USER`, and `DB_PASS` through your host.
93
56
 
94
- ### Browser QA
57
+ ## Explicit integrations
95
58
 
96
59
  ```sh
97
- mozole qa # deterministic probes, zero screenshots
98
- mozole qa --interactive # plus safe keyboard/control probes
99
- mozole qa --visual # explicit screenshots in .mozole/qa/
100
- mozole qa --visual --diff # pixel-level visual regression diffing
60
+ mozole cce install
61
+ mozole new agent-site --cce-install
62
+ # --install-cce is an alias; --backend can be combined with either flag.
63
+ mozole adopt existing-site --cce-install
101
64
  ```
102
65
 
103
- QA discovers an already-running configured server or starts its own Vite process on an available loopback port. It waits for readiness, visits only configured routes, and checks three default viewports (`375×812`, `768×1024`, `1440×900`). Probes cover HTTP reachability, runtime/console errors, failed requests, horizontal overflow, geometry, internal links, important-element visibility, document language/title/headings, accessible names, and—when requested—safe interactions and keyboard focus. Owned browsers and process trees are closed on success, failure, Ctrl+C, and timeout.
66
+ Only explicit `--cce-install`/`--install-cce` enables the CCE runtime integration, Codex/Claude hooks, Antigravity workspace files, token governor, telemetry, and verification/QA evidence reuse. The project then depends on the matching CLI version. `--scaffold` on `new` overrides integration flags.
104
67
 
105
- Normal QA and verification contain no screenshot path. Screenshot capture exists only inside the `visual` branch, uses stable `<viewport>-<route>.png` names, and is tested as opt-in.
68
+ CCE initialization uses the pinned release in `src/version.ts`. `mozole cce install` installs its runtime; creation reports when an unavailable runtime needs attention. Adoption with integration flags requires a runnable CCE runtime before installing managed integrations. Existing user instructions and unrelated hook/MCP entries are preserved. Managed instruction blocks and hook definitions are refreshed idempotently.
106
69
 
107
- Successful normal, interactive, and visual QA evidence is cached separately. Runtime source, routes, server settings, dependencies, and viewport changes invalidate QA; a README-only edit does not. An unchanged repeat returns `QA CURRENT` without launching a server or Chromium. Visual reuse also verifies every screenshot's content hash and existence. `mozole qa --force` and `mozole qa --visual --force` always collect fresh evidence.
70
+ Optimized `AGENTS.md` provides the shared CCE-first contract; `CLAUDE.md` imports it and Antigravity rules reference it. Instructions are guidance, not execution proof. Codex discovers `AGENTS.md` by directory scope, with `AGENTS.override.md` taking precedence. Project hooks need host review/trust before execution. See [AGENTS.md discovery](https://learn.chatgpt.com/docs/agent-configuration/agents-md) and [Codex hooks](https://learn.chatgpt.com/docs/hooks).
108
71
 
109
- Viewports, routes, server command/arguments, readiness path, telemetry, and verifier extensions are explicit in `.mozole/project.json`.
72
+ Read and command policies run on `PreToolUse`. CCE retrieval tracking runs on `PostToolUse`, including MCP tool names, and ignores explicit tool-error responses. The Antigravity visual workflow provides a reason accepted by the visual QA gate. Host-specific agent sessions are not automatically launched by the CLI test suite.
110
73
 
111
- ## CCE, Codex, and Claude Code
74
+ Optimized verification/QA reuses matching successful evidence. Use `--force` for a fresh run. Routine QA is screenshot-free; visual QA uses explicit `--visual` and, after successful routine QA, `--reason` or `--force`. Enabled governors enforce read/command policies and can deny calls; they are not advisory-only. Local telemetry reports measured output compression and tool activity, not model billing savings.
112
75
 
113
- Mozole integrates Elara Labs' local [Code Context Engine](https://github.com/elara-labs/code-context-engine), currently pinned to `0.4.25`. If `cce` is installed, Mozole runs:
76
+ ## Adopt an existing project
114
77
 
115
78
  ```sh
116
- cce init --agent all
117
- ```
118
-
119
- If only `uvx` exists, it runs the equivalent pinned `uvx --from code-context-engine[local]==0.4.25 --with mcp==1.29.1 ...` invocation. The explicit MCP pin keeps CCE's documented server API compatible even when newer MCP releases are available. CCE builds incremental vector, lexical, and code-graph indexes, registers MCP for supported agents, and exposes `cce status`, `cce search`, and `cce savings`. Source remains local under CCE's default configuration. If setup cannot finish, the project still works and `mozole doctor` reports the gap.
120
-
121
- When adopting a project with CCE enabled, Mozole requires a runnable CCE runtime before it writes the managed MCP entry or reports success. If neither `cce` nor `uvx` is available, run `mozole cce install` once and repeat adoption. The adopted MCP entry uses the resolved executable, including the persistent `cce` path when a newly opened shell has not refreshed `PATH` yet; a pinned `uvx` fallback remains supported for existing installations.
122
-
123
- CCE normally writes its own instruction blocks during initialization. Mozole snapshots and restores `AGENTS.md` and `CLAUDE.md` around that operation: the index, hooks, and MCP registrations remain, while the compact shared project guidance stays the sole instruction source.
124
-
125
- Generated `AGENTS.md` is intentionally short: commands, architecture, verification/QA policy, and a mandatory CCE-first contract. Codex officially loads project guidance from `AGENTS.md` ([OpenAI documentation](https://learn.chatgpt.com/docs/agent-configuration/agents-md)). `CLAUDE.md` imports the shared contract and repeats only its Claude-specific enforcement line. Repository reads are forbidden by default: agents must use CCE search, additional CCE retrieval, then a bounded line-range read only when CCE is insufficient; full-file reads require explicit escalation, and editing is never sufficient justification. An unavailable CCE runtime is reported instead of silently bypassed. Enabled governors default to `enforce`; adoption upgrades earlier enabled `warn` configurations while preserving an explicitly disabled governor.
126
-
127
- ## Terminal UI
128
-
129
- ```sh
130
- mozole ui
79
+ mozole adopt ../existing-app
131
80
  ```
132
81
 
133
- The terminal UI is a full-screen ANSI command deck: color panels, keyboard navigation, current operation status, and a bounded activity feed. It can run Doctor, Verify, screenshot-free QA, Stats, CCE installation, project creation, and adoption. `q` restores the original terminal buffer; it is intentionally unavailable in non-interactive CI, where individual commands remain the right interface.
134
-
135
- ## Google Antigravity
82
+ Adoption reconciles a React/Vite or React Router project with the current project system. Without `--cce-install`, it removes Mozole-owned CCE integrations, optimization hooks and state, including from previously optimized projects, and installs standalone verification/QA. The flag explicitly selects the optimized system. User instructions, unrelated integrations, application source and design exports are preserved. Recognized unchanged legacy PHP templates are upgraded; customized backend files are retained with a review notice. Replaced files and obsolete state are archived under `.mozole/backups/adopt-*`; managed files are restored if installation fails. Tooling versions and npm dependencies are reconciled on every adoption. Custom verifier commands and configured QA servers remain in use. Repeating adoption does not duplicate managed instruction blocks.
136
83
 
137
- `mozole new` provisions Antigravity without requiring the IDE or CLI to be installed. `mozole adopt` adds the same files conservatively:
84
+ ## CLI commands
138
85
 
139
86
  ```text
140
- .agents/
141
- ├── mcp_config.json
142
- ├── rules/mozole.md
143
- └── workflows/
144
- ├── mozole-verify.md
145
- ├── mozole-qa.md
146
- ├── mozole-qa-interactive.md
147
- └── mozole-qa-visual.md
148
- ```
149
-
150
- Google documents `.agents/mcp_config.json` as the workspace-local MCP configuration and `.agents/rules/` plus `.agents/workflows/` as workspace customizations ([Antigravity CLI MCP](https://codelabs.developers.google.com/genai-for-dev-antigravity-cli), [Antigravity IDE customization](https://codelabs.developers.google.com/getting-started-agy-ide)). Mozole registers one stdio server named `mozole-cce` using CCE's documented `cce serve` entry point. CCE discovers the project from `.context-engine.yaml`, so no user-specific absolute path or second index is needed. If Mozole is using its pinned `uvx` fallback, the MCP entry uses the same pinned package invocation.
151
-
152
- The Antigravity rule points to the shared `AGENTS.md` contract and explicitly requires CCE before repository inspection. Workflows delegate to Mozole rather than duplicating verification or browser logic. Use `/mozole-verify`, `/mozole-qa`, `/mozole-qa-interactive`, or `/mozole-qa-visual`; ordinary QA stays screenshot-free, while visual artifacts remain explicitly opt-in.
153
-
154
- Adoption preserves unrelated MCP servers, top-level MCP properties, rules, workflows, agents, and skills. Only the `mozole-cce` entry and Mozole-prefixed rule/workflow files are owned by Mozole. Existing MCP configuration is validated before project mutation and backed up under `.mozole/backups/` before a merge.
155
-
156
- Troubleshooting:
157
-
158
- ```sh
159
- mozole doctor # runtime and workspace integration
160
- agy # start Antigravity CLI when installed
161
- # inside Antigravity
162
- /mcp # inspect mozole-cce connectivity
163
- cce status # inspect the shared local index
164
- mozole adopt . # repair/update Mozole-owned workspace files
165
- ```
166
-
167
- Antigravity's documented CLI executable is `agy`; its absence is optional and does not block creation. Mozole does not add speculative Antigravity hooks or require plugin installation because workspace MCP, rules, and workflows provide the needed integration directly.
168
-
169
- ## Token governor
170
-
171
- The generated harness adds a local, advisory governor around CCE and Mozole's concise runners for Codex, Claude Code, and Antigravity:
172
-
173
- - `.mozole/state/governor.json` stores disposable verification, QA, visual-artifact, read, and command fingerprints. It never stores source contents, command text, transcripts, or secrets.
174
- - `.codex/hooks.json` and `.claude/settings.json` use documented `PreToolUse` command hooks to warn once about identical unchanged reads or commands. They return context only and never deny or rewrite a tool call.
175
- - Codex requires review and trust for project hooks; inspect them with `/hooks`. See the official [Codex hooks reference](https://developers.openai.com/codex/hooks).
176
- - Claude Code loads shared project hooks from `.claude/settings.json`. See the official [Claude Code hooks reference](https://code.claude.com/docs/en/hooks).
177
-
178
- The policy is state-aware, not a generic call limit. Changed files reset read evidence, relevant project mutations reset command evidence, and `--force` remains an explicit escape hatch. Completion guidance asks agents to stop only when requested changes, deterministic verification, relevant QA, and known-issue resolution provide strong evidence.
179
-
180
- Verbose subprocess output remains available progressively:
181
-
182
- ```sh
183
- mozole logs # list retained logs
184
- mozole logs verify-tests # final 80 lines
185
- mozole logs verify-tests --raw
186
- ```
187
-
188
- ## Efficiency telemetry
189
-
190
- ```sh
87
+ mozole new <name> [--backend] [--cce-install] [--verbose]
88
+ mozole adopt <path> [--cce-install] [--verbose]
89
+ mozole doctor
90
+ mozole verify [--force]
91
+ mozole qa [--interactive | --visual [--diff]] [--force]
92
+ mozole logs [name] [--raw]
93
+ mozole cce install
191
94
  mozole stats
95
+ mozole ui
192
96
  ```
193
97
 
194
- Telemetry is local in `.mozole/telemetry.json`. Mozole records verification raw/delivered/suppressed character counts, avoided verification and QA runs, saved browser launches, reused visual artifacts, repeated-read/work warnings, QA probes, and screenshots. If a local CCE installation has savings data, selected measured CCE lines are shown. Character reduction is labeled as output compression, not model tokens, billing, or OpenAI/Anthropic savings.
195
-
196
- ## PHP compatibility
98
+ `doctor` checks runtime, project tooling, and optional PHP syntax. CCE probes are omitted for plain projects. `mozole verify` and `mozole qa` can also operate on plain project metadata without reading or writing optimization state. `stats` reports that statistics are disabled in plain projects. Standalone project QA supports normal, interactive, and visual modes; pixel diffing remains in the optional CLI QA runner.
197
99
 
198
- The frontend build is ordinary static output, so `build/client/` can live next to `backend/`, `composer.json`, or existing PHP entry points. Mozole does not install or require PHP. The verifier list is ecosystem-neutral, allowing PHP checks to be added without changing the TypeScript pipeline. CCE can continue indexing the combined repository where its installed grammar set supports the source language.
199
-
200
- ## Windows and Linux
201
-
202
- All filesystem work uses Node path/fs APIs. Child processes receive structured argument arrays with `shell: false`; Windows uses `.cmd` executable resolution and `taskkill /T`, while POSIX systems use process groups. Paths are never interpolated into shell commands. CI runs lint, strict typecheck, unit/integration tests, compilation, a real project generation, static-route assertions, and screenshot-free browser QA on native Windows and Ubuntu runners.
203
-
204
- ## Development and release
100
+ ## Development
205
101
 
206
102
  ```sh
207
103
  npm ci
@@ -211,4 +107,6 @@ npm run test:smoke
211
107
  npm pack --dry-run
212
108
  ```
213
109
 
214
- The suite covers path normalization, Windows executable resolution, structured process execution, config discovery, output filtering, telemetry defaults, QA port conflicts, transactional generation, conservative/idempotent adoption, generated-project verification, static prerender output, and the normal-QA screenshot invariant. Update the matrix centrally in `src/version.ts`, run the full native CI matrix, inspect the packed files, then publish with npm provenance according to the release environment.
110
+ The CI matrix runs on native Windows and Ubuntu with PHP. It covers real PHP routing, method handling, syntax failures, deployment replacement and rollback, default scaffold isolation, agent-file wiring, conservative adoption, and generated frontend/PHP/optimized projects. The optimized smoke scenario skips CCE initialization; live CCE installation is covered separately with runtime fixtures.
111
+
112
+ Subprocesses use argument arrays and `shell: false`. Persisted configuration, state, and telemetry use temporary files and atomic replacement. Dependency versions are pinned centrally in `src/version.ts`.
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAeA,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAOT;AAqCD,wBAAsB,IAAI,CACxB,IAAI,WAAwB,EAC5B,GAAG,SAAgB,GAClB,OAAO,CAAC,MAAM,CAAC,CA0IjB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAeA,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAOT;AAqCD,wBAAsB,IAAI,CACxB,IAAI,WAAwB,EAC5B,GAAG,SAAgB,GAClB,OAAO,CAAC,MAAM,CAAC,CAiJjB"}
package/dist/cli.js CHANGED
@@ -26,7 +26,7 @@ const help = `mozole ${CLI_VERSION}
26
26
 
27
27
  Usage:
28
28
  mozole new <name> [--backend] [--cce-install] [--verbose]
29
- mozole adopt <path> [--verbose]
29
+ mozole adopt <path> [--cce-install] [--verbose]
30
30
  mozole cce install [--verbose]
31
31
  mozole doctor [--verbose]
32
32
  mozole verify [--force] [--verbose]
@@ -73,12 +73,15 @@ export async function main(args = process.argv.slice(2), cwd = process.cwd()) {
73
73
  });
74
74
  }
75
75
  if (command === "adopt") {
76
- const { positional, unknown, verbose } = parseCliArgs([value, ...rest]);
76
+ const { positional, unknown, verbose, flags } = parseCliArgs([value, ...rest], ["--cce-install", "--install-cce"]);
77
77
  if (unknown.length || positional.length > 1) {
78
78
  console.error(`Unknown option: ${unknown[0] ?? positional[1]}`);
79
79
  return 2;
80
80
  }
81
- return adoptCommand(positional[0], cwd, console, { verbose });
81
+ return adoptCommand(positional[0], cwd, console, {
82
+ verbose,
83
+ cceInstall: flags.includes("--cce-install") || flags.includes("--install-cce"),
84
+ });
82
85
  }
83
86
  if (command === "cce") {
84
87
  const { positional, unknown, verbose } = parseCliArgs([value, ...rest]);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { Output } from "../output.js";
2
2
  import { type ProgressState } from "../progress.js";
3
- export declare function detectRoutes(source: string): string[];
3
+ export { detectRoutes } from "../scaffold/routes.js";
4
4
  export declare function adoptCommand(input: string | undefined, cwd: string, output?: Output, options?: {
5
+ cceInstall?: boolean | undefined;
5
6
  verbose?: boolean | undefined;
6
7
  onProgress?: ((state: ProgressState) => void) | undefined;
7
8
  }): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAoFlE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;AAwID,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CAqTjB"}
1
+ {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAgGlE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AA+JrD,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CA0XjB"}