Skip to content

feat: add seamless templates list --json for template discovery #150

Description

@Bccorb

Problem

There is no way to discover what seamless init can scaffold without reading source. The
registry lives in the seamless-templates monorepo and is fetched at scaffold time
(src/core/templates.ts); nothing surfaces its contents. To learn that
the React Vite starter is react-vite behind the flag --basic, or that the api layer has
express and fastify with no aliases at all, you have to open registry.json.

That makes the CLI hard to drive from a script or an agent, and it makes the alias mismatch
(next issue) invisible.

Change

Add a templates command:

seamless templates list [--json]
  • Table output: id, kind, framework, label, flag (the --<alias> form, blank when the
    template has no alias), status.
  • --json emits the registry entries as an array, for scripting parity with
    apps list --json.
  • Honors SEAMLESS_TEMPLATES_DIR and SEAMLESS_TEMPLATES_REF like init does, so it
    reports the same set that a scaffold would use.
  • coming-soon entries are listed and marked, matching how the prompts render them.
  • Add the command to COMMAND_HELP in src/commands/helpTopics.ts
    so it picks up --help and the dispatcher's known-command list.

Acceptance

  • seamless templates list prints every registry entry without a portal session.
  • seamless templates list --json output parses and contains id, kind, alias, and status.
  • Registry fetch failure produces the same actionable error init gives, not a stack trace.
  • Referenced from the init help in place of the "run an unknown flag" hint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions