Koko Koala Logo
Koko
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.