@ndnci/codabra
v0.2.0
Published
Codabra CLI — generate and orchestrate applications from config files
Readme
What is Codabra?
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
Quick Start
npx create-codabra@latest my-app
cd my-app
pnpm install
pnpm codabra devMonorepo Structure
codabra/
├── 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 filesConfig System
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 rulesCLI Commands
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 |
Architecture
- 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.
License
Codabra is source-available under the Elastic License 2.0.
