@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 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
- Optional scaffolds edit pending local source and never push:
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 | Purpose |
417
- | -------------------------------------------------------- | ---------------------------------------------------------------------------- |
418
- | `login` / `whoami` | Authenticate and inspect the selected profile. |
419
- | `init --project <id> [--version <id>]` | Create a format-4 working copy and perform its first reset pull. |
420
- | `doctor` | Validate format/compiler/editor/source/file contracts; no .NET discovery. |
421
- | `pull [--force\|--reset] [--regenerate-source-names]` | Merge remote changes or regenerate canonical source, names, and binaries. |
422
- | `status [--json]` / `diff [--json]` | Compile source and show semantic records, spans, digests, and upload intent. |
423
- | `push [--dry-run] [--accept-bump] [--no-verify]` | Validate or commit one atomic compare-and-swap transaction. |
424
- | `test [file-or-dir ...] [-t pattern]` | Compile the unpushed local candidate and run `*.spec.neo` tests. |
425
- | `dev [--push]` | Watch remote/local changes; pushing remains opt-in. |
426
- | `resolve --mine\|--theirs` | Resolve all current source/binary conflicts with one side. |
427
- | `class new` / `value new` / `files add` / `dialogue new` | Create pending native source scaffolds. |
428
- | `script check\|compile\|eval\|apply` | Compile or preview NeoScript with project context. |
429
- | `migrate new\|list\|check\|run\|prune` | Author and manage tracked NeoScript migrations. |
430
- | `branch` / `merge` / `release` / `channel` / `history` | Manage branches, releases, channels, and retained history. |
431
- | `records` / `values` / `loc` / `dialogue` / `files` | Low-level content and repair operations. |
432
- | `export unity` | Export the runtime Unity projection. |
433
-
434
- Low-level write commands mutate the same authoritative records as the web
435
- editor. They are useful for repair and automation, but do not edit checked-in
436
- source; run `neo pull` immediately afterward. Whole-dialogue JSON
437
- export/apply is not a source format and is not available.
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