Skip to content

Projects and Client Frameworks

Use this page when creating a Capsule, choosing a template, or changing its client framework and toolchain.

Start with sporades create <name> --template <template>. Sporades creates the server, client, shared code, author-owned index.html, and sporades.json.

sh
sporades create notes --template todo
cd notes
sporades dev

Choose a template

Every built-in template is available with every supported client framework. Choose the smallest example that demonstrates the Sporades features you want to learn or adapt:

TemplateWhat it demonstrates
blankThe minimal Capsule layout, an empty server definition, and the selected framework's connection to sporades/client. Start here when you do not want example domain code.
todoAnonymous per-user data, a table, subscribed query, mutation, and automatic realtime refresh after writes.
guestbookServer-trusted identity from ctx.auth, input validation, anonymous and linked-user attribution, and a realtime ordered feed.
photo-libraryFile uploads, private and public file URLs, persisted file metadata, authentication-aware views, and a durable scheduled Job.
campfireMulti-user realtime chat, email-authenticated demo identities, durable reactions, current-user preferences, and explicitly consented ephemeral Journey activity. The fixture credentials are development-only.

For example:

sh
sporades create notes --template todo --framework vue
sporades create gallery --template photo-library --framework lit
sporades create chat --template campfire --framework svelte

Choose a client framework

Sporades supports eight client choices. They all consume the same subscribed queries, mutations, authentication, Files, preferences, App messages, and Journey transport; the framework adapter changes how that state participates in the framework's own lifecycle and reactivity model.

FrameworkScaffolded client styleToolchain
Vanilla TypeScriptFramework-neutral subscriptions with explicit cleanupesbuild
ReactHooksesbuild by default; Vite optional
PreactHooksesbuild by default; Vite optional
InfernoNative class components and lifecycle adapters, without React compatibility packagesesbuild by default; Vite optional
LitWeb Components and reactive controllersVite
SolidJSNative JSX, signals, and reactive primitivesVite
VueSingle-File Components and composablesVite
SvelteNative components and storesVite

All eight choices support blank, todo, guestbook, photo-library, and campfire. Toolchain choice changes client compilation, not Sporades' server contract or acknowledged full-page Dev refresh protocol; Sporades does not run a second framework dev server or promise HMR.

Keep application source out of .sporades/; that directory is replaceable runtime state.

See the detailed reference for project files and configuration and the authoritative framework/toolchain matrix.

Next: build the server or build the client.

Released under the MIT License.