Generator and install options

Copy Markdown View Source

This page is the canonical human index for mix sigra.install switches. Exhaustive machine truth lives in mix help sigra.install and in the HexDocs module page for Mix.Tasks.Sigra.Install.

FlagDefaultOne-line effectSee also
--live / --no-livetrueGenerate LiveView-based auth pages vs a slimmer controller-only surface.Getting started
--binary-id / --no-binary-idtrueUse UUID primary keys (binary_id) vs bigint integer IDs.Installation
--tableOverride the generated Ecto table name instead of using the third positional argument.Installation
--apifalseEmit the API token controller and routes for programmatic clients.API authentication
--jwtfalseEmit JWT access/refresh handling (implies the API token path).API authentication
--organizations / --no-organizationstrueGenerate organizations, memberships, and tenant-aware routing.Multi-tenant apps
--passkeys / --no-passkeystrueGenerate WebAuthn / passkey enrollment and login scaffolding.Passkeys
--admin / --no-admintrueGenerate admin dashboard scaffolding.Deployment
--yesfalseNon-interactive install for CI and scripts (skips prompts).Testing auth flows

LiveView

The default install keeps LiveView on so registration, login, settings, and MFA settings match the modern Phoenix tutorial shape most teams expect. Turning LiveView off (--no-live) is a deliberate slimming choice—pair it with the rest of your routing plan so you are not surprised by missing LiveView modules. The Getting started walkthrough assumes LiveView routes exist.

Binary IDs

Sigra defaults binary_id to on, which matches the generator migrations you see in new apps (uuid columns). If you are grafting Sigra onto an existing bigint users table, --no-binary-id keeps the installer aligned with your current primary-key story—read Installation before flipping this on a brownfield app.

API and JWT

--api exposes bearer-token-friendly controllers; --jwt layers JWT issuance on top of that path. Both are optional product choices—start with browser sessions, then add API/JWT when you have a real non-browser client. See API authentication for token rotation, audit hooks, and security notes.

Organizations

Logical multi-tenancy (memberships, org switcher, for_org/2 helpers) ships on by default. Use --no-organizations only when you are certain you will never need org-scoped queries in this codebase—removing it later is more work than carrying the default tables. Multi-tenant apps explains how tenant scoping is enforced in application code.

Passkeys

Passkeys are on by default so passwordless enrollment is available from settings. --no-passkeys removes WebAuthn controllers and templates—reasonable for constrained environments, but you should document why for future operators. Passkeys covers RP ID, origins, and recovery paths.

Admin

Admin scaffolding defaults on so support teams get a generated dashboard surface. --no-admin removes that bundle when you already have an admin product or strict separation of duties. Production hardening still belongs in Deployment—the installer does not infer your threat model.

Non-interactive CI

Pass --yes in pipelines so mix sigra.install never blocks on prompts. Combine it with explicit flags (--no-live, --no-passkeys, etc.) when your fixture app must mirror a reduced feature set. Pair with Testing auth flows for fixtures and Sigra.Testing helpers.

If anything on this page disagrees with mix help sigra.install, treat mix help sigra.install as authoritative and open an issue or PR so the guide can be corrected.