Templates
Templates are starter kits for the languages and frameworks cdbx supports. Every app can be based on a template.
Choosing a Template
There are two ways to start an app:
Pick a template — Click New App on your dashboard and choose from the list below.
Describe what you want — Use the Generate with AI input on the landing page or dashboard. The AI infers the right template from your description and writes the code for you. See Vibe Coding.
Frontend Templates
These templates run in a sandboxed iframe with a live preview that updates as you code.
| Template | Notes |
|---|---|
| React | React 19 with createRoot. Use import React from 'react@19' |
| React + TypeScript | React 19, typed |
| Vue | Vue 3.5 |
| Angular | Angular 22 |
| Svelte | Svelte 5 (runes) |
| Preact | Lightweight React alternative |
Vanilla Templates
Plain browser code with no framework.
| Template | Notes |
|---|---|
| HTML | HTML, CSS, and vanilla JS in a single app |
| JavaScript | Vanilla JS with live preview |
| TypeScript | TypeScript compiled to JS with live preview |
Backend / Compiled Templates
These templates run on the server via the cdbx Code Execution API. Output appears in the REPL panel rather than a browser preview.
| Template | Language |
|---|---|
| Python | Python 3 |
| Go | Go |
| Rust | Rust |
| C# | .NET |
| Java | Java |
| Kotlin | Kotlin |
| Ruby | Ruby |
| Node.js | Server-side JavaScript |
| Bun | Fast JavaScript runtime |
| C | GCC |
| C++ | GCC |
| PHP | PHP |
| Perl | Perl |
| Lua | Lua |
| R | R |
| Swift | Swift |
| Scala | Scala |
| Haskell | Haskell |
| Elixir | Elixir |
| Clojure | Clojure |
| Bash | Bash |
| Nim | Nim |
| F# | .NET |
| Julia | Julia |
| Dart | Dart |
| Crystal | Crystal |
| Groovy | Groovy |
| D | DMD |
| OCaml | OCaml |
| Zig | Zig |
Package Versions
For frontend templates, packages are fetched from unpkg at the version pinned in your entry file. To use a specific version, import it with @version:
import React from 'react@19'
import { createRoot } from 'react-dom@19/client'The AI assistant is aware of which versions are in use and will match them when generating new files.
In future you will be able to create your own templates with a template builder.