wispctl
v1.0.10
Published
CLI for wisp.place - deploy static sites to the AT Protocol
Readme
wispctl CLI
Run from the cli/ directory:
bun run index.ts --helpInstall (pre-built binary)
# macOS (Apple Silicon)
curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-aarch64-darwin
chmod +x wisp-cli-aarch64-darwin
# macOS (Intel)
curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-x86_64-darwin
chmod +x wisp-cli-x86_64-darwin
# macOS (Universal)
curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-darwin-universal
chmod +x wisp-cli-darwin-universal
# Linux (x86_64)
curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-x86_64-linux
chmod +x wisp-cli-x86_64-linux
# Linux (ARM64)
curl -O https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-aarch64-linux
chmod +x wisp-cli-aarch64-linuxDeploy a site
bun run index.ts deploy alice.bsky.social --path . --site my-blog
bun run index.ts alice.bsky.social --path . --site my-blogPull a site from PDS
Download a site from the PDS to your local machine (uses OAuth authentication):
# Pull to a specific directory
bun run index.ts pull alice.bsky.social --site my-blog --output ./my-blog
# Pull to current directory
bun run index.ts pull alice.bsky.social --site my-blogServe a site locally
Run a local server that monitors the firehose for real-time updates (uses OAuth authentication):
# Serve on http://localhost:8080 (default)
bun run index.ts serve alice.bsky.social --site my-blog
# Serve on a custom port
bun run index.ts serve alice.bsky.social --site my-blog --port 3000
# Enable SPA mode (serve index.html for all routes)
bun run index.ts serve alice.bsky.social --site my-blog --spa
# Enable directory listing for paths without index files
bun run index.ts serve alice.bsky.social --site my-blog --directoryList domains / sites
bun run index.ts list domains alice.bsky.social
bun run index.ts list sites alice.bsky.socialDomain CRUD
bun run index.ts domain claim alice.bsky.social --domain example.com
bun run index.ts domain claim-subdomain alice.bsky.social --subdomain alice
bun run index.ts domain status alice.bsky.social --domain example.com
bun run index.ts domain add-site alice.bsky.social --domain example.com --site mysite
bun run index.ts domain delete alice.bsky.social --domain example.com
bun run index.ts site delete alice.bsky.social --site mysiteOptions
Use an alternate proxy service DID:
bun run index.ts list domains alice.bsky.social --service did:web:regents-macbook-air.west-major.ts.netOAuth note
- CLI requests
rpc:<nsid>?aud=*scopes for Wisp XRPC methods. --service did:...controls proxy target (atproto-proxy), not scope audience (scoping audience couldnt work for me idk why).
