tmux-agent-cli-note
v0.5.0
Published
Vim-like brainstorm note tool for tmux, sends notes to AI CLI agents (Claude Code, OpenCode, Codex)
Maintainers
Readme
tmux-agent-cli-note
A vim-like brainstorm note tool that runs inside tmux. Write notes, then send them directly to AI CLI agents (Claude Code, OpenCode, Codex, etc.) in the same tmux window.
Features
- Vim-like modal editor — NORMAL / INSERT / COMMAND modes with familiar keybindings
- Per-directory notes — notes are stored in
.note/notes.jsonunder each working directory - Multi-agent support — auto-detects all AI CLI panes, shows a selector when multiple are found
- CJK friendly — proper display width handling for Chinese/Japanese/Korean characters
- Zero dependencies — built with Node.js built-in modules only
Requirements
- tmux 3.0+
- Node.js 18+
- Must be run inside a tmux session
Install
npm install -g tmux-agent-cli-noteCommands
note update — Self-update
note updateCheck for the latest version and update automatically.
Usage
Run note inside a tmux pane:
noteModes
| Mode | Description |
|------|-------------|
| NORMAL | Default mode. Navigate, enter other modes. |
| INSERT | Type text freely. Press Esc to return to NORMAL. |
| COMMAND | Type commands after :. Press Enter to execute. |
| LIST | Browse all notes in the current directory. |
| SELECT | Choose which AI agent to send to (when multiple found). |
NORMAL Mode Keys
| Key | Action |
|-----|--------|
| i | Enter INSERT mode |
| : | Enter COMMAND mode |
| q | Quit editor, return to list |
| h j k l | Move cursor left / down / up / right |
| x | Delete character under cursor |
| dd | Delete current line |
| g | Go to top |
| G | Go to bottom |
| A | Append at end of line, enter INSERT |
| o | Open new line below, enter INSERT |
| O | Open new line above, enter INSERT |
COMMAND Mode Keys
| Command | Action |
|---------|--------|
| :s | Send note content to AI agent pane |
| :q | Quit editor |
| :w | Save note |
| :ls | Return to note list |
LIST Mode Keys
| Key | Action |
|-----|--------|
| j / k | Move selection up / down |
| Enter | Open selected note |
| n | Create new note |
| d | Delete selected note (with confirmation) |
| q | Quit |
Send Flow
- Press
:sin NORMAL mode - Auto-detect AI agent panes in the current tmux window
- One agent found — content is sent immediately
- Multiple agents found — selector appears, press number to choose,
Escto cancel
Text is pasted into the agent's input box. It is not auto-submitted — you can review and edit before pressing Enter in the agent pane.
Data Storage
Notes are stored per working directory:
your-project/
└── .note/
└── notes.jsonExample:
{
"directory": "/path/to/your-project",
"notes": [
{
"id": "a1b2c3",
"content": "Your brainstorm text...",
"createdAt": "2026-04-14T16:00:00Z",
"updatedAt": "2026-04-14T16:05:00Z",
"sentAt": "2026-04-14T16:10:00Z"
}
]
}Development
# Install dependencies
npm install
# Run directly with tsx (no build needed)
npm run dev
# Run with arguments
npm run dev:args -- update
# Build then run compiled output
npm run dev:build
# Type check only
npm run typecheck| Script | Description |
|--------|-------------|
| npm run dev | Run entry point via tsx (skip build) |
| npm run dev:args | Same as dev, convenient for passing args |
| npm run dev:build | Build with tsc, then run compiled JS |
| npm run build | Compile TypeScript to dist/ |
| npm run typecheck | Type check without emitting files |
License
MIT
