docs
How to use cdbx
Templates

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.

TemplateNotes
ReactReact 19 with createRoot. Use import React from 'react@19'
React + TypeScriptReact 19, typed
VueVue 3.5
AngularAngular 22
SvelteSvelte 5 (runes)
PreactLightweight React alternative

Vanilla Templates

Plain browser code with no framework.

TemplateNotes
HTMLHTML, CSS, and vanilla JS in a single app
JavaScriptVanilla JS with live preview
TypeScriptTypeScript 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.

TemplateLanguage
PythonPython 3
GoGo
RustRust
C#.NET
JavaJava
KotlinKotlin
RubyRuby
Node.jsServer-side JavaScript
BunFast JavaScript runtime
CGCC
C++GCC
PHPPHP
PerlPerl
LuaLua
RR
SwiftSwift
ScalaScala
HaskellHaskell
ElixirElixir
ClojureClojure
BashBash
NimNim
F#.NET
JuliaJulia
DartDart
CrystalCrystal
GroovyGroovy
DDMD
OCamlOCaml
ZigZig

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.