diff --git a/.changeset/api-pin-and-next-steps.md b/.changeset/api-pin-and-next-steps.md deleted file mode 100644 index ee95ded..0000000 --- a/.changeset/api-pin-and-next-steps.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"seamless-cli": patch ---- - -Scaffold the auth server at v0.18.0, whose OTP and magic-link send routes are POST, as the Go, Rust and Python adapters and the current `@seamless-auth/client` send them. v0.18.0 still serves the deprecated GET routes, so projects on the Express and Fastify starters keep working. The next steps after `seamless init` now give each api starter its own command (`go run .`, `cargo run`, `uv run uvicorn ...`) instead of `npm install && npm run dev`. diff --git a/.changeset/init-root-agents-md.md b/.changeset/init-root-agents-md.md deleted file mode 100644 index d3dd738..0000000 --- a/.changeset/init-root-agents-md.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"seamless-cli": minor ---- - -`seamless init` now writes a root `AGENTS.md` and a `CLAUDE.md` (`See @AGENTS.md`) beside `docker-compose.yml` and `seamless.config.json`. The guide is built from the choices init made: the directory and template each starter came from (linking its own `AGENTS.md`), how the auth server runs, the admin console, the ports, how to start the stack, the owner email that becomes the first admin, and the rules for agents (use the SDK and adapter, never your own JWT, password, session cookie or login endpoint code), plus a link to https://docs.seamlessauth.com/llms.txt. diff --git a/.changeset/pin-templates-0-18.md b/.changeset/pin-templates-0-18.md deleted file mode 100644 index b10b431..0000000 --- a/.changeset/pin-templates-0-18.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'seamless-cli': patch ---- - -New projects scaffold the starters from `seamless-templates` `v0.18.0` (was `v0.17.0`). Every starter now ships an `AGENTS.md` and a `CLAUDE.md`, so the root guide `seamless init` writes links each starter's `AGENTS.md` instead of its README, and the Go (Gin), Rust (Axum) and Python (FastAPI) api starters are available as `beta`. diff --git a/.changeset/prompt-seamless-auth-naming.md b/.changeset/prompt-seamless-auth-naming.md deleted file mode 100644 index a45de79..0000000 --- a/.changeset/prompt-seamless-auth-naming.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"seamless-cli": patch ---- - -Spell the product name as "Seamless Auth" in the `init` auth server prompt, and describe the package as the CLI for Seamless Auth, open source passwordless auth. diff --git a/.changeset/seamless-add-go-rust-python.md b/.changeset/seamless-add-go-rust-python.md deleted file mode 100644 index 3b8f275..0000000 --- a/.changeset/seamless-add-go-rust-python.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"seamless-cli": minor ---- - -`seamless add` now wires Go (net/http, Gin, chi, Echo), Rust (Axum) and Python (FastAPI, Django) backends on the seamless-auth-go, seamless-auth crate and seamless-auth PyPI adapters. It reads go.mod, Cargo.toml, pyproject.toml or requirements.txt, installs with `go get`, `cargo add`, `uv add` or `poetry add` (printing the `pip install` for a plain pip project), says how the language loads `.env`, and prints the code for that framework, including the development-only code logging and the admin console mount. diff --git a/.changeset/seamless-add-web-frameworks.md b/.changeset/seamless-add-web-frameworks.md deleted file mode 100644 index 716d404..0000000 --- a/.changeset/seamless-add-web-frameworks.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"seamless-cli": minor ---- - -`seamless add` now wires Angular, Vue and SvelteKit web apps on the `@seamless-auth/angular`, `@seamless-auth/vue` and `@seamless-auth/svelte` bindings, alongside React. It installs the binding (and `vue-router` or `@angular/router` when the app has no router), writes `VITE_API_URL` for Vue and SvelteKit, and prints the code for each file: the provider or plugin, the bundled sign-in screens as routes, and guards for signed-in and signed-out pages. Angular, which does not read `.env`, gets the backend URL in the printed config. Nuxt and Svelte without SvelteKit are reported rather than wired. diff --git a/.changeset/seamless-add.md b/.changeset/seamless-add.md deleted file mode 100644 index 053bdee..0000000 --- a/.changeset/seamless-add.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"seamless-cli": minor ---- - -Add `seamless add`, which adds Seamless Auth to an existing Express or Fastify backend and React web app. It connects a local auth server (written to `seamless/`) or a managed application, writes the backend's `.env` and the web app's API URL while keeping existing values, installs the adapter and SDK with the project's package manager, and prints the code to add for TypeScript or JavaScript. It never edits source files. Commands now run without a shell outside Windows, which also stops Node 24's DEP0190 warning. diff --git a/.changeset/verify-angular-browser-layer.md b/.changeset/verify-angular-browser-layer.md deleted file mode 100644 index 11e2fe3..0000000 --- a/.changeset/verify-angular-browser-layer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'seamless-cli': minor ---- - -`seamless verify` now drives an Angular app through the same browser specs as the React template. The `angular` and `angular-dev` layers run the reference app in `verify/angular-app` on `@seamless-auth/angular` (production build, and `ng serve` with `--dev`), or an Angular web template once the registry has one. `SEAMLESS_ANGULAR_DIR` points the run at another Angular app, and `--local` installs the locally built `@seamless-auth/client` and `@seamless-auth/angular`. diff --git a/.changeset/verify-dev-warmup.md b/.changeset/verify-dev-warmup.md deleted file mode 100644 index 24fbbf3..0000000 --- a/.changeset/verify-dev-warmup.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'seamless-cli': patch ---- - -`seamless verify` now waits for each browser service's healthcheck before running its specs. The `vue-dev` and `svelte-dev` services compile their app at startup and report healthy only once a compiled module and the prebundled SDK are served, so a cold Vite dev server no longer makes the first browser spec time out on a slow runner. The production web services' healthchecks now probe 127.0.0.1, since nginx listens on IPv4 only and they never passed on `localhost`. A service that never becomes healthy fails its own layer, with its recent logs, and the run continues. diff --git a/.changeset/verify-svelte-browser-layer.md b/.changeset/verify-svelte-browser-layer.md deleted file mode 100644 index 4d6db51..0000000 --- a/.changeset/verify-svelte-browser-layer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'seamless-cli': minor ---- - -`seamless verify` now drives a SvelteKit app through the same browser specs as the React template. The `svelte` and `svelte-dev` layers run the reference app in `verify/svelte-app` on `@seamless-auth/svelte` (SvelteKit 3 as a single-page app, as a production build and on `vite dev` with `--dev`), or a Svelte web template once the registry has one. `SEAMLESS_SVELTE_DIR` points the run at another Svelte app, and `--local` installs the locally built `@seamless-auth/client` and `@seamless-auth/svelte`. diff --git a/.changeset/verify-vue-browser-layer.md b/.changeset/verify-vue-browser-layer.md deleted file mode 100644 index 303cdf1..0000000 --- a/.changeset/verify-vue-browser-layer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'seamless-cli': minor ---- - -`seamless verify` now drives a Vue app through the same browser specs as the React template. The `vue` and `vue-dev` layers run the reference app in `verify/vue-app` on `@seamless-auth/vue` (a production build, and `vite` with `--dev`), or a Vue web template once the registry has one. `SEAMLESS_VUE_DIR` points the run at another Vue app, and `--local` installs the locally built `@seamless-auth/client` and `@seamless-auth/vue`. diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b37217..9450371 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # seamless-cli +## 0.22.0 + +### Minor Changes + +- 5f73b07: `seamless init` now writes a root `AGENTS.md` and a `CLAUDE.md` (`See @AGENTS.md`) beside `docker-compose.yml` and `seamless.config.json`. The guide is built from the choices init made: the directory and template each starter came from (linking its own `AGENTS.md`), how the auth server runs, the admin console, the ports, how to start the stack, the owner email that becomes the first admin, and the rules for agents (use the SDK and adapter, never your own JWT, password, session cookie or login endpoint code), plus a link to https://docs.seamlessauth.com/llms.txt. +- 4404708: `seamless add` now wires Go (net/http, Gin, chi, Echo), Rust (Axum) and Python (FastAPI, Django) backends on the seamless-auth-go, seamless-auth crate and seamless-auth PyPI adapters. It reads go.mod, Cargo.toml, pyproject.toml or requirements.txt, installs with `go get`, `cargo add`, `uv add` or `poetry add` (printing the `pip install` for a plain pip project), says how the language loads `.env`, and prints the code for that framework, including the development-only code logging and the admin console mount. +- 18ce407: `seamless add` now wires Angular, Vue and SvelteKit web apps on the `@seamless-auth/angular`, `@seamless-auth/vue` and `@seamless-auth/svelte` bindings, alongside React. It installs the binding (and `vue-router` or `@angular/router` when the app has no router), writes `VITE_API_URL` for Vue and SvelteKit, and prints the code for each file: the provider or plugin, the bundled sign-in screens as routes, and guards for signed-in and signed-out pages. Angular, which does not read `.env`, gets the backend URL in the printed config. Nuxt and Svelte without SvelteKit are reported rather than wired. +- e0a7ff2: Add `seamless add`, which adds Seamless Auth to an existing Express or Fastify backend and React web app. It connects a local auth server (written to `seamless/`) or a managed application, writes the backend's `.env` and the web app's API URL while keeping existing values, installs the adapter and SDK with the project's package manager, and prints the code to add for TypeScript or JavaScript. It never edits source files. Commands now run without a shell outside Windows, which also stops Node 24's DEP0190 warning. +- 8eb2380: `seamless verify` now drives an Angular app through the same browser specs as the React template. The `angular` and `angular-dev` layers run the reference app in `verify/angular-app` on `@seamless-auth/angular` (production build, and `ng serve` with `--dev`), or an Angular web template once the registry has one. `SEAMLESS_ANGULAR_DIR` points the run at another Angular app, and `--local` installs the locally built `@seamless-auth/client` and `@seamless-auth/angular`. +- 2d7955a: `seamless verify` now drives a SvelteKit app through the same browser specs as the React template. The `svelte` and `svelte-dev` layers run the reference app in `verify/svelte-app` on `@seamless-auth/svelte` (SvelteKit 3 as a single-page app, as a production build and on `vite dev` with `--dev`), or a Svelte web template once the registry has one. `SEAMLESS_SVELTE_DIR` points the run at another Svelte app, and `--local` installs the locally built `@seamless-auth/client` and `@seamless-auth/svelte`. +- b5fdefb: `seamless verify` now drives a Vue app through the same browser specs as the React template. The `vue` and `vue-dev` layers run the reference app in `verify/vue-app` on `@seamless-auth/vue` (a production build, and `vite` with `--dev`), or a Vue web template once the registry has one. `SEAMLESS_VUE_DIR` points the run at another Vue app, and `--local` installs the locally built `@seamless-auth/client` and `@seamless-auth/vue`. + +### Patch Changes + +- ac648ad: Scaffold the auth server at v0.18.0, whose OTP and magic-link send routes are POST, as the Go, Rust and Python adapters and the current `@seamless-auth/client` send them. v0.18.0 still serves the deprecated GET routes, so projects on the Express and Fastify starters keep working. The next steps after `seamless init` now give each api starter its own command (`go run .`, `cargo run`, `uv run uvicorn ...`) instead of `npm install && npm run dev`. +- b52d886: New projects scaffold the starters from `seamless-templates` `v0.18.0` (was `v0.17.0`). Every starter now ships an `AGENTS.md` and a `CLAUDE.md`, so the root guide `seamless init` writes links each starter's `AGENTS.md` instead of its README, and the Go (Gin), Rust (Axum) and Python (FastAPI) api starters are available as `beta`. +- 59b9ef7: Spell the product name as "Seamless Auth" in the `init` auth server prompt, and describe the package as the CLI for Seamless Auth, open source passwordless auth. +- fca70ae: `seamless verify` now waits for each browser service's healthcheck before running its specs. The `vue-dev` and `svelte-dev` services compile their app at startup and report healthy only once a compiled module and the prebundled SDK are served, so a cold Vite dev server no longer makes the first browser spec time out on a slow runner. The production web services' healthchecks now probe 127.0.0.1, since nginx listens on IPv4 only and they never passed on `localhost`. A service that never becomes healthy fails its own layer, with its recent logs, and the run continues. + ## 0.21.0 ### Minor Changes diff --git a/package.json b/package.json index 4c55dec..d465122 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "seamless-cli", - "version": "0.21.0", + "version": "0.22.0", "description": "The CLI for Seamless Auth, open source passwordless auth", "keywords": [ "seamless-auth",