Documentation
Set up in an evening.
Three guides take you from install to a fully connected system: the app on your phone, your queue in your terminal, your data on your dashboard.
BETA · commands and paths may shift before public releaseInstall & sign in
- Request a beta invite — you'll get a TestFlight link. Install TestFlight from the App Store first if you don't have it.
- Open Prologue. On the welcome screen, enter your email and tap Email me a sign-in link.
- Open the email on the same iPhone and tap the link — it bounces straight back into the app, signed in. No password, no code.
- Capture your first cue: type or dictate a prompt and hit Capture.
Offline by design: capture works with no signal and no account — cues live on the device and sync whenever you're next online and signed in. Dictation runs on-device and handles pauses and long rambles.
Register the MCP — your queue in the terminal
The MCP server puts your cue queue inside Claude Code (or any MCP-capable agent). Add one block to ~/.claude.json under mcpServers:
"prologue": { "command": "/path/to/prologue-mcp/run.sh", "env": { "SUPABASE_URL": "https://<your-project>.supabase.co", "SUPABASE_SERVICE_ROLE_KEY": "<service-role key>", "PROLOGUE_OWNER_ID": "<your auth user id>" } }
Restart your session and the tools are live:
| TOOL | WHAT IT DOES |
|---|---|
list_pending_cues | Show what's waiting, newest first, with quality scores |
dispatch_cue | Pull a cue in as the working prompt and mark it dispatched |
capture_cue | Capture from the terminal — it appears on your phone too |
write_outcome | Record how the prompt went — feeds your fitness trend |
score_cue | Score a cue's quality on demand |
Bonus: capture without leaving the shell
The plg CLI captures a cue in one line — with an offline spool, so a capture never fails even with no network:
❯ plg "Refactor the sync engine to retry with backoff"
Keep keys server-side: the service-role key belongs in your shell environment and server configs only — never in a mobile app, a browser, or a git repo.
Wire your dashboard
Your queue is a plain Postgres table in your own Supabase project — point anything at it. The schema:
| COLUMN | MEANING |
|---|---|
id | Client-generated UUID — stable across offline/online |
body | The prompt text |
kind · status | Cue type · lifecycle (captured → queued → dispatched…) |
project_tag | Free-form routing tag |
created_at · updated_at | Capture time (client) · last change (server-stamped) |
owner_id · device · captured_offline | Whose, from where, and how it was born |
The morning-dashboard query is one line:
select body, kind, project_tag, created_at from cues where status = 'captured' order by created_at desc;
- Server-side reads use the service-role key; browser-side reads go through your own API route.
- Poll on
updated_at(server-stamped), notcreated_at— offline captures arrive late with old capture times. - A ready-made Next.js panel ships with the public beta.
- Where does my data live?
- In your own Supabase project — you hold the keys. Export or query it any time; deleting your project deletes everything.
- What happens at 1,000 notes on Free?
- Your oldest notes are deleted to make room for new ones. Capture never stops — your history does. Pro ($10/mo or $80/yr) keeps everything.
- Does dictation need the network?
- No — transcription runs on-device. Long dictations with pauses are fine.
- Android? Web capture?
- On the roadmap. The backend and MCP are platform-neutral already.