Tmux layout manager with YAML based configuration.
npm install pekyAll your terminal AI agents, just one app.
Peky puts all your AI Agents like Claude Code, Codex CLI, pi, opencode e.g. into a single app to keep things organized.




Running multiple agents on different projects at the same time takes real organization and
a different approach to how we do agentic coding.
I built peky to solve my own problems with juggling too many windows and wasting time on setup
and rebuilding the same environment every time. It lets you build your own reusable
window layouts and better-organized projects.
- 🧠 AI agent orchestration - Run Codex/Claude/agents side by side with quick replies, slash commands, and broadcast
- 🗂️ Multi-project dashboard - See every project/session in one TUI without switching windows
- 🖱️ Mouse support - Create, Select, resize and drag panes.
- 🎯 Zero config - Just run peky in any directory
- 🧭 Persistent native daemon - Sessions keep running after the UI exits
- 📜 Scrollback + copy mode - Navigate output and yank from native panes
- ⌘ Command palette - Quick actions, including renaming sessions/panes
- 🧠 Native live previews - Full TUI support (vim/htop) with live panes
- 📁 Project-local config - Commit .peky.yml to git for team sharing

Using npm
``bash`
npm i -g peky
peky
Using homebrew
`bash`
brew tap regenrek/tap
brew install regenrek/tap/peky
brew services start peky
peky
Start:
`bash`
peky start
Create project-local config (recommended for teams):
`bash`
cd your-project
peky init --localEdit .peky.yml
git add .peky.yml # Share with team
- Configuration & layouts
- Layout builder guide
- Dashboard & keybindings
- CLI reference
- Performance tuning
- Testing
- Daemon & troubleshooting
- Release process
Define layouts in YAML, share them with your team via git, and get consistent environments everywhere. Sessions are owned by a native daemon so they keep running after the UI exits.
Project-local config lives in .peky.yml, and global config lives in ~/.config/peky/config.yml.
See the full schema, built-in layouts, and variable expansion in docs/configuration.md.
`yaml
session: my-project
layout:
panes:
- title: editor
cmd: "${EDITOR:-}"
- title: server
cmd: "npm run dev"
split: horizontal
`
The dashboard shows projects, sessions, live previews, and an always-visible action line.
Default typing goes to the selected pane; click the action line for / slash commands, @ file picker, and structured actions. Use ctrl+k to toggle RAW (pure terminal).
See docs/dashboard.md for keybindings, input routing, and dashboard configuration.
See docs/cli.md for the full command list and examples.
See docs/testing.md for the full test matrix and CI notes.
For heavy concurrency/regression coverage, run scripts/cli-stress.sh locally.
For profiling + benchmarks, see docs/performance.md.
See RELEASE-DOCS.md for the full release checklist (tests, tag, GoReleaser, npm publish).
1. Run peky init --local in your project.peky.yml
2. Customize for your stackpeky` - done!
3. Commit to git
4. Teammates install peky and run
MIT
@pi-mono - peky agent is inspired by PI / Mario Zechner's work.
(Direct pi integration would've been ideal, but 60 MB of Node for agent + sidecar isn't worth it)
@charm - peaky is using bubbletea and lipgloss framework by charm
- X/Twitter: @kregenrek
- Bluesky: @kevinkern.dev
* my other projects - Find other tools on my gh profile
* instructa - Instructa Projects