Configuration Driven Development — write JSON configs, get real apps.
Codabra reads config files and compiles them into production-ready applications. It works on top of frameworks — not instead of them.
Codabra is a configuration-driven application generator. Instead of hand-writing boilerplate for models, routes, and views, you describe your app in JSON config files and Codabra compiles them into real, target-native code:
- Generate models, routes, and views from declarative config
- Validate config files before generating anything
- Dev — generate + start your app's dev server in one command
- Build — generate + run your app's production build
- Providers — Next.js, Node/Express, PHP, Go and Symfony from the same config
- Feature kits — reusable auth, admin and comments domain building blocks
- Database lifecycle — push, generate, and migrate your schema
npx create-codabra@latest my-app
cd my-app
pnpm install
pnpm codabra devcodabra/
├── apps/
│ ├── docs/ # Documentation (VitePress)
│ └── web/ # Example generated app (Next.js)
├── packages/
│ ├── cli/ # CLI tool (codabra, create-codabra)
│ ├── core/ # Config loader, parser, validator, compiler
│ └── providers/ # Language and framework renderers
└── config/ # Example configuration files
Place your config files in /config:
config/
├── models/ # Data models (entities)
├── routes/ # HTTP routes
├── views/ # Declarative UI definitions
├── functions/ # Reusable application logic
├── events/ # Lifecycle hooks
└── voters/ # Authorization rules
codabra generate # Generate app from config
codabra validate # Validate config files
codabra dev # Generate + start dev server
codabra build # Generate + production build
codabra upgrade # Upgrade @ndnci/codabra and regenerate app files
codabra add-provider # Add a new provider to an existing project
codabra db push # Push schema directly to the database (dev)
codabra db generate # Generate versioned migration files
codabra db migrate # Apply pending migrations
codabra create [name] # Scaffold a new Codabra project| Command | Description |
|---|---|
codabra generate (g) |
Generate application files from your config |
codabra validate (v) |
Validate config files without generating |
codabra dev |
Generate + start the development server |
codabra build |
Generate + run the production build |
codabra upgrade |
Upgrade the CLI and regenerate application files |
codabra add-provider |
Add a new provider to an existing project |
codabra db push |
Push the schema directly to the database |
codabra db generate |
Generate versioned migration files |
codabra db migrate |
Apply pending migration files |
codabra create [name] |
Scaffold a new Codabra project |
- core — validation and config → canonical application model compilation
- providers — target renderers; syntax changes here, business meaning does not
- cli — Orchestrates everything; exposes the
codabraandcreate-codabracommands
The generation path is config → canonical model → target renderer → files.
This avoids translating source code between languages and keeps route/model
semantics shared.
Only @ndnci/codabra (the CLI) is published to npm — core and providers are
bundled into it at build time.
Codabra is source-available under the Elastic License 2.0.