···66bun run index.ts --help
77```
8899-Deploying a site
99+## Install (pre-built binary)
1010+1111+```bash
1212+# macOS (Apple Silicon)
1313+curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-aarch64-darwin
1414+chmod +x wisp-cli-aarch64-darwin
1515+1616+# macOS (Intel)
1717+curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-x86_64-darwin
1818+chmod +x wisp-cli-x86_64-darwin
1919+2020+# macOS (Universal)
2121+curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-darwin-universal
2222+chmod +x wisp-cli-darwin-universal
2323+2424+# Linux (x86_64)
2525+curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-x86_64-linux
2626+chmod +x wisp-cli-x86_64-linux
2727+2828+# Linux (ARM64)
2929+curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-aarch64-linux
3030+chmod +x wisp-cli-aarch64-linux
3131+```
3232+3333+## Deploy a site
3434+1035```bash
1136bun run index.ts deploy alice.bsky.social --path . --site my-blog
1237bun run index.ts alice.bsky.social --path . --site my-blog
1338```
14391515-List domains for an account:
4040+## Pull a site from PDS
4141+4242+Download a site from the PDS to your local machine (uses OAuth authentication):
16431744```bash
1818-bun run index.ts list domains alice.bsky.social
4545+# Pull to a specific directory
4646+bun run index.ts pull alice.bsky.social --site my-blog --output ./my-blog
4747+4848+# Pull to current directory
4949+bun run index.ts pull alice.bsky.social --site my-blog
1950```
20512121-List sites for an account:
5252+## Serve a site locally
5353+5454+Run a local server that monitors the firehose for real-time updates (uses OAuth authentication):
22552356```bash
2424-bun run index.ts list sites alice.bsky.social
5757+# Serve on http://localhost:8080 (default)
5858+bun run index.ts serve alice.bsky.social --site my-blog
5959+6060+# Serve on a custom port
6161+bun run index.ts serve alice.bsky.social --site my-blog --port 3000
6262+6363+# Enable SPA mode (serve index.html for all routes)
6464+bun run index.ts serve alice.bsky.social --site my-blog --spa
6565+6666+# Enable directory listing for paths without index files
6767+bun run index.ts serve alice.bsky.social --site my-blog --directory
2568```
26692727-Use an alternate proxy service DID:
7070+## List domains / sites
28712972```bash
3030-bun run index.ts list domains alice.bsky.social --service did:web:regents-macbook-air.west-major.ts.net
7373+bun run index.ts list domains alice.bsky.social
7474+bun run index.ts list sites alice.bsky.social
3175```
32763333-Domain CRUD examples:
7777+## Domain CRUD
34783579```bash
3680bun run index.ts domain claim alice.bsky.social --domain example.com
···4185bun run index.ts site delete alice.bsky.social --site mysite
4286```
43874444-OAuth note:
8888+## Options
8989+9090+Use an alternate proxy service DID:
9191+9292+```bash
9393+bun run index.ts list domains alice.bsky.social --service did:web:regents-macbook-air.west-major.ts.net
9494+```
9595+9696+## OAuth note
9797+4598- CLI requests `rpc:<nsid>?aud=*` scopes for Wisp XRPC methods.
4699- `--service did:...` controls proxy target (`atproto-proxy`), not scope audience (scoping audience couldnt work for me idk why).