Passkeys, organizations, Stripe billing, and provider-agnostic email — wired up and documented for Claude Code, or any capable agent, to build on. No conventions to explain first.
One-time payment. No subscription, no license key.
$ rails new myapp -m successkit/template.rb ✓ passkeys, OTP, and social sign-in mounted ✓ organizations, roles, and the capability resolver wired ✓ Stripe billing gated behind Billing.gate(org, :feature) ✓ CI, Docker, and a Railway config, ready to push → a deployed multi-tenant SaaS, not a todo list
Three gems, one application template, and the layer that lets an agent extend all of it safely.
CLAUDE.md, agent definitions, and skills — so Claude Code (or any capable agent) builds features your way, not by guessing.
A full auth ladder on Rodauth: passkeys first, email OTP fallback, Google and Apple, passwords last and optional.
Multi-tenancy plus a capability resolver where access checks fail closed, never open.
A thin, processor-agnostic layer on the Pay gem — tiers, gates, checkout, and the customer portal.
SendLayer, Postmark, SendGrid, Mailgun, SES, or plain SMTP. Swap providers with a config change.
Rails 8, Postgres, GoodJob, Hotwire, Tailwind. One command and it boots, ready to deploy.
Production Dockerfile, CI that actually runs your test suite, and a Railway config out of the box.
Every new SaaS spends its first few weeks re-solving the same three problems. SuccessKit is those weeks, already spent.
Auth runs on Rodauth. Billing runs on the Pay gem. The hard, adversarial parts are someone else’s full-time job, not a weekend implementation.
A one-time download, not a runtime check. A licensing hiccup should never be the reason your users can’t sign in — so there isn’t one.
SuccessKit doesn’t roll its own. sparrow_auth is configuration and glue on top of Rodauth — the security defaults are Rodauth’s: hashed at rest, adversarially tested, maintained by people whose full-time job is auth.
sparrow_pay is the same idea on top of the Pay gem: Stripe, Paddle, Braintree, or Lemon Squeezy, all through one abstraction, so the processor edge cases are Pay’s problem, not yours.
A purchase buys one version of the bundle — no subscription, no bundled upgrades. Security patches to the version you bought are always free.
No license key. No activation. Delivered as a download you own — proprietary, source-available, not for redistribution.
Source for three gems (sparrow_mail, sparrow_auth, sparrow_pay), the Rails application template, and the AI implementation layer — CLAUDE.md, agent definitions, and skills. Delivered as a download of one tagged version, which you vendor into your own application. It’s source you own, not a hosted service.
No. One payment, one version. There’s no bundled upgrade path — if a later version ships and you want it, you buy it again. The one exception: a security patch to a defect in the version you bought is always free.
No, and there never will be. SuccessKit has no runtime license check anywhere, in any gem — deliberately. A licensing server hiccup should never be the reason your customers can’t sign in. Enforcement happens at the point of download, not at runtime, full stop.
No. It’s proprietary and source-available: you get the source to use inside your own applications, but not the right to redistribute it. Nothing is published to RubyGems.
Yes. sparrow_mail ships adapters for SendLayer, Postmark, SendGrid, Mailgun, Amazon SES, and plain SMTP. sparrow_pay is built on the Pay gem, so Stripe, Paddle, Braintree, and Lemon Squeezy all work by configuration. Switching providers is a config change, not a rewrite.
It helps, but it’s not required. SuccessKit ships CLAUDE.md, agent definitions, and skills specifically so an AI coding agent like Claude Code can extend it correctly without you explaining your conventions first.
None sold, none promised — support isn’t part of the price. The documentation is held to a hard standard instead: it has to be complete enough that a fresh AI agent session, with no extra context, can build a new feature correctly using only what ships in the repo.
$36, one time. No license key, no subscription.