Skip to content

packages CLI: add local Packages and list installed state #298

Closed

Description

@Mathih13

This was generated by AI during triage.

Agent Brief

Category: enhancement
Summary: Add the local-folder installation tracer and the installed Package inventory.

Current behavior:
Core discovers enabled Package folders at build time, but the CLI cannot install a local Package, record its source, or list enabled and disabled Packages.

Desired behavior:
lyracore packages add <local-folder> copies the Package into the checkout. It never creates a symlink. Before copying, it validates the Package name and shape, checks enabled and disabled-name collisions, shows a confirmation prompt, and prints a best-effort trust review. The review reports explicit tables, reducers, hooks, Runtime Scripts, Datascripts, addons, and client overrides. It warns that trusted Rust may do more than the review can detect.

The install records the local Package Source and copied-content identity. It runs preflight after installation and prints the remaining publish and client sync steps without running them. lyracore packages list reports enabled state, Package Source, recorded revision or content identity, drift, and content kinds.

Key interfaces:

  • lyracore packages add <local-folder>
  • lyracore packages list
  • Package provenance stamp
  • Enabled Package inventory and disabled Package inventory

Acceptance criteria:

  • Adding a valid local Package copies it into the enabled Package directory and records its source.
  • Client-only and Rust-only Packages are accepted; when src/ exists, src/mod.rs is required.
  • Invalid names and enabled or disabled-name collisions fail before copying.
  • The trust review is deterministic and labels unclassified Rust as trusted code, not as a security guarantee.
  • A failed preflight leaves a precise recovery message and does not publish.
  • packages list distinguishes enabled, disabled, clean, and locally drifted Packages.

Out of scope:

  • Git URL sources
  • Official Package lookup
  • Enabling, disabling, removing, or updating Packages

Activity

  1. added
    enhancementNew feature or request
    P2normal
    ready-for-agentComplete enough to build from the issue alone, by a person or their agent
    on Aug 24, 2026
  2. Mathih13 commented on Aug 24, 2026

    @Mathih13
    ContributorAuthor

    Implemented across two stacked PRs:

    Merge order: lyracore-cli #31, #32, #33; then LyraCore #321, #322, #325.

    Not closed automatically: preflight is red in the checkout for an unrelated pre-existing reason (check 4 flags importer/scripts/import-world.sh), so the green tail of packages add — where it prints the remaining publish and client sync steps — was covered by a unit test rather than seen end to end. Everything else in the acceptance criteria was verified from the checkout; see #325 for the run.

  3. Mathih13 commented on Aug 31, 2026

    @Mathih13
    ContributorAuthor

    This was generated by AI during triage.

    Verified shipped, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2normalenhancementNew feature or requestready-for-agentComplete enough to build from the issue alone, by a person or their agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions