Local Development
Run Paperclip locally with zero external dependencies.
Prerequisites
Section titled “Prerequisites”- Node.js 20+
- pnpm 9+
Start Dev Server
Section titled “Start Dev Server”pnpm installpnpm devThis starts:
- API server at
http://localhost:3100 - UI served by the API server in dev middleware mode (same origin)
No Docker or external database required. Paperclip uses embedded PostgreSQL automatically.
One-Command Bootstrap
Section titled “One-Command Bootstrap”For a first-time install:
pnpm paperclipai runThis does:
- Auto-onboards if config is missing
- Runs
paperclipai doctorwith repair enabled - Starts the server when checks pass
Tailscale/Private Auth Dev Mode
Section titled “Tailscale/Private Auth Dev Mode”To run in authenticated/private mode for network access:
pnpm dev --tailscale-authThis binds the server to 0.0.0.0 for private-network access.
Alias:
pnpm dev --authenticated-privateAllow additional private hostnames:
pnpm paperclipai allowed-hostname dotta-macbook-proFor full setup and troubleshooting, see Tailscale Private Access.
Health Checks
Section titled “Health Checks”curl http://localhost:3100/api/health# -> {"status":"ok"}
curl http://localhost:3100/api/companies# -> []Reset Dev Data
Section titled “Reset Dev Data”To wipe local data and start fresh:
rm -rf ~/.paperclip/instances/default/dbpnpm devData Locations
Section titled “Data Locations”| Data | Path |
|---|---|
| Config | ~/.paperclip/instances/default/config.json |
| Database | ~/.paperclip/instances/default/db |
| Storage | ~/.paperclip/instances/default/data/storage |
| Secrets key | ~/.paperclip/instances/default/secrets/master.key |
| Logs | ~/.paperclip/instances/default/logs |
Override with environment variables:
PAPERCLIP_HOME=/custom/path PAPERCLIP_INSTANCE_ID=dev pnpm paperclipai run