Starter Kits
Introduction
Section titled “Introduction”Starter kits are overlays on the application scaffolder. Pick one when you run
almasix new (or pass --kit) and the installer layers production auth,
settings, teams, and a shared Forge design language on top of the blank app.
The blank none kit is built into Almasix. Conduit (web), Signet (api), and
Inertia SPA kits ship as separate packages and register through the
almasix.kits entry-point group.
# Install kits (once per environment)pip install 'almasix[kits]'# or: pip install almasix-starter-kit-web almasix-starter-kit-api almasix-starter-kit-spa
almasix new myapp --kit web --stack tailwindalmasix new myapi --kit apialmasix new myspa --kit react # or vue | sveltealmasix stacks # lists discovered kits + stacks + databasesAfter scaffolding, migrate and walk register → email verify → logout → login in the browser to confirm Day-1 auth.
Packages
Section titled “Packages”| Package | Kits | Depends on |
|---|---|---|
almasix-starter-kit-web |
web |
almasix-conduit |
almasix-starter-kit-api |
api |
Signet (in Almasix core) |
almasix-starter-kit-spa |
react, vue, svelte |
almasix-inertia |
Source: almasix-dev/almasix-starter-kits.
If a kit is missing, almasix new --kit web tells you which package to install.
| Kit | Flag | Stack | Surface |
|---|---|---|---|
| None | --kit none (default) |
any | Blank scaffold only (built-in) |
| Web | --kit web |
Tailwind 4 / Bootstrap / none | Prism + Conduit |
| API | --kit api |
forced none |
Signet PAT JSON |
| SPA | --kit react|vue|svelte |
forced Tailwind | Official @inertiajs/* |
Forge design
Section titled “Forge design”Same language across Web and SPA:
- Landing — brand-first, full-bleed hero (Outfit + JetBrains Mono), chartreuse CTA, teal brand
#0d9488. No cards in the first viewport. - Authenticated chrome — quiet sidebar (Dashboard, Notifications, Settings, Teams), theme toggle, light and dark (
class="dark"+localStorage). - CSS stacks — Web kit honors Tailwind / Bootstrap / none; SPA kits always ship Vite + Tailwind 4.
Auth depth
Section titled “Auth depth”Kits aim at Jetstream-class depth (not a thin login form):
- Register / login / logout
- Password forgot + reset
- Email verification + password confirmation
- Profile (name/email), password change, delete account, profile photo
- Two-factor authentication (stdlib TOTP + recovery codes)
- Teams (create, switch, invite, settings)
- Notifications shell (inbox UI ready for database notifications)
- Settings / appearance (theme)
API kit: personal access tokens only — POST /api/tokens, GET /api/user, revoke. No session auth UI.
Web kit (Conduit)
Section titled “Web kit (Conduit)”almasix new forgeweb --kit web --stack tailwind -ncd forgeweb && python -m venv .venv && source .venv/bin/activatepip install -e .python smith migratenpm install && npm run buildpython smith serveConduit ships a theme-toggle island on the authenticated layout. Routes live in
routes/web.py; components under app/conduit/.
SPA kit (Inertia)
Section titled “SPA kit (Inertia)”almasix new forgespa --kit react -ncd forgespapip install -e .npm install && npm run buildpython smith migrate && python smith serveWeb kits declare almasix[conduit]; SPA kits declare almasix[inertia].
Both extras resolve to the published first-party packages.
Pages under resources/js/Pages/ use the official Inertia client. Root Prism
view provides @inertia / @inertiaHead. Middleware alias inertia runs on
the web stack; stateful_api() is enabled for cookie SPA flows.
API kit (Signet)
Section titled “API kit (Signet)”almasix new forgeapi --kit api -n# issue a tokencurl -X POST /api/tokens -d '{"email":"…","password":"…","name":"cli"}'curl /api/user -H "Authorization: Bearer …"Extending
Section titled “Extending”Kit overlays live in the starter-kit packages (not in Almasix core). Contribute
or fork almasix-starter-kits,
or publish your own package that registers under the almasix.kits entry-point
group and returns an almasix.installer.kits.Kit with stub_root set.
Publish a private blank scaffold with smith stub:publish --scaffold and point
almasix new --stubs at your tree for team-wide app skeletons (kit overlays
still come from installed starter-kit packages).