Code Apex banner
kartikmanimuthu kartikmanimuthu

Code Apex

Design community

Description

CodeApex — a Claude Code-style coding agent CLI in your terminal: planning, subagent delegation, HITL approvals, streaming with visible thinking, durable threads, auto-memory, and skills. Runs on local Ollama.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

CodeApex

A Claude Code-style coding agent CLI in your terminal, built in pure TypeScript on [LangChain Deep Agents](https://docs.langchain.com/oss/javascript/deepagents/overview): **planning/todo list, subagent delegation, real filesystem + shell, and web search**, driven from an interactive Ink TUI.

Prerequisites

  • Node.js 22+
  • A running Ollama daemon, signed in to Ollama cloud (the default model is deepseek-v4-flash:0731-cloud) — or any local Ollama model with solid tool-calling.

Run

npm install --legacy-peer-deps   # openwiki pins older ink/react; see dev notes below
npm start              # interactive Ink TUI, real FS + shell rooted at ./workspace
npm start -- --memfs   # in-memory virtual filesystem, nothing touches disk
npm start -- --yolo    # skip shell-command approval prompts (trusted tasks only)
npm run smoke          # cheap end-to-end check (todos + file write + shell)

**Shell approvals (on by default):** every `execute` call pauses the run before it touches your machine (details under the demo below). Disable with `--yolo`; `--memfs` has no shell at all.

Give it a task at the prompt, e.g.:

Research the top 3 TypeScript test runners, write a comparison to notes.md, then have the critic verify the file cites sources.

You'll watch it work like Claude Code in a **React Ink TUI**: a scrolling transcript (streaming answers with 🧠 dim thinking, 🔧 tool calls with results, 🤖 delegations indented per subagent), a live 📋 plan panel, a bordered `❯` input with command history (↑/↓), and a spinner + `esc to interrupt` while a task runs.

Thinking display requires a reasoning-capable model — the default `deepseek-v4-flash:0731-cloud` emits 🧠 reasoning deltas, as do `glm-5.2:cloud`, `kimi-k3:cloud`, `qwen3`, … Models without thinking support stream answers fine but emit no thinking tokens. Set `OLLAMA_THINK=0` if a model errors on think mode.

**Approvals, Claude Code-style:** every gated `execute`/`write_s