AI Coding Agent CLI - baca, tulis, edit file & jalankan command shell otonom lewat terminal.
Ditenagai gateway ai.cutad.web.id Β· OpenAI-compatible /v1
aicutad-cli adalah AI coding agent yang jalan di terminal kamu. Bukan sekadar chat - ia baca file, tulis kode, edit file, dan jalankan command shell sendiri lewat agentic loop dengan function calling.
Kamu kasih tugas, agent bekerja otonom: baca β tulis β verifikasi β lapor.
$ aicutad agent "buat file hello.js berisi console.log hello world"
aicutad-cli agent mode Β· v0.4.6
model: deepseek-ai/deepseek-v4-pro dir: /root/project
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βΊ buat file hello.js berisi console.log hello world
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β berpikirβ¦
π Write (hello.js, 42 bytes)
π Write β (1 baris)
π Read (hello.js)
π Read β (2 baris)
β‘ Run (node hello.js)
β‘ Run β (2 baris)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
aicutad-cli selesai Β· 4 iterasi Β· 3 tools Β· 1.2s
File hello.js berhasil dibuat & diverifikasi. Output: "Hello, World!"
npm install -g aicutad-cliAtau dari source:
git clone https://github.com/cutad/aicutad-cli.git
cd aicutad-cli
npm install -g .Persyaratan: Node.js β₯ 18 (disarankan β₯ 22)
aicutadPertama kali jalankan, setup wizard premium muncul otomatis:
- Boot animation - bordered window, typewriter logo, system info
- Masukkan API key (input tersembunyi
β’β’β’β’β’β’β’β’) - Validasi koneksi ke gateway (animated spinner)
- Pilih model (arrow-key β/β selector, clean UI)
- Simpan konfigurasi ke
~/.cutad/auth.json - Langsung masuk TUI full-screen immersive
Setelah setup, aicutad langsung buka TUI agent - ketik tugas apa pun, agent kerjakan.
Setiap pesan di TUI = agent. Model selalu punya akses ke 6 tools:
| Tool | Icon | Fungsi |
|---|---|---|
read_file |
π | Baca isi file |
write_file |
π | Buat / overwrite file |
edit_file |
βοΈ | Find-and-replace di file |
list_files |
π | Daftar file & direktori |
search_files |
π | Cari teks (regex) di kode |
run_command |
β‘ | Jalankan command shell |
browse_page |
π | Buka URL di headless Chromium & ekstrak teks |
web_search |
π | Cari di Google, return 5 hasil teratas |
screenshot |
π· | Screenshot halaman web (PNG) |
Alur agentic loop:
User: "buat file fibonacci.js"
β Model: write_file(fibonacci.js, ...)
β Model: read_file(fibonacci.js) // verifikasi
β Model: run_command(node fibonacci.js) // test
β Model: lapor hasil ke user
Model memutuskan sendiri tool apa yang dipakai, berapa kali, dan kapan selesai. Maks 20 iterasi untuk safety.
aicutad-cli β AI Coding Agent CLI v0.4.6 19:20:35
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ you 19:20
β ada apa di sini
ββ
π List /tmp/project β¦
π List β file hello.js, file utils.js
π Read /tmp/project/hello.js β¦
π Read β console.log('Hello, World!')
ββ aicutad-cli 19:20
β Di direktori ada 2 file: hello.js dan utils.js.
β hello.js berisi console.log('Hello, World!').
β Mau aku apain?
ββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β ready β deepseek-ai/deepseek-v4-pro β 6 pesan β 1,835 tok β $0.0010 β ctx 2% β cutad /help
you βΊ
- Boot animation premium - bordered window, typewriter logo, multi-step progress
- Full-screen immersive - alternate buffer, fokus hanya ke aicutad-cli
- Zero-glitch rendering - absolute positioning (no
\nscroll), in-place updates untuk input/spinner/clock - Cost tracking live - token count + biaya ($0.0010) tampil di status bar real-time
- Context window indicator -
ctx 15%dengan color coding (dim/yellow/red) - Context window management - auto-summarize pesan lama saat context >80%
- Typing animation - AI response muncul char-by-char
- Interactive help modal - arrow β/β navigasi, Enter pilih command, Esc tutup
- Interactive model picker - arrow keys, modal overlay
- Input history - β/β arrows recall pesan sebelumnya (saat input kosong = scroll pesan)
- Keyboard shortcuts -
Ctrl+Lclear,Ctrl+Ssave,Tabautocomplete - Modal overlays - help, models, sessions, agents (centered bordered, glitch-free)
- Live clock -
HH:MM:SSdi header - Markdown rendering - code blocks, bold, italic, headers, lists, blockquotes
- Message timestamps -
HH:MMper message - Compact tool display - inline 1-baris dengan icon + color + status
- Status bar - colored indicator (π’ ready Β· π‘ bekerja Β· π΄ error Β· π΅ scroll)
- Spinner animation - braille dots, 100ms smooth (in-place, no redraw)
| Key | Fungsi |
|---|---|
β / β |
Scroll pesan (input kosong) / History navigasi (input ada) / Modal navigasi |
Tab |
Autocomplete command |
Ctrl+L |
Clear screen |
Ctrl+S |
Save session |
Ctrl+C |
Keluar |
Esc |
Tutup modal |
Enter |
Kirim pesan / Pilih item di modal |
| Command | Fungsi |
|---|---|
/help |
Bantuan (interactive modal - β/β navigasi, Enter pilih) |
/models |
Pilih model (interactive modal picker) |
/model <name> |
Ganti model langsung |
/agents |
Daftar subagent (modal overlay) |
/sessions |
Daftar session tersimpan (modal overlay) |
/save |
Simpan session |
/clear |
Bersihkan layar |
/exit |
Keluar |
# Agent otonom (CLI mode - output ke terminal)
aicutad agent "buat file utils.js berisi fungsi fibonacci"
aicutad agent "fix bug di app.js" --model deepseek-ai/deepseek-v4-pro --dir /path/to/project
# TUI full-screen (default)
aicutad
# Chat satu kali
aicutad chat "jelaskan apa itu closure"
# Chat interaktif (REPL)
aicutad chat
# Manajemen
aicutad login # setup wizard premium
aicutad status # cek status login + jumlah model
aicutad models # daftar model dari gateway
aicutad agents # daftar subagent
aicutad sessions # daftar session tersimpan
aicutad mcp --list # daftar MCP server
aicutad logout # hapus kredensial8 subagent bawaan untuk tugas spesifik:
| Agent | Role | Deskripsi |
|---|---|---|
cutad-build |
orchestrator | Implementasi fitur, bugfix, refactor |
cutad-architect |
architect | Desain sistem, ADR, dekomposisi komponen |
cutad-review |
reviewer | Code review multi-aspek (security, perf, API) |
cutad-debug |
debugger | Root-cause debugging 4 fase |
cutad-plan |
planner | Rencana implementasi terstruktur |
cutad-search |
researcher | Riset evidence-first dengan citations |
cutad-fe |
frontend | Frontend UI/UX (React, Vue, Svelte, CSS) |
cutad-droid |
android | Native Android (Kotlin, Compose, Room, Hilt) |
Percakapan otomatis tersimpan di ~/.cutad/sessions/:
aicutad sessions # daftar semua sessionDi TUI: /save untuk simpan manual, /sessions untuk lihat daftar.
aicutad-cli mendukung Model Context Protocol untuk extend tools:
aicutad mcp --list # daftar MCP server
aicutad mcp --add <name> # tambah MCP server
aicutad mcp --connect <name> # connect & list tools
aicutad mcp --remove <name> # hapus MCP serverConfig MCP disimpan di ~/.cutad/mcp.json.
Disimpan di ~/.cutad/:
~/.cutad/
βββ auth.json # API key, model, gateway
βββ sessions/ # riwayat percakapan
βββ providers.json # multi-gateway config
βββ mcp.json # MCP server config
βββ plugins.json # plugin config
auth.json:
{
"apiKey": "cag_...",
"baseUrl": "https://ai.cutad.web.id/v1",
"site": "https://ai.cutad.web.id",
"model": "deepseek-ai/deepseek-v4-pro"
}Environment variables (override, untuk CI/non-interaktif):
| Env | Fungsi |
|---|---|
CUTAD_API_KEY |
API key (skip prompt input) |
CUTAD_MODEL |
Model default (skip selector) |
CUTAD_BASE |
Base URL gateway |
# Login non-interaktif (CI/CD)
CUTAD_API_KEY=cag_... CUTAD_MODEL=deepseek-ai/deepseek-v4-pro aicutad loginaicutad-cli/
βββ bin/
β βββ cutad.mjs # entrypoint (Commander, 8 subcommands)
βββ src/
β βββ tui/
β β βββ App.mjs # TUI native full-screen (ANSI, v0.4.6)
β βββ agent/
β β βββ tools.mjs # 9 tool definitions (function calling)
β β βββ executor.mjs # eksekusi tool (read/write/edit/run/browse)
β β βββ loop.mjs # agentic loop (model β tool, max 20 iter)
β β βββ context.mjs # context window management (auto-summarize)
β β βββ cost.mjs # cost tracking (token usage per session)
β β βββ browser.mjs # headless Chromium (Puppeteer)
β β βββ run.mjs # CLI entrypoint agent mode
β β βββ index.mjs # 8 subagent + delegate parallel/chain
β βββ session/
β β βββ index.mjs # save/load/list/export/import
β βββ mcp/
β β βββ index.mjs # MCP client (connect, list tools, call)
β βββ provider/
β β βββ index.mjs # multi-gateway config & switching
β βββ plugin/
β β βββ index.mjs # load external modules
β βββ api.mjs # gateway komunikasi (models + chat)
β βββ chat.mjs # REPL + TUI launcher
β βββ commands.mjs # login wizard premium / status / logout
β βββ config.mjs # baca/tulis auth
β βββ constants.mjs # URL & konstanta
β βββ models.mjs # daftar model
β βββ prompt.mjs # masked input + arrow selector (glitch-free)
β βββ ui.mjs # UI toolkit (banner, panel, spinner)
βββ .github/workflows/
β βββ ci.yml # CI test (Node 18/20/22)
β βββ publish.yml # Auto-publish to npm on release
βββ .gitignore
βββ package.json
βββ README.md
- Runtime: Node.js β₯ 18 (ESM, zero native deps)
- Gateway: ai.cutad.web.id (OpenAI-compatible
/v1) - Function calling: OpenAI tools API (
tools+tool_choice: auto) - TUI: Native ANSI control codes (no React/Ink dependency)
- Rendering: Absolute positioning (zero-scroll) + in-place updates untuk input/spinner/clock
- Dependencies:
commander(CLI),picocolors(color),@modelcontextprotocol/sdk(MCP),puppeteer(browser) - Package size: 46.7 KB (4 deps)
- Published to npm -
npm install -g aicutad-cliβ - TUI full-screen immersive (alternate buffer)
- Boot animation premium (bordered window, typewriter, multi-step)
- Agentic loop dengan function calling (9 tools)
- Context window management - auto-summarize old messages (>80% threshold)
- Cost tracking - token usage & estimasi biaya per session, tampil di status bar
- Context window indicator -
ctx 15%live di status bar dengan color coding - Headless browser tools - Chromium (browse, search, screenshot)
- Zero-glitch rendering - absolute positioning (no
\nscroll), in-place updates - Interactive help modal - arrow β/β navigasi, Enter pilih command
- Scroll messages - arrow β/β saat input kosong untuk scroll percakapan
- Typing animation (AI response char-by-char)
- Interactive model picker (modal overlay, arrow keys)
- Input history (β/β arrows)
- Keyboard shortcuts (Ctrl+L, Ctrl+S, Tab autocomplete)
- Modal overlays (help, models, sessions, agents - glitch-free)
- Live clock di header
- Markdown rendering (code blocks, bold, italic, headers, lists)
- Message timestamps
- Session management (save/load/list)
- 8 subagent + delegate parallel/chain
- MCP client support
- Multi-provider config
- Plugin system
- First-run wizard premium
- CI/CD (GitHub Actions)
- Login wizard dengan animated spinner & progress bar
- Streaming response (SSE) - TUI shows answer token-by-token
- GitHub PR integration - auto create branch, commit, push, open PR
- Headless server + web interface
- Diff viewer in TUI (show file changes before apply)
- Multi-file editing in single tool call
- Voice input (TTS/STT integration)
- Custom tool plugins (user-defined tools)
- Model-specific routing (different models for different tasks)
MIT Β© cutad