Visual Builder
CLI

Interactive TUI Wizard

Console Experience with Bubble Tea

Koko CLI leverages The Elm Architecture (TEA) in the terminal using Bubble Tea and Lipgloss styling.

✓ Clean terminal rendering: no flickering or scattered stdout messages; the interface renders a solid, stateful dashboard.
✓ Intuitive navigation: use arrow keys [↑/↓] or Vim bindings [k/j] to move the cursor, [Enter] to confirm, and [Esc] to navigate back.

Selection Modes: Quick Setup vs Manual

Upon running `koko init`, the wizard prompts you with two distinct paths:

Path 1: Quick Setup

1. Enter your project name (e.g. `my-saas`).

2. Select "Quick Setup".

3. Pick one of the official production recipes: ⚡ SaaS Starter, ☕ Java Spring Boot, 🏢 Enterprise NestJS, 💻 MERN Stack, 🚀 PERN Stack, 🐍 FastAPI + React, or 📱 Mobile Expo.

4. Koko scaffolds files, initializes Git, and generates the manifest in less than a second.

Path 2: Manual Configuration

1. Frontend Framework: Choose between Next.js, React + Vite, Nuxt, Svelte, or None.

2. Backend Runtime: Choose between Express, FastAPI, Go Chi, NestJS, Hono, or None.

3. Package Manager: Choose pnpm, npm, bun (or go_mod / pip for pure backends).

4. Database: Choose PostgreSQL, MongoDB, MySQL, SQLite, or None.

5. ORM / Query Builder: Options dynamically filtered according to DB and backend choices.

6. Addons & Tooling: Docker Compose, GitHub Actions CI, or both.

7. Git: Automatic Git repository initialization with tailored .gitignore.

Dynamic Disabling with Descriptive Reasons

The TUI evaluates cross-compatibility on every keystroke. If an option conflicts with previous choices, it is rendered in muted gray with an explicit explanation:

✓ Example: Selecting `React + Vite` (SPA) and `None` for Backend automatically disables all Database options with: "Incompatible: Client-side SPA (react) cannot connect directly to DBs without a backend".

Animated Runner Benchmarks

During physical file generation, Koko displays an animated progress spinner reporting Virtual File System (VFS) creation, disk writes, Git setup, and `koko.config.json` generation with precise timing benchmarks in seconds.

Keyboard Shortcuts & Navigation Controls

The terminal interface is engineered for high-speed keyboard operations with first-class Vim and standard navigation shortcuts:

  • ↑ / ↓ or k / j - Navigate up and down across the options menu.
  • Enter - Confirm current selection and advance to next configuration step.
  • Space - Toggle individual addon checkboxes in multi-select prompts.
  • Esc - Go back to previous step without terminating execution.
  • Ctrl + C - Safely cancel and terminate wizard execution.