You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
packages devx: lyracore packages verb family (add/list/update/enable/disable/remove/new) #90
Key behaviors: add resolves by shape (URL → clone, local path → COPY never symlink, else official-repo name lookup), validates the mechanical half (Rust-ident name, src/mod.rs, no collision), prints a trust summary (tables/reducers/hooks/client overrides) + confirm, runs preflight, drops a .lyracore-package.toml provenance stamp, then prints the golden-path remainder (lyracore publish + lyracore client sync iff client/). enable/disable move the folder between packages/<name> and .lyracore/packages-disabled/<name> (zero build.rs changes); disable predicts the durable-table publish abort (grep for #[table]) and warns on client-addon drift. remove refuses on uncommitted changes. new copies packages/example/.
Invariant to preserve: a package is enabled iff its folder sits in packages/. Verbs print next steps, never auto-publish.
Builds on the official packages monorepo (see the monorepo bootstrap issue) for name-install; URL/path install works without it.
Done when: on a dev checkout, lyracore packages add <local-path> → lyracore publish compiles the package into all fixture databases, disable + publish removes a table-less package cleanly, and disable of a package with a populated table prints the predicted operator-decision message instead of a bare publish failure.
Migrated 2026-08-11 from the private tracker (spacetime-core#498).
Category: enhancement Summary: Coordinate the Package CLI through its five agent-ready sub-issues.
Why this needs a human:
The parent spans the separate lyracore-cli repository, its pin in core, and several independently useful commands. The children are the implementation units; this parent owns integration and closure.
Current behavior:
There is no lyracore packages command family. Core only discovers enabled folders during its build.
Desired behavior:
Land local add/list (#298), Git sources (#299), lifecycle moves (#300), scaffolding (#301), and Official Package lookup (#302). Preserve the invariant that folder location alone decides whether a Package is enabled. Commands print next steps and never publish automatically.
Acceptance criteria:
Every child brief is complete and its CLI change is pinned into core.
All Package Sources share validation, provenance, and trust-review language.
Enabled state cannot drift from folder location.
The complete command family has integration coverage in a public checkout.
Closing in favor of the CLI breakdown: #298 (add local, list), #299 (Git sources, update), #300 (enable, disable, remove), #301 (scaffold), #302 (official name lookup). All five share the validation, trust-review, and provenance contract this issue asked for, and #300 enforces the folder-only enabled state. #298 is still open, so the verb family is not fully shipped yet, and the CLI pin into core is still pending as the usual single integration PR. Tracking now lives in those five issues.
Activity
Mathih13 commentedon Aug 24, 2026
Human Brief
Category: enhancement
Summary: Coordinate the Package CLI through its five agent-ready sub-issues.
Why this needs a human:
The parent spans the separate
lyracore-clirepository, its pin in core, and several independently useful commands. The children are the implementation units; this parent owns integration and closure.Current behavior:
There is no
lyracore packagescommand family. Core only discovers enabled folders during its build.Desired behavior:
Land local add/list (#298), Git sources (#299), lifecycle moves (#300), scaffolding (#301), and Official Package lookup (#302). Preserve the invariant that folder location alone decides whether a Package is enabled. Commands print next steps and never publish automatically.
Acceptance criteria:
Out of scope:
Mathih13 commentedon Aug 28, 2026
Closing in favor of the CLI breakdown: #298 (add local, list), #299 (Git sources, update), #300 (enable, disable, remove), #301 (scaffold), #302 (official name lookup). All five share the validation, trust-review, and provenance contract this issue asked for, and #300 enforces the folder-only enabled state. #298 is still open, so the verb family is not fully shipped yet, and the CLI pin into core is still pending as the usual single integration PR. Tracking now lives in those five issues.