feat(cli): add client commands and home-based local runtime defaults

This commit is contained in:
Forgotten
2026-02-20 07:10:58 -06:00
parent 8e3c2fae35
commit 8f3fc077fa
40 changed files with 2284 additions and 138 deletions

View File

@@ -12,12 +12,12 @@ pnpm dev
That's it. On first start the server:
1. Creates a `./server/data/embedded-postgres/` directory for storage
1. Creates a `~/.paperclip/instances/default/db/` directory for storage
2. Ensures the `paperclip` database exists
3. Runs migrations automatically for empty databases
4. Starts serving requests
Data persists across restarts in `./server/data/embedded-postgres/`. To reset local dev data, delete that directory.
Data persists across restarts in `~/.paperclip/instances/default/db/`. To reset local dev data, delete that directory.
This mode is ideal for local development and one-command installs.
@@ -115,7 +115,7 @@ The database mode is controlled by `DATABASE_URL`:
| `DATABASE_URL` | Mode |
|---|---|
| Not set | Embedded PostgreSQL (`./server/data/embedded-postgres/`) |
| Not set | Embedded PostgreSQL (`~/.paperclip/instances/default/db/`) |
| `postgres://...localhost...` | Local Docker PostgreSQL |
| `postgres://...supabase.com...` | Hosted Supabase |
@@ -131,8 +131,8 @@ Paperclip stores secret metadata and versions in:
For local/default installs, the active provider is `local_encrypted`:
- Secret material is encrypted at rest with a local master key.
- Default key file: `./data/secrets/master.key` (auto-created if missing).
- CLI config location: `.paperclip/config.json` under `secrets.localEncrypted.keyFilePath`.
- Default key file: `~/.paperclip/instances/default/secrets/master.key` (auto-created if missing).
- CLI config location: `~/.paperclip/instances/default/config.json` under `secrets.localEncrypted.keyFilePath`.
Optional overrides: