A silent TUI task board that watches your JSON. Agent-agnostic. Layout-agnostic. Zero friction.
Project description
mutsumi ♪
The silent task brain for the multi-threaded you.
A minimal TUI task board that watches your tasks.json and stays out of your way. Let your AI agent be the brain — Mutsumi is just the eyes.
┌─────────────────────────────────────────────────────┐
│ [Today] [Week] [Month] [Inbox] mutsumi ♪ │
├─────────────────────────────────────────────────────┤
│ │
│ ▼ HIGH ───────────────────────────────────────── │
│ [ ] Refactor Auth module dev,backend ★★★│
│ [x] Fix cache penetration bug bugfix ★★★│
│ │
│ ▼ NORMAL ─────────────────────────────────────── │
│ [ ] Write weekly report life ★★ │
│ [ ] Review PR #42 dev ★★ │
│ └─ [ ] Check type safety (1/2) │
│ └─ [x] Run tests │
│ │
│ ▼ LOW ────────────────────────────────────────── │
│ [ ] Update README docs ★ │
│ │
├─────────────────────────────────────────────────────┤
│ 6 tasks · 2 done · 4 pending │
└─────────────────────────────────────────────────────┘
Why Mutsumi?
You're running Claude Code in one terminal, Codex CLI in another, browsing Reddit, chatting on Discord — all at the same time. You need a task board that:
- Summons in < 1 second — no loading, no login, no network
- Auto-refreshes when your AI agent writes to
tasks.json - Stays out of your way — no opinions, no workflow enforcement
- Works with any agent — Claude Code, Codex CLI, Gemini CLI, Aider, or a shell script
That's Mutsumi. She watches your JSON and re-renders instantly. That's it.
Install
# Beta install (from git)
uv tool install git+https://github.com/ywh555hhh/Mutsumi.git
No Python pre-install needed — uv manages everything.
# Alternative
pipx install mutsumi
# For hackers
git clone https://github.com/ywh555hhh/Mutsumi.git
cd Mutsumi && uv sync && uv run mutsumi
Quick Start
# Launch the TUI (watches tasks.json in current dir)
mutsumi
# Interactive setup (one screen, all options)
mutsumi init
# Setup agent integration
mutsumi setup --agent claude-code
How It Works
┌──────────────┐ ┌────────────┐ ┌──────────────┐
│ AI Agent │───────▶│ tasks.json │◀───────│ You (TUI) │
│ (Controller)│ write │ (Model) │ watch │ (View) │
└──────────────┘ └────────────┘ └──────────────┘
MVC separation: Agents write JSON. Mutsumi watches and renders. You click and it writes back. Simple.
Features
- Hot-reload: File changes re-render the TUI instantly (100ms debounce)
- Vim/Emacs/Arrow keybindings: Choose your style, or define custom keys
- 4 built-in themes: Monochrome Zen (default), Solarized, Nord, Dracula
- i18n: English, Chinese, Japanese out of the box
- Agent-agnostic: Any program that writes JSON is a valid controller
- Zero network: 100% local. No telemetry. No cloud. Your data stays yours.
- Hackable: TOML config, custom themes, custom keybindings — mod everything
Agent Integration
Your AI agent just needs to read/write tasks.json:
# One-liner: install + configure + integrate
uv tool install mutsumi && mutsumi init --defaults && mutsumi setup --agent claude-code
Supported agents: Claude Code, Codex CLI, Gemini CLI, OpenCode, Aider, or any custom script.
See Agent Protocol for details. Also see AGENT.md for a one-page cheat sheet.
Terminal Integration
tmux (recommended)
# One command: left shell + right Mutsumi split-pane
bash scripts/tmux-dev.sh
# Custom session name & width
MUTSUMI_WIDTH=40 bash scripts/tmux-dev.sh my-project
iTerm2
Cmd+Dto split vertically- Right pane:
mutsumi - Left pane: your agent / shell
Demo
# Run the demo script in the left pane to see live-reload in action
bash scripts/demo.sh
Documentation
| Document | Description |
|---|---|
| RFC-001: Core Architecture | Product definition & architecture |
| RFC-002: Installation | Install & onboarding experience |
| RFC-003: i18n Strategy | Documentation internationalization |
| Data Contract | tasks.json schema specification |
| Agent Protocol | Agent integration protocol |
| TUI Spec | TUI interaction specification |
| Roadmap | Development roadmap |
| Brand | Brand identity |
Contributing
See CONTRIBUTING.md.
License
mutsumi (若叶睦) — "harmony, closeness." She doesn't tell you what to do. She just waits there, quietly.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mutsumi_tui-1.0.0b1.tar.gz.
File metadata
- Download URL: mutsumi_tui-1.0.0b1.tar.gz
- Upload date:
- Size: 103.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2da1aac686368de4c52c559a79ecb8d7713f07a8bc1f1929181d7d55f9393023
|
|
| MD5 |
b33c8d9b48f878cb804c9fada192aab1
|
|
| BLAKE2b-256 |
9a35547d23d9c4cc2dcae84f8be549500637ee3cf2d4edfd7928a5b7b9614d47
|
File details
Details for the file mutsumi_tui-1.0.0b1-py3-none-any.whl.
File metadata
- Download URL: mutsumi_tui-1.0.0b1-py3-none-any.whl
- Upload date:
- Size: 98.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1061add6c7db834f49523e33055fd9cd7281331c5cc364101164b5e823d6108
|
|
| MD5 |
62f265d9ee42fd566dd34ac8a2cf8d29
|
|
| BLAKE2b-256 |
8967195f4ff0ef199c6153b6ad1cfe295640246492628667dc30356cde9d6326
|