Skip to main content

A unified TUI workbench for terminal AI coding agents

Project description

TuiCode

A unified TUI workbench designed for terminal AI coding agents

Unite "editor + file manager + multi-terminal + Git + multi-agent sessions + workspace state sync" into a coherent terminal-native experience — letting humans and multiple AI agents collaborate in the same terminal environment.

Python 3.11+ Textual 0.60+ License: MIT

中文文档


Screenshots

Startup

TuiCode startup screen

Working interface — multi-agent sessions · diff preview · file tree

TuiCode working interface


What is TuiCode?

Mainstream IDEs treat AI as a plugin (Copilot sidebar, Cursor panel). TuiCode flips this: the editor, file tree, and terminal exist to serve the agents — not the other way around.

TuiCode doesn't take over your agents. It hosts mature CLI agents: Claude Code, Codex, Aider, and others continue running their full interactive loops inside PTYs. TuiCode visualizes, syncs, and organizes the project state those agents work on.

Dimension Position
Form 100% TUI — runs in any terminal emulator
Target users Developers using CLI agents like Claude Code / Codex / Aider
Core value Unified workbench — no more context-switching between editor, Git tools, and terminals
Deployment Single command, cross-platform (Linux / macOS / WSL)

What it is NOT: Not a VSCode clone, not a terminal emulator, not another AI coding tool, not a window manager.


Features

  • Hybrid layout: Work units (editor/agent sessions) float freely; global tools (file tree/Git/terminal) stay fixed in a grid
  • Parallel agents: Run multiple PTY sessions simultaneously (Claude Code, Codex, Aider, custom commands) without focus conflicts
  • Real-time awareness: File changes and Git status auto-refresh — no manual reload needed
  • Git workflow: Built-in diff preview (side-by-side view), per-file stage/unstage, one-click commit
  • File manager: Create / rename / delete (with confirmation) / copy path — right in the file tree
  • Command palette: Ctrl+Shift+P full-screen command search, replacing unreliable dropdowns
  • Layout presets: Ctrl+1 editor mode / Ctrl+2 dual-agent comparison / Ctrl+3 debug mode
  • Agent status visibility: Status bar shows live running-agent count; window titles indicate running / done / waiting-for-input

Quick Start

Prerequisites: Python 3.11+

# Install
pip install tuicode

# Launch in your project directory
cd your-project
tuicode

Common keybindings:

Shortcut Action
Ctrl+T New agent session (Claude Code / Codex / Aider / custom)
Ctrl+Shift+P Command palette
Ctrl+1 / 2 / 3 Switch layout preset
Alt+1 / 2 / 3 Quick-focus floating windows
Ctrl+\ Toggle tile / float mode
Ctrl+S Save current file
Ctrl+Q Quit

Run from Source

git clone https://github.com/wuguirong/tuicode.git
cd tuicode
pip install -e ".[dev]"
python -m tuicode

Run tests:

PYTHONPATH=src pytest -q

Tech Stack

  • Textual 0.60+ — TUI framework
  • pyte — VT220 terminal emulator (PTY output rendering)
  • PTY — Hosts CLI agents' complete interactive loops

Architecture

See docs/tuicode_architecture.md for details.

Core design principles:

  • Agents as first-class citizens: All UI components serve the agents — AI is not demoted to a sidebar plugin
  • Event bus: The only inter-module communication channel (FileOpened / FileModified / GitStatusChanged / AgentMessage etc.)
  • Workspace state aggregator: Continuously maintains active file, selection, recent file changes, and Git status
  • Protocol-driven: AgentAdapter protocol isolates agent implementation details; the host layer doesn't bind to any specific CLI tool

Contributing

Issues and PRs are welcome. Please read CONTRIBUTING.md before submitting.


License

MIT © 2026 Shenzhen Xuanshang Intelligence Technology Co., Ltd.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tuicode-0.1.0.tar.gz (94.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tuicode-0.1.0-py3-none-any.whl (79.4 kB view details)

Uploaded Python 3

File details

Details for the file tuicode-0.1.0.tar.gz.

File metadata

  • Download URL: tuicode-0.1.0.tar.gz
  • Upload date:
  • Size: 94.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tuicode-0.1.0.tar.gz
Algorithm Hash digest
SHA256 05447cd9be85e4fd14b23c41742cdddf8ef18daa40a78bf576031b4e73a1e158
MD5 b1549ecfd78aad9acf1eb948e8309baa
BLAKE2b-256 fd4f6580094c2a61b90902d4a971b7dd1ec8924b0ef52be65902e5fd8ba90803

See more details on using hashes here.

Provenance

The following attestation bundles were made for tuicode-0.1.0.tar.gz:

Publisher: publish.yml on wuguirongsg/tuicode

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tuicode-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tuicode-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 79.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tuicode-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a1522fcd3dbb63a078645a39d6a2d58a38d6b065af447675f9e8314853a91d8
MD5 d244deb0542e79e526a2f86b4b2e94d3
BLAKE2b-256 6164ce51e23d53b1b4cbfa10b3d403ce7ceb1037a8211b68576ef9e8d7f7bb26

See more details on using hashes here.

Provenance

The following attestation bundles were made for tuicode-0.1.0-py3-none-any.whl:

Publisher: publish.yml on wuguirongsg/tuicode

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page