Ithibati Starter
An Igniter installer for new Phoenix 1.8 applications. It adds passkey sign-in with invitations, a finished interface and a check pipeline. The generated code is yours; the starter is not a runtime dependency.
What you get
| Area | Included |
|---|---|
| Accounts | Passkeys and recovery codes through Ithibati. An operator code claims the instance; everyone else needs an invitation. |
| Account pages | Settings, passkeys, recovery codes, invitations, an administrator's account list. |
| Interface | A sidebar shell with a phone tab bar, Tailwind 4 colour tokens, Lucide icons, light and dark mode, English and German. |
| Databases | SQLite or PostgreSQL from one build, chosen at runtime. |
| Swoosh with a development mailbox and SMTP. | |
| Checks | mise run check: format, Credo, Sobelow, gitleaks, tests on both databases, Playwright browser tests. |
| CI | GitHub Actions, Dependabot, a dependency audit. |
| Operations | Releases that migrate on start, a Dockerfile, /health, JSON logs, hourly auth cleanup with Oban. |
| License | --license mit or agpl. |
Get started
You need Elixir 1.20 on OTP 29 for the archives, and mise for the
application. PostgreSQL 18 is needed for mise run check.
mix archive.install hex phx_new 1.8.16
mix archive.install hex igniter_new 0.5.35
mix archive.install hex ithibati_new 0.10.0
mix ithibati.new my_app
cd my_app
mise trust && mise install
mise run setup
mise run setup-code
mise run dev
Open http://localhost:4000, enter the printed code and register the first account.
Documentation
- Usage: options, routes, components, colours.
- Upgrading: apply a newer starter to a generated application.
- The guides a generated application gets: on HexDocs.
- Changelog, Contributing.
License
MIT.
Generated files belong to your application and need no attribution.
Choose their license with --license.