{
  "markdown": "# pi-desktop\n\n`pi-desktop` is an open-source macOS desktop command center for the Pi coding agent CLI.\n\nProduct context and roadmap live in [docs/pi-desktop-high-level-roadmap.md](docs/pi-desktop-high-level-roadmap.md).\n\n## Prerequisites\n\n* macOS\n* Node.js 24.x\n* pnpm 11.1.1\n\nUse Corepack to activate the pinned pnpm version:\n\n```bash\ncorepack enable\ncorepack prepare pnpm@11.1.1 --activate\n```\n\n## Install\n\n```bash\npnpm install\n```\n\n## Develop\n\n```bash\npnpm dev\n```\n\n```bash\npnpm dev:desktop\n```\n\n`pnpm dev` aliases desktop development. Starts the Electron desktop app in development mode.\n\n```bash\npnpm dev:web\n```\n\nStarts the browser preview and a local app data bridge. The preview uses the same persisted project/chat store and Pi session runtime boundary as the desktop app. Native folder picker operations return a visible unsupported-operation error in web preview.\n\n## Check\n\n```bash\npnpm check:pre-push\n```\n\n`pnpm check:pre-push` runs the fast local gate: formatting, linting, typechecking, and unit tests. The pre-push hook uses this gate by default.\n\n```bash\npnpm check\n```\n\n`pnpm check` runs formatting, linting, typechecking, unit tests, coverage, and Electron/web smoke tests. To run the full gate during push, use `FULL_PRE_PUSH=1 git push`.\n\nSmoke tests run headless by default so they do not steal focus while you work. To watch them locally, use `pnpm test:smoke:headed` or set `PI_DESKTOP_SMOKE_HEADED=1`.\n\nRun the current UAT evidence check with `pnpm test:uat`.\n\n## Package Locally\n\n```bash\npnpm package\n```\n\nMilestone 0 produces an unsigned local macOS package. Signing, notarization, CD, and release publishing are deferred.",
  "bytes": 1649,
  "sha": "2157b880da32fc66dc40f18e7345f75c6757601b3af7640d3e6e615ca82fec2a",
  "repo_slug": "gannonh/pi-desktop",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_gannonh_pi_desktop_docs_index_md_62bc73b0/readme"
}