@neocompose/cli 0.75.0 → 0.75.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.
- package/CHANGELOG.md +11 -0
- package/README.md +28 -0
- package/dist/neo.mjs +612 -577
- package/dist/test-worker.mjs +138 -171
- package/package.json +5 -2
- package/skills/neocompose-cli/SKILL.md +12 -1
- package/skills/neocompose-cli/references/cli-development.md +15 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neocompose/cli",
|
|
3
|
-
"version": "0.75.
|
|
3
|
+
"version": "0.75.1",
|
|
4
4
|
"description": "Neo Compose native project-source CLI with bidirectional sync.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@inquirer/prompts": "^8.7.3",
|
|
38
38
|
"convex": "^1.46.0",
|
|
39
|
+
"editorconfig": "^3.0.2",
|
|
39
40
|
"fflate": "^0.8.3",
|
|
40
41
|
"ignore": "^7.0.12",
|
|
41
42
|
"valibot": "^1.5.0"
|
|
@@ -46,7 +47,9 @@
|
|
|
46
47
|
"@neocompose/neoscript-language": "file:../packages/neoscript-language",
|
|
47
48
|
"esbuild": "^0.28.2",
|
|
48
49
|
"prettier": "^3.9.9",
|
|
49
|
-
"uuid": "^14.0.2"
|
|
50
|
+
"uuid": "^14.0.2",
|
|
51
|
+
"@neocompose/models": "file:../packages/models",
|
|
52
|
+
"@neocompose/neoscript-runtime": "file:../packages/neoscript-runtime"
|
|
50
53
|
},
|
|
51
54
|
"repository": {
|
|
52
55
|
"type": "git",
|
|
@@ -9,7 +9,7 @@ description: >-
|
|
|
9
9
|
`@neocompose/cli` or `node cli/bin/neo.mjs` in the neo-compose repository.
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
<!-- reviewed-through-cli: 0.75.
|
|
12
|
+
<!-- reviewed-through-cli: 0.75.1 -->
|
|
13
13
|
|
|
14
14
|
# Neo Compose CLI
|
|
15
15
|
|
|
@@ -299,3 +299,14 @@ Before a real push, report the files changed, the relevant `neo diff`, dialogue
|
|
|
299
299
|
dry-run results when applicable, and `neo push --dry-run`. Do not claim success
|
|
300
300
|
from parsing alone when construction, reference membership, runtime ownership,
|
|
301
301
|
or server verification is involved.
|
|
302
|
+
|
|
303
|
+
## Formatting
|
|
304
|
+
|
|
305
|
+
The CLI and VS Code extension share NeoScript formatting and read `.editorconfig`
|
|
306
|
+
for `.neo` and `.neoflow` files. Set `indent_style`, `indent_size`, `end_of_line`,
|
|
307
|
+
and `insert_final_newline` there to keep regenerated source consistent with your
|
|
308
|
+
editor. Defaults are two spaces, LF, and a final newline. Push preserves authored
|
|
309
|
+
text when regeneration has the same tokens; pull preserves semantically unchanged
|
|
310
|
+
files. Formatting-only body or source-location changes do not create a subsequent
|
|
311
|
+
push; real code and string-content edits still do. Formatting preferences belong
|
|
312
|
+
to the checkout, not stored script bodies.
|
|
@@ -76,10 +76,17 @@ NeoScript compilation in the browser-safe `@neocompose/neoscript-language`
|
|
|
76
76
|
service. Monaco, VS Code, CLI, trusted server, and corpus tooling must consume
|
|
77
77
|
that shared implementation. Do not add language intelligence to one adapter.
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
Resolve disk formatting through the Node-only `node-format-options` entrypoint
|
|
80
|
+
and `.editorconfig`; keep filesystem configuration out of browser imports.
|
|
81
|
+
Format regenerated source before compiling it so cached source ranges match
|
|
82
|
+
the written files. Preserve authored source when a push changes no source tokens.
|
|
83
|
+
|
|
84
|
+
Keep evaluation in `@neocompose/neoscript-runtime` and shared schema/value
|
|
85
|
+
contracts in `@neocompose/models`. Models depend on language and manifest;
|
|
86
|
+
runtime depends on those packages. App context projection, database adapters,
|
|
87
|
+
and reactive hosts remain in the app. Packages must not import host code.
|
|
88
|
+
Boundary and import-cycle checks run with `npm run lint:architecture`;
|
|
89
|
+
`npm run test:runtime-package` checks a standalone custom database host.
|
|
83
90
|
|
|
84
91
|
Keep project context refreshable without accumulating stale Monaco providers or
|
|
85
92
|
LSP state. Preserve diagnostics, completion, hover, signatures, definition,
|
|
@@ -97,8 +104,9 @@ forking it in the CLI. The server still verifies a push's uploaded
|
|
|
97
104
|
project-file bytes, and web editor commits use the shared client preparation protocol.
|
|
98
105
|
Unrelated source files are not uploaded or recompiled on every push.
|
|
99
106
|
Optional source maps missing from valid stored bodies do not request a backfill.
|
|
100
|
-
|
|
101
|
-
|
|
107
|
+
Formatting-only source location changes do not create pushes, including when
|
|
108
|
+
other records change. Evaluation maps the current local layout; authored edits,
|
|
109
|
+
dependency changes, and explicit forced recompilation retain their normal compile scope. A CLI lowering mismatch on a normal push is exposed by the next
|
|
102
110
|
canonical pull; `neo push --dry-run` remains the complete source-to-record
|
|
103
111
|
rehearsal.
|
|
104
112
|
|
|
@@ -118,7 +126,7 @@ wrappers.
|
|
|
118
126
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
119
127
|
|
|
120
128
|
```html
|
|
121
|
-
<!-- reviewed-through-cli: 0.75.
|
|
129
|
+
<!-- reviewed-through-cli: 0.75.1 -->
|
|
122
130
|
```
|
|
123
131
|
|
|
124
132
|
The quoted version above is checked too, so this instruction cannot go stale
|