@neocompose/cli 0.23.2 → 0.24.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neocompose/cli",
3
- "version": "0.23.2",
3
+ "version": "0.24.0",
4
4
  "description": "Neo Compose native project-source CLI with bidirectional sync.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,7 +35,8 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@inquirer/prompts": "^8.5.2",
38
- "convex": "^1.40.0"
38
+ "convex": "^1.40.0",
39
+ "ignore": "^7.0.6"
39
40
  },
40
41
  "devDependencies": {
41
42
  "esbuild": "^0.28.1",
@@ -2,14 +2,14 @@
2
2
  name: neocompose-cli
3
3
  description: >-
4
4
  Edit, validate, and synchronize Neo Compose format-4 projects with the `neo`
5
- CLI. Use when working in a `neo/` checkout or with `.neo`/`.neoflow` source:
5
+ CLI. Use when working in a `neo/` checkout or with `.neo`/`.neoflow`/`.spec.neo` source:
6
6
  schema declarations, constructors, values and references, world objects and
7
7
  animation, dialogue, NeoScript, localization, migrations, managed image or
8
8
  audio files, branches and releases, or batch repair. Run `neo` from
9
9
  `@neocompose/cli` or `node cli/bin/neo.mjs` in the neo-compose repository.
10
10
  ---
11
11
 
12
- <!-- reviewed-through-cli: 0.23.2 -->
12
+ <!-- reviewed-through-cli: 0.24.0 -->
13
13
 
14
14
  # Neo Compose CLI
15
15
 
@@ -24,11 +24,12 @@ Those are not part of format 4.
24
24
  ## Follow the safe workflow
25
25
 
26
26
  1. Run `neo pull` before editing. Pull again before pushing if time has passed.
27
- 2. Edit tracked `.neo`, `.neoflow`, and managed binary files only. Never edit
27
+ 2. Edit tracked `.neo`, `.neoflow`, `.spec.neo`, and managed binary files only. Never edit
28
28
  `.neo/state.json`, analysis caches, or `.neo/conflicts` as source.
29
29
  3. Run `neo status` and `neo diff`. Review every change, including changes that
30
30
  existed before the task began.
31
- 4. Run `neo dialogue dryrun <ref>` after dialogue changes.
31
+ 4. Run `neo test` after NeoScript changes and `neo dialogue dryrun <ref>` after
32
+ dialogue changes.
32
33
  5. Run `neo push --dry-run` before every real push. It performs the full local
33
34
  source emission, ID-assignment, transport-shape, hash, and repeat-verification path,
34
35
  then rehearses the server's preparation phase — schema-commit
@@ -100,10 +101,13 @@ neo/
100
101
  DialogueGroups/
101
102
  Dialogues/*.neoflow
102
103
  Migrations/*.neo
104
+ **/*.spec.neo
103
105
  .neo/{state.json,conflicts/}
104
106
  ```
105
107
 
106
- All non-hidden `.neo`, `.neoflow`, and supported managed binaries are tracked.
108
+ Production `.neo`/`.neoflow` files and supported managed binaries are tracked.
109
+ Colocated `.spec.neo` files are test-only and never enter status, source hashes,
110
+ pull/reset, or push.
107
111
  Normal pull preserves declaration placement and spelling by stable ID when it
108
112
  can. Force/reset may regroup source into the canonical layout.
109
113
 
@@ -41,8 +41,10 @@ Read the relevant specs in full:
41
41
  - [P50 loops](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p50-neoscript-for-and-foreach-loops.md)
42
42
  - [P51 switch](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p51-neoscript-switch-statements.md)
43
43
  - [P52 try/catch](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p52-neoscript-try-catch-blocks.md)
44
+ - [P64 NeoScript unit testing and push hooks](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p64-neoscript-unit-testing-and-push-hooks.md)
44
45
 
45
- P38–P44 and P47–P51 are implemented. P45 remains deliberately deferred; do not
46
+ P38–P44, P47–P52, and the initial P64 test/push-hook vertical slice are
47
+ implemented. P45 remains deliberately deferred; do not
46
48
  build or teach runtime-child provenance. P46 is a hardening proposal, not an
47
49
  authoring capability. P52's document header still says proposed, but try/catch
48
50
  shipped in CLI 0.18; implementation and parity tests take precedence over that
@@ -78,7 +80,7 @@ wrappers.
78
80
  The marker near the top of `SKILL.md` must exactly match the package version:
79
81
 
80
82
  ```html
81
- <!-- reviewed-through-cli: 0.23.2 -->
83
+ <!-- reviewed-through-cli: 0.24.0 -->
82
84
  ```
83
85
 
84
86
  The quoted version above is checked too, so this instruction cannot go stale