Pimpo
Documentation

Contributing#

Thanks for helping. A few things keep Pimpo trustworthy:

Where to start#

Setting up#

You need Go (the version in go.mod; the toolchain downloads itself), Node 24 (see .nvmrc) and, for the desktop app, Rust stable with the Tauri prerequisites for your system.

git clone https://github.com/turbine-dev/pimpo.git
cd pimpo
make build
./bin/pimpo serve --demo

--demo starts with sample data and fake connectors, so nothing reaches your real accounts. Open the address it prints.

CommandWhat it does
make buildweb app and server into bin/pimpo
make checkformatting, vet, type checks, UI tests, web build and Go tests with the race detector: run it before every commit
make e2ebrowser flows and accessibility checks against the demo (Playwright)
make proofthe routine proof suite: explores and compiles real tasks with a model (uses your Claude Code subscription)
make desktopthe desktop app for this computer, with this computer's server inside
make installon macOS, puts that app in /Applications, keeping the previous one

Live tests that talk to real services or model CLIs sit behind the live build tag and never run in CI: go test -tags live ./internal/llm/.

How the code is laid out#

PathWhat lives there
cmd/pimpothe command line and server entry point
cmd/proofthe proof harness that explores, compiles and checks routines
internal/appthe HTTP API and how the parts are wired together
internal/explore, internal/compilerexploring a task with a model, and compiling it into a routine
internal/runtime, internal/host, internal/routine, internal/tracerunning routines and checking them against their tests
internal/capability, internal/policy, internal/approval, internal/undowhat routines may do, the rules, approvals and undo
internal/connector/...built-in connectors; external runs MCP, JSON and OpenAPI connectors
internal/llm, internal/models, internal/judgemodel providers and CLIs, and the judgment model
internal/vault, internal/event, internal/storesecrets, the tamper-evident log and storage
ui/the React web app, also used inside the desktop and phone apps
desktop/the Tauri shell for macOS, Windows, Linux, iOS and Android
gallery/, protection/, guard/the routine gallery, the protection list and the Guard plugins
examples/connectorscomplete connectors to copy from
docs/user and developer documentation, published on the website by scripts/site_docs.py (run it and open site/docs/index.html to preview; a new document needs a line in its SECTIONS, a new user-guide section a place in GUIDE)

RFCs#

Copy docs/rfcs/0000-template.md to docs/rfcs/NNNN-short-name.md and open a pull request. Discussion stays open at least 7 days. Two maintainers approve, one of them outside the author's organization.

Pull requests#

Releases#

Maintainers tag vX.Y.Z; CI builds the command-line binaries, the desktop installers and a draft release, which a maintainer checks and publishes. See Releases and support.

Conduct#

Everyone taking part follows the Code of Conduct.

This page is built from the repository's documentation. Improve it on GitHub.