@neocompose/cli 0.25.2 → 0.26.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 +24 -0
- package/README.md +30 -30
- package/dist/neo.mjs +10175 -11891
- package/package.json +1 -1
- package/skills/neocompose-cli/SKILL.md +4 -3
- package/skills/neocompose-cli/references/animation-and-world-authoring.md +2 -2
- package/skills/neocompose-cli/references/cli-development.md +1 -1
- package/skills/neocompose-cli/references/commands-and-sync.md +16 -30
- package/skills/neocompose-cli/references/neoscript.md +2 -3
- package/skills/neocompose-cli/references/values-identities-and-references.md +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.26.1] - 2026-08-10
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Preserve concrete generic bindings while replaying nested constructors in class initializers, including generic entries inside inherited collection defaults. `neo status` and push preparation no longer reject a closed `NeoAnimationSegmentFrame<T>` as an open generic or report unchanged construction arguments as conflicting.
|
|
8
|
+
- Treat assignment to a single-value Lookup as a write to its owning selection row, while continuing to enforce the referenced collection's storage on writes through the selected value. Save-backed selections can now point at Immutable catalog entries without becoming immutable themselves.
|
|
9
|
+
- Rewrite reconstructed interface-member symbols through their interface owner's verified pending id instead of trying to assign the composite compiler symbol its own record id.
|
|
10
|
+
- Accept a constrained open generic member as a covariant implementation of a get-only interface property while continuing to reject that unsafe substitution for settable properties.
|
|
11
|
+
|
|
12
|
+
## [0.26.0] - 2026-08-09
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Add `neo --version`, backed by the CLI package version embedded at build time.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Make tracked `.neo`, `.neoflow`, and managed binary source the only CLI authoring path before `neo push`. Remove the redundant `class new`, `value new`, `files`, `values`, and `records` commands; remove every `dialogue` subcommand except `dryrun`; and remove `script apply`, including its direct server commit mode. Localization commands remain available because source carries only main-locale strings.
|
|
21
|
+
- Print every top-level help command on its own row and include the previously omitted Unity export command.
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- Allow an optional class member to store explicit `null` without invoking the class's required constructor. Required constructors are now enforced only when lowering a non-null class instance.
|
|
26
|
+
|
|
3
27
|
## [0.25.2] - 2026-08-09
|
|
4
28
|
|
|
5
29
|
### Added
|
package/README.md
CHANGED
|
@@ -350,14 +350,7 @@ semantic diff plus a deterministic source hash; `neo push --dry-run` performs
|
|
|
350
350
|
the complete source-to-record rehearsal. Client AST, compiled IR, placement
|
|
351
351
|
stamps, and derived links are not trusted.
|
|
352
352
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
```sh
|
|
356
|
-
neo class new InventoryItem --abstract
|
|
357
|
-
neo value new Outpost --member Assets.Capitol --into root.Assets.Outposts
|
|
358
|
-
neo files add Files/Images/Sword.png --template PixelArt
|
|
359
|
-
neo dialogue new CapitolColdBoot --primary Outpost=Assets.Capitol --group CapitolDialogues
|
|
360
|
-
```
|
|
353
|
+
Create classes, stored values, file declarations, and dialogues by editing their tracked `.neo` or `.neoflow` source directly. Add managed binaries under `Files/Images/` or `Files/AudioClips/`; `neo push` discovers and stages them with the source transaction. The CLI intentionally has no parallel scaffold or low-level content-write commands.
|
|
361
354
|
|
|
362
355
|
## NeoScript unit tests
|
|
363
356
|
|
|
@@ -413,28 +406,35 @@ authorization boundary.
|
|
|
413
406
|
|
|
414
407
|
## Commands
|
|
415
408
|
|
|
416
|
-
| Command
|
|
417
|
-
|
|
|
418
|
-
| `
|
|
419
|
-
| `
|
|
420
|
-
| `
|
|
421
|
-
| `
|
|
422
|
-
| `
|
|
423
|
-
| `
|
|
424
|
-
| `
|
|
425
|
-
| `
|
|
426
|
-
| `
|
|
427
|
-
| `
|
|
428
|
-
| `
|
|
429
|
-
| `
|
|
430
|
-
| `
|
|
431
|
-
| `
|
|
432
|
-
| `
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
409
|
+
| Command | Purpose |
|
|
410
|
+
| ----------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
411
|
+
| `--version` | Print the installed CLI package version. |
|
|
412
|
+
| `login` | Authenticate the selected profile. |
|
|
413
|
+
| `whoami` | Inspect the selected profile. |
|
|
414
|
+
| `init --project <id> [--version <id>]` | Create a format-4 working copy and perform its first reset pull. |
|
|
415
|
+
| `doctor` | Validate format/compiler/editor/source/file contracts; no .NET discovery. |
|
|
416
|
+
| `pull [--force\|--reset] [--regenerate-source-names]` | Merge remote changes or regenerate canonical source, names, and binaries. |
|
|
417
|
+
| `status [--json]` | Compile source and summarize semantic records and upload intent. |
|
|
418
|
+
| `diff [--json]` | Show semantic records, spans, digests, and upload intent. |
|
|
419
|
+
| `push [--dry-run] [--accept-bump] [--no-verify]` | Validate or commit one atomic compare-and-swap transaction. |
|
|
420
|
+
| `test [file-or-dir ...] [-t pattern]` | Compile the unpushed local candidate and run `*.spec.neo` tests. |
|
|
421
|
+
| `dev [--push]` | Watch remote/local changes; pushing remains opt-in. |
|
|
422
|
+
| `resolve --mine\|--theirs` | Resolve all current source/binary conflicts with one side. |
|
|
423
|
+
| `script check\|compile\|eval` | Compile or preview NeoScript with project context; never commit writes. |
|
|
424
|
+
| `dialogue dryrun <ref>` | Simulate a locally authored dialogue candidate. |
|
|
425
|
+
| `loc` | Inspect or edit localization data not represented in main-locale source. |
|
|
426
|
+
| `migrate new\|list\|check\|run\|prune` | Author and manage tracked NeoScript migrations. |
|
|
427
|
+
| `branch` | Manage copy-on-write branches. |
|
|
428
|
+
| `merge` | Merge branch changes. |
|
|
429
|
+
| `release` | Cut, publish, archive, or restore releases. |
|
|
430
|
+
| `channel` | Manage release channels. |
|
|
431
|
+
| `history` | Inspect and deliberately rewrite retained history. |
|
|
432
|
+
| `export unity` | Export the runtime Unity projection. |
|
|
433
|
+
|
|
434
|
+
With the deliberate exception of `neo loc`, content authoring goes through
|
|
435
|
+
tracked native source and `neo push`. Localization commands can mutate
|
|
436
|
+
authoritative localization records that `.neo` does not fully represent; run
|
|
437
|
+
`neo pull` immediately afterward before further source edits or push.
|
|
438
438
|
|
|
439
439
|
Tokens use the OS credential store when available and a protected local file
|
|
440
440
|
only as fallback. CI can use `NEO_COMPOSE_TOKEN` or `--token-stdin`. The
|