@starcier/create-builder
Creates a Starcier prototype builder for a client in one command: it registers the client's
tenant with the Starcier API, then writes a repository with a starter design system, an example
prototype, and the authoring tooling for coding agents. Comments, guided tours and sharing come
from the @starcier/* packages, installed as dependencies.
Creating the tenant needs a Starcier staff account. Anyone can create the files alone with
--offline.
Use
npm create @starcier/builder@next
It asks for the client's name, the tenant slug (suggested from the name) and the folder, then
signs you in through your browser and creates the tenant. Pass anything up front as options,
after --:
npm create @starcier/builder@next acme-builder -- --name "Acme" --slug acme
Until 1.0.0 is released, use @next as above.
Connection settings
These do not change between clients, so they are built in and you never type them. Override one only to point somewhere else, such as a local API, with an option or an environment variable:
| Variable | Option | What |
|---|---|---|
STARCIER_API_URL | --api-url | The API's origin |
STARCIER_AUTH0_DOMAIN | --auth0-domain | The Auth0 tenant's domain |
STARCIER_AUTH0_AUDIENCE | --auth0-audience | The API's audience |
STARCIER_AUTH0_CLIENT_ID | --auth0-client-id | The builders' single-page application, written into the builder's .env |
STARCIER_AUTH0_CLI_CLIENT_ID | --cli-client-id | The native application this command signs in with |
STARCIER_TOKEN | --token | An API access token, used instead of signing in |
The built-in values point at production. Only STARCIER_API_URL differs between the environments —
dev and production share one Auth0 tenant and one application — so a builder against dev is made by
overriding that one variable.
Signing in. The command opens your browser and asks you to confirm a code. Pass --token
instead, with an access token copied from the Starcier platform, where no browser can be opened.
What it guarantees
- Nothing half-created. The files are prepared aside and moved into place only after the tenant exists. If the tenant cannot be created — not staff, slug taken, API unreachable — no folder is left behind.
- A taken slug is never altered. You are asked for another one; without a terminal, the command stops.
- The tenant is the client's identity, not their domain. The builder's address is set later, once it is deployed; the generated README explains the steps.
Options
Run npm create @starcier/builder@next -- --help for the full list.
License
MIT