Wisp CLI v2.1.2
A command-line tool for deploying and serving static websites. Deploy to your own account, serve with live updates, and manage your domains — all from the terminal.
Learn more at wisp.place.
Features
- > Deploy — Push static sites directly from your terminal to your account
- > Serve — Run a local server with real-time firehose updates
- > Pull — Download sites for development or backup. You always own your data.
- > Domains — Claim, manage, and assign custom domains and subdomains on wisp.place
- > Accounts — Log in once with OAuth or an app password; credentials are kept in your OS keychain and reused from any directory
Download v2.1.2
macOS (Apple Silicon)
wisp-cli-aarch64-darwin
macOS (Intel)
wisp-cli-x86_64-darwin
Linux (ARM64)
wisp-cli-aarch64-linux
Linux (x86_64)
wisp-cli-x86_64-linux
Windows (x86_64)
wisp-cli-x86_64-windows.exe
SHA-256 Checksums
checksums
28026797cc909a9101e459ff901768203e5bcbefc96eff1d00cf00f190601940 wisp-cli-aarch64-darwin ac5d72d1ddda95dc992add98bda56cb8519120407f6d31b8c1a58182d22f2299 wisp-cli-aarch64-linux 655fb3b7fcd5285338e22620548466d49023386973e4005465bcca93c4b9950b wisp-cli-darwin-universal 537f2d7905b9b2c07ff778bd7d1aa6b7ee7c082bd8f6f59ef86a0e4729e5a4e7 wisp-cli-x86_64-darwin 79a6250c5bcc0d2cf6b93a7a7550255bba78351af73566aca908f07a5def8fbc wisp-cli-x86_64-linux 0ea68a9f0c9bf3a9973882645adc13befdc3698fdd8c11556594be2d7979f002 wisp-cli-x86_64-windows.exe
Basic Usage
Deploy a Site
bash
# Deploy your site ./wisp-cli deploy your-handle.bsky.social \ --path ./dist \ --site my-site # Your site will be available at: # https://sites.wisp.place/your-handle/my-site
Pull a Site
Download a site to your local machine for backup or development:
bash
# Pull a site to a specific directory ./wisp-cli pull your-handle.bsky.social \ --site my-site \ --path ./my-site # Pull to current directory ./wisp-cli pull your-handle.bsky.social \ --site my-site
Serve with Live Updates
Run a local server that monitors the firehose for real-time updates:
bash
# Serve on http://localhost:8080 (default) ./wisp-cli serve your-handle.bsky.social \ --site my-site # Serve on a custom port ./wisp-cli serve your-handle.bsky.social \ --site my-site \ --port 3000 # Enable SPA mode (serve index.html for all routes) ./wisp-cli serve your-handle.bsky.social \ --site my-site \ --spa # Enable directory listing ./wisp-cli serve your-handle.bsky.social \ --site my-site \ --directory-listing
Domain Management
bash
# Claim a custom domain ./wisp-cli domain claim your-handle.bsky.social --domain example.com # Claim a subdomain ./wisp-cli domain claim-subdomain your-handle.bsky.social --subdomain alice # Check domain status ./wisp-cli domain status your-handle.bsky.social --domain example.com # Attach a site to a domain ./wisp-cli domain add-site your-handle.bsky.social --domain example.com --site mysite # Delete a domain or site ./wisp-cli domain delete your-handle.bsky.social --domain example.com ./wisp-cli site delete your-handle.bsky.social --site mysite
List Domains & Sites
bash
./wisp-cli list domains your-handle.bsky.social ./wisp-cli list sites your-handle.bsky.social
Options
Use an alternate proxy service DID:
bash
./wisp-cli list domains your-handle.bsky.social --service did:web:example.com
CI/CD Integration
Deploy automatically on every push using Tangled Spindle:
spindle.yaml
when:
- event: ['push']
branch: ['main']
- event: ['manual']
engine: 'nixery'
clone:
skip: false
depth: 1
environment:
SITE_PATH: 'dist'
SITE_NAME: 'my-site'
WISP_HANDLE: 'your-handle.bsky.social'
steps:
- name: build site
command: |
bun install && bun run build
- name: deploy to wisp
command: |
curl https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-x86_64-linux -o wisp-cli
chmod +x wisp-cli
./wisp-cli deploy "$WISP_HANDLE" \
--path "$SITE_PATH" \
--site "$SITE_NAME" \
--password "$WISP_APP_PASSWORD"
Note: Set
WISP_APP_PASSWORD as
a secret in your Tangled Spindle repository settings.