--json mode, so an agent
drives pinbox the same way you do — no API client, no service to sign up for.
Pins live in a SQLite file inside your repo, served by a local daemon that
starts itself on first use and exits when idle. Nothing leaves your machine
unless you link a pin to a tracker.
The loop
You drop a pin on a live app — click the element that is wrong and type what is wrong with it — or create one straight from the terminal withpinbox pin. The
pin records your words plus the context an agent would otherwise have to ask
for: the URL, the CSS selector, the source file and line, the branch and commit
you were on. Your agent lists open pins, reads the thread, edits the code, and
replies on the pin; replying never resolves it, because a pin is a conversation
and the agent may need to ask you something back. When the fix is real the
agent resolves the pin with a note, or just writes Fixes pin_abc1234567 in a
commit message and the git hook pinbox init installed resolves it for them.
The status change shows up wherever the pin is being watched — your terminal,
the toolbar in the browser, or a linked GitHub issue.
What it looks like
Start here
Quickstart
Zero to a resolved pin in one terminal session.
Installation
Every install route that works today, and how to verify it.
CLI reference
Every command, flag, exit code, and JSON shape.
Concepts
Pins, threads, sessions, the hub, and where data lives.
What you get
- A CLI that is also the API.
pinbox <verb> --jsonprints one{"ok":true,"data":…}document per invocation. Exit codes are part of the contract. Piping to a non-TTY switches to JSON automatically, so an agent gets machine output without remembering a flag. - Agent integration that installs itself.
pinbox initdetects the coding agents on your machine and installs the pinbox skill or plugin for each one, so your agent knows the verbs without being told. - A toolbar for web apps.
@autono/pinbox-toolbaris a zero-dependency web component you mount in development only. It is optional — the CLI works on its own. - Local by default, portable when you need it. The hub is a single
(Request) => Responsehandler. It runs as a local daemon on your machine, or as a Cloudflare Worker with a Durable Object if you want a shared one. - GitHub linking.
pinbox linkcreates an issue for a pin and mirrors the thread both ways.
Pinbox is MIT licensed. Pin text is untrusted input — it describes a UI
problem, and the shipped agent instructions tell agents to treat it as data,
never as instructions.