Working with AI coding agents means constantly juggling separate windows — the agent in one, a file tree in another, git in a third, a shell in a fourth. Every switch costs you your place and your focus. Editors that bolt AI on as a sidebar keep the agent a guest. I wanted a terminal-native home base where the agent sits at the center, with the three things you reach for most — a file tree, git, and a shell — around it on a single screen, so nothing pulls you out of the flow.
Demo
Terminal preview
Overview
Terminal-native IDE with file tree, git, and terminal integration, and AI agent support
A terminal home base for the AI agent era. Kuroko stands between you and the code.
From the maintainer
Run krk, give an agent (Claude Code or Codex) a task in the main pane, and let it work with the file tree open on the left and lazygit in the right panel. As the agent edits, browse the changed files one keystroke away, stage and commit in lazygit, and drop into a full PTY shell to run tests — all on one screen, never switching apps. By default every keystroke goes straight to the focused pane, so vim, fzf, and your agent behave exactly as in a plain terminal.
The input model. By default every key — including Esc and Ctrl combinations — passes straight through to the focused pane, so embedded tools never lose a keystroke. Pane and tab management lives in a dedicated global layer you enter on demand with Ctrl+g (a deliberate, transient global state, not an always-on mode that competes with your tools). It's a clean split: drive your tools directly, or step up into the global layer to rearrange the workspace. On top of that, a krk.* Lua API lets you remap keys and reshape behavior, and agent providers sit behind a trait so you can wire in your own.
Deepening Lua extensibility: scripted pane creation and splits (pane.spawn() / layout.split()), runtime theme customization through Lua, and session persistence that restores your full tab and layout state. The longer arc is a real plugin ecosystem on top of the krk.* API, so the community can build and share agent-centric workflows.
Latest Release
Fixes
- Agent idle notification fires once per user turn. Agents go silent mid-turn (during tool runs or long thinking), exceeding the 600ms idle threshold and flickering between Working and Idle. Each flicker previously fired a desktop notification, so a single wait could notify many times. The notifier now disarms after firing and only re-arms when the user sends the next input, so you get exactly one notification per turn.
Docs
- Add a Japanese README and align the English version.
- List all config options in the sample
init.lua.
Discussions