Skip to content

alivault/pico

Repository files navigation

Pico

Pico is a local, keyboard-friendly browser workspace for Pi coding-agent sessions.

It gives you a persistent session browser, a live conversation shell, git tools, and project-aware prompt helpers in one app.

Pico workspace showing the session browser, conversation shell, composer, and git tools

Pico workspace showing project-aware context and coding-agent workflow

Dark mobile Light mobile
Pico mobile session view in dark mode Pico mobile session view in light mode

What Pico gives you

  • A fast conversation shell for Pi sessions
  • Directory-organized session browsing
  • Session search, rename, delete, fork, and tree navigation
  • Streaming responses with abort, steer, and queued follow-ups
  • Prompt drafts, image attachments, slash commands, path completions, and @file references
  • Model and thinking-level controls
  • Optional hiding of thinking/tool output
  • Git status, changed files, commits, branches, pull, push, and commit flows
  • Desktop notifications, sound, and unread/live session indicators
  • Settings for theme, display, auth, and completion notifications

Built on Pi

Pico runs Pi locally through the bundled @earendil-works/pi-coding-agent SDK dependency, pinned to 0.74.0 for reproducible installs. You do not need a separate global Pi install for normal use.

If you intentionally want to test Pico against a different Pi SDK checkout or install, set:

PI_REMOTE_PI_SDK_DIR=/path/to/pi-coding-agent

To update the bundled Pi SDK dependency:

pnpm update:pi

Getting started

Run Pico without cloning the repo:

npx @alivault/pico

Or install it globally:

npm install -g @alivault/pico
pico-app

Pico starts locally and opens:

http://localhost:3141

You can choose a different port with:

pico-app --port 3000

Update a global install with:

pico-app update

Developing from source

Install dependencies:

pnpm install

Start Pico in development mode:

pnpm dev

Then open:

http://localhost:3141

Development commands

pnpm dev        # start the dev server
pnpm build      # build for production
pnpm preview    # preview the production build
pnpm check      # format/lint/typecheck
pnpm check:fix  # format/lint/typecheck with fixes
pnpm release patch # check, build, version, tag, and push a release

Releasing

After committing changes, run one of:

pnpm release patch
pnpm release minor
pnpm release major

The release script verifies a clean, up-to-date main, runs checks and build, bumps package.json, creates the matching v*.*.* tag, and pushes the branch plus tags. The GitHub release workflow publishes the npm package from the pushed tag.

Tech stack

Pico is built with:

  • TanStack Start, Router, Query, Store, Hotkeys, and Pacer
  • React 19
  • TypeScript
  • Vite+ and Nitro
  • Tailwind CSS v4
  • Base UI / shadcn-style components
  • Pi SDK

License

Pico is licensed under AGPL-3.0-only. See LICENSE.

About

Pico is a local, keyboard-friendly browser workspace for Pi coding-agent sessions.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors