@neocompose/cli 0.24.8 → 0.25.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
|
@@ -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.
|
|
12
|
+
<!-- reviewed-through-cli: 0.25.0 -->
|
|
13
13
|
|
|
14
14
|
# Neo Compose CLI
|
|
15
15
|
|
|
@@ -30,6 +30,9 @@ Those are not part of format 4.
|
|
|
30
30
|
existed before the task began.
|
|
31
31
|
4. Run `neo test` after NeoScript changes and `neo dialogue dryrun <ref>` after
|
|
32
32
|
dialogue changes.
|
|
33
|
+
`neo test` compiles the complete pending candidate, including idless nested
|
|
34
|
+
construction rows, so tests must work before the first push; do not add IDs
|
|
35
|
+
or push merely to obtain compiled initializer bodies.
|
|
33
36
|
5. Run `neo push --dry-run` before every real push. It performs the full local
|
|
34
37
|
source emission, ID-assignment, transport-shape, hash, and repeat-verification path,
|
|
35
38
|
then rehearses the server's preparation phase — schema-commit
|
|
@@ -82,7 +82,7 @@ wrappers.
|
|
|
82
82
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
83
83
|
|
|
84
84
|
```html
|
|
85
|
-
<!-- reviewed-through-cli: 0.
|
|
85
|
+
<!-- reviewed-through-cli: 0.25.0 -->
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
The quoted version above is checked too, so this instruction cannot go stale
|
|
@@ -92,6 +92,20 @@ entry and its declared type is the entry type; `public Set<Config> Configs`
|
|
|
92
92
|
selects several. An initializer body for a single-select lookup returns one
|
|
93
93
|
entry, never a set.
|
|
94
94
|
|
|
95
|
+
Declare a multicast event as `NeoAction<…>`. Its value is an ordered listener
|
|
96
|
+
set, so give it a bracketed list of method groups — never a lambda, and never
|
|
97
|
+
a bare method group — and never mark it `required`: the rest state is the
|
|
98
|
+
empty set.
|
|
99
|
+
|
|
100
|
+
```neo
|
|
101
|
+
public NeoAction<int> OnDamaged = [PlayHitFlash, ApplyDamage];
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Subscribe and unsubscribe with `+=` and `-=` against the member reference
|
|
105
|
+
itself; both are durable writes deduplicated by target identity, so
|
|
106
|
+
re-running a subscription cannot double-subscribe. Invoke it as a statement —
|
|
107
|
+
an action is never a value, never a return type, and never assigned with `=`.
|
|
108
|
+
|
|
95
109
|
Keep generic project relations as typed top-level declarations in
|
|
96
110
|
`Relations.neo`. Let the compiler derive identities for owned descriptors and
|
|
97
111
|
concrete generic bindings.
|