Skip to content

Repository files navigation

pidex, a desktop workbench for the Pi coding agent

A desktop workbench for the Pi coding agent.Workspace-first, not chat-first.

Quick Start · Architecture

CIElectron 41React 19TypeScript 6

Why this exists

Daily coding-agent work means juggling repos, branches, and sessions, and the current tools are chat-first. pidex is the kitchen bench: every active repo, its branch, its sessions, and what's stale, visible in one glance.

In action

BootLoaded
App booting, workspaces populateThe workbench, fully loaded

Quick Start

You need mise and the Pi CLI. The dashboard reads existing sessions from ~/.pi/agent/sessions.

$ git clone git@github.com:echohello-dev/pidex.git &&cd pidex
$ mise install
$ bun install
$ mise run dev # starts Vite + Electron

For a production build: mise run build then mise run start.

Architecture

┌────────────────────────────────────────┐
│ Renderer (React 19) │ ← dashboard, session tabs, timeline
└───────────────────┬────────────────────┘
│ typed IPC (window.pidex)
┌───────────────────▼────────────────────┐
│ Main process (Electron) │ ← workspace registry, event normalization
└───────────────────┬────────────────────┘
│ NDJSON over stdio
┌───────────────────▼────────────────────┐
│ Pi runtime (`pi --mode rpc`) │ ← one supervised subprocess per session
└────────────────────────────────────────┘

Pi runs out-of-process over RPC so the UI survives a runtime crash. Pretext handles text measurement so virtualized lists stay smooth in long sessions. Full detail in docs/pidex-architecture.md.

Built on

LayerChoice
ShellElectron 41, context-isolated, typed window.pidex preload bridge
UIReact 19.2, Vite 8 with HMR
Text@chenglou/pretext, DOM-free
LanguageTypeScript 6
Package managerBun
Toolchainmise, all commands via mise run

License

Apache-2.0: see the file for full text. Personal project, shared in the open.

Star History

Star History Chart

About

🤖 Yet another coding agent harness with Pi

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages