Capsule — the zero-glue full-stack lane
Scaffold a db + auth + realtime app with the schema pre-provisioned
A capsule is Percher's opinionated, zero-glue lane for a small full-stack app that needs a database and sign-in. It's a pre-wired template on top of a PocketBase sidecar — typed data client, realtime helper, and email/password sign-in are already wired, and Percher applies the app's schema (pb/schema.json) to PocketBase before the app goes live, so the demo works on first publish instead of 500-ing on the first write.
Scaffold & publish
bunx percher create my-app --template capsule cd my-app bunx percher publish
What ships pre-wired
src/lib/db.ts— typed PocketBase client pointed at the app's ownVITE_POCKETBASE_URL. Writedb.collection<Message>("messages").create(...), not raw REST. The Dockerfile declaresARG VITE_POCKETBASE_URLso the value is baked into the bundle at build time.src/lib/realtime.ts—subscribe("messages", cb)wraps PocketBase realtime so cross-tab/cross-user sync is one call.src/components/Auth.tsx— email/password sign-up + sign-in against PocketBase's built-inuserscollection. Works on day one with zero provider config; Google sign-in is a one-command add-on (percher data oauth google).src/lib/ai.ts—complete(prompt)for KEYLESS managed inference: no API key, billed to your Percher plan, only for signed-in users (zero-data-retention).pb/schema.json— the declarative schema (collections + access rules) Percher provisions. Additive-only and rollback-safe: new collections/fields apply, an older descriptor is a no-op, and a breaking change (a field type change, a tightened rule) fails the deploy before it ships.
The capsule is one fast lane, not a replacement — Percher still hosts any app in any language. Reach for a capsule when you're building a new small app that needs a database and sign-in.