with one click
saas_kit
saas_kit contains 26 collected skills from fullstack-phoenix, with repository-level occupation coverage and site-owned skill detail pages.
Skills in this repository
Use when the app needs branded 404 and 500 error pages and a way to raise not-found from LiveViews. Covers install, the Fallback exception, and tweaking the templates.
Use when the app needs an admin-only dashboard at `/admin` for managing users, teams, and admins, with charts, impersonation, and the LiveDashboard. Covers install, configuration, and tweaks.
Use when authenticated routes must be gated behind email confirmation, redirecting users whose `confirmed_at` is nil to a confirmation page. Covers install, configuration, and tweaks for the confirmation gate.
Use when the app needs user accounts, sign-in, and roles. Covers installing phx.gen.auth-based auth with role-based access, profiles, and admin bootstrapping, plus how to tweak it.
Use when the app needs a Cmd+K/Ctrl+K command palette for quick navigation and search. Covers installing the LiveView palette, its protocol-based result formatting, and how to make resources searchable.
Use when the app needs database-backed error tracking without an external SaaS. Covers installing ErrorTracker with automatic Phoenix/LiveView/Oban reporting, migrations, pruning, and a dashboard.
Use when the app needs runtime feature toggles, gradual rollouts, or an emergency kill switch without redeploying. Covers installing FunWithFlags with Ecto + PubSub, the app-owned wrapper APIs, and per-user/per-team gating.
Use when the app needs a health check endpoint for a load balancer or uptime monitor. Covers installing plug_checkup at /health, configuring checks, and adding custom checkups.
Use when emails need to render reliably across clients. Covers installing Premailex-based HTML email layouts with inline CSS and plain-text fallbacks, plus how to wire and tweak notifiers.
Use when the app needs distinct layouts for authenticated pages, login/registration, and public marketing pages instead of Phoenix's single default layout. Covers install, the three layout modules, and how to tweak nav, logo, and avatar.
Use when the app needs to let users switch UI language at runtime. Covers installing the Gettext-backed locale picker dropdown, its router/LiveView wiring, and how to add locales.
Use when the app needs social sign-in (GitHub OAuth) on top of existing authentication. Covers installing Ueberauth, the user-identity linking flow, configuration, and how to add more providers.
Use when the app needs background jobs, scheduled/cron tasks, or async work off the request path. Covers installing Oban + Oban Web, queue config, the migration, test mode, and writing workers.
Use when the app needs an audit trail or undo — track every insert/update/delete on records, see who changed what, and revert. Covers install, configuration, and tweaks for PaperTrail versioning.
Use when the app needs to charge users — subscriptions or one-time purchases. Covers installing the billing facade, choosing a provider (Stripe subscriptions to start), configuring keys, and wiring a checkout flow.
Use when the app needs recurring billing via Stripe-hosted Checkout. Covers installing the `MyApp.Billing` Stripe provider, its config, and how to wire checkout and webhooks.
Use when the app needs to throttle requests or failed logins by IP or email. Covers installing Hammer + RemoteIp, the MyApp.RateLimit helpers, and how to tweak limits.
Use when the app needs an XML sitemap and robots.txt for search-engine indexing. Covers installing a Phoenix SitemapController, the XML template, and how to add static or dynamic URLs.
Use when wiring or customizing the teams invitation flow — emailing a user to join a team, the Swoosh notifier, and accepting an invite on sign-in.
Use when the app needs multi-tenancy — multiple users sharing data under teams, with personal teams, memberships, roles, and team switching. Covers install, scope-based tenant isolation, and tweaks.
Use when the app needs TOTP two-factor authentication via authenticator apps (Google Authenticator, Authy, 1Password). Covers install, enforcement config, and tweaking the setup/verify flow.
Use when setting up the SaaS Kit in a Phoenix app or installing/listing its features. Covers the install flow and every `mix saaskit.*` task.
Build raw LLM helpers for text, code, markdown, and opportunistic JSON using Req. Use when output does not need a strict response schema.
Use when adding LLM features to Phoenix and Elixir apps. Covers shared agent configuration, module naming, structured outputs, and freeform text/code generation.
Build typed AI agents with InstructorLite and Ecto embedded schemas. Use when LLM output must be validated and returned as structured Elixir data.
Ecto multi patterns and guidance. Use when designing schemas, queries, or operations involving multi-step transactions.