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.
Problem
There is no way to discover what
seamless initcan scaffold without reading source. Theregistry lives in the
seamless-templatesmonorepo and is fetched at scaffold time(src/core/templates.ts); nothing surfaces its contents. To learn that
the React Vite starter is
react-vitebehind the flag--basic, or that the api layer hasexpressandfastifywith no aliases at all, you have to openregistry.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
templatescommand:--<alias>form, blank when thetemplate has no alias), status.
--jsonemits the registry entries as an array, for scripting parity withapps list --json.SEAMLESS_TEMPLATES_DIRandSEAMLESS_TEMPLATES_REFlikeinitdoes, so itreports the same set that a scaffold would use.
coming-soonentries are listed and marked, matching how the prompts render them.COMMAND_HELPin src/commands/helpTopics.tsso it picks up
--helpand the dispatcher's known-command list.Acceptance
seamless templates listprints every registry entry without a portal session.seamless templates list --jsonoutput parses and contains id, kind, alias, and status.initgives, not a stack trace.inithelp in place of the "run an unknown flag" hint.