Skip to content

CLI

The Seamless Auth CLI is published as seamless-cli and exposes the seamless binary. It is the entry point for scaffolding a local Seamless Auth project, checking the generated stack, creating the first admin bootstrap invite, and verifying auth conformance across the ecosystem.

Current commands cover:

  • scaffold a React + Express Seamless Auth project
  • configure the auth server in Docker or local-source mode
  • optionally include the admin dashboard
  • validate generated config, Docker Compose, containers, and local health endpoints
  • bootstrap the first admin user
  • verify the full auth surface with the seamless verify conformance harness

The current ../seamless-cli source does not ship deploy, destroy, or contribute commands.


seamless-cli package
-> seamless binary
-> init local project
-> check local runtime
-> bootstrap first admin

No global install is required. Use the package through npx:

Terminal window
npx seamless-cli --help

If installed globally or linked locally, run the binary directly:

Terminal window
seamless --help

The package is named seamless-cli; the executable command is seamless.


Terminal window
npx seamless-cli init my-app

Or use the shortcut:

Terminal window
npx seamless-cli my-app

Creates a new Seamless Auth project. The generated project includes a React frontend, an Express API, Docker Compose wiring, seamless.config.json, and either a Docker-based auth server or local auth server source depending on your prompt choices.


Terminal window
npx seamless-cli check

Validates the generated project shape and local runtime:

  • seamless.config.json
  • configured web and API paths
  • Docker availability
  • docker-compose.yml
  • expected running containers
  • API, auth, and admin health endpoints on local ports

This command checks the local generated stack. It does not currently check Terraform, AWS CLI, or deployment state.


Terminal window
npx seamless-cli bootstrap-admin admin@example.com

Creates a bootstrap admin invite for the first admin user.

The CLI resolves the bootstrap secret from local project files before prompting manually. It sends the request through the backend adapter at /auth/internal/bootstrap/admin-invite.


Terminal window
seamless verify
seamless verify --local

Runs the cross-package auth conformance harness: it stands up the ecosystem with Docker Compose and runs a Playwright matrix across the api, adapter, and React (browser) layers, then prints a flow x layer pass/fail grid. Use --local to build the @seamless-auth/* packages from local source (pre-publish contract testing); the default tests the published packages. See the CLI command reference for all flags and environment overrides.


If no command is provided, the CLI prints help.

This is valid:

Terminal window
npx seamless-cli my-app

It is treated as:

Terminal window
npx seamless-cli init my-app

The same behavior applies to the binary:

Terminal window
seamless my-app

The CLI will:

  1. Ask configuration questions
  2. Generate the React web starter
  3. Generate the Express API starter
  4. Configure the auth server in Docker or local-source mode
  5. Optionally include the admin dashboard
  6. Generate Docker Compose and local config

web/
api/
auth/ # only in local auth mode
admin/ # only in admin source mode
docker-compose.yml
seamless.config.json
README.md

The CLI is built to be:

  • opinionated: secure defaults and a known project shape
  • guided: interactive prompts for local stack generation
  • explicit: generated config and service wiring are visible in the project
  • local-first: the current source focuses on a repeatable development stack

The CLI still does not provide a polished “attach Seamless Auth to an existing application” flow.

Deployment automation is not part of the current seamless-cli command surface. Keep deployment docs status-based until deployment commands ship again in source.


Continue to CLI Init Deep Dive.