alpha
Login
or
Join now
nekomimi.pet
/
wisp.place-monorepo
Star
1
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol.
wisp.place
Star
1
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
update cli docs
author
nekomimi.pet
date
2 months ago
(May 2, 2026, 12:50 AM -0400)
commit
d98a3748
d98a3748351d44abff9fa6fac39900a913609d6b
parent
4ce130c5
4ce130c53907bac63e2367e61abbb95209802b66
0/2
deploy-wisp.yml
pending
41s
test.yml
pending
43s
+26
-34
1 changed file
Expand all
Collapse all
Unified
Split
docs
src
content
docs
cli.md
+26
-34
docs/src/content/docs/cli.md
View file
Reviewed
···
17
17
- **Authenticate** with app password or OAuth
18
18
- **Incremental updates**: Only upload changed files
19
19
20
20
+
## Recommended Install
21
21
+
22
22
+
`npm install -g wispctl@latest`
23
23
+
20
24
## Downloads
21
25
22
26
<div class="downloads">
···
64
68
</code></pre>
65
69
66
70
</div>
71
71
+
72
72
+
note: the tool used to be named wisp-cli and downloadable binaries are kept this way to preseve compatibility with CI
67
73
68
74
## CI/CD Integration
69
75
···
128
134
chmod +x wisp-cli-aarch64-darwin
129
135
130
136
# Deploy your site
131
131
-
./wisp-cli-aarch64-darwin deploy your-handle.bsky.social \
137
137
+
wispctl deploy your-handle.bsky.social \
132
138
--path ./dist \
133
139
--site my-site
134
140
```
···
139
145
140
146
```bash
141
147
# Claim a custom domain
142
142
-
./wisp-cli domain claim your-handle.bsky.social --domain example.com
148
148
+
wispctl domain claim your-handle.bsky.social --domain example.com
143
149
144
150
# Claim a subdomain
145
145
-
./wisp-cli domain claim-subdomain your-handle.bsky.social --subdomain alice
151
151
+
wispctl domain claim-subdomain your-handle.bsky.social --subdomain alice
146
152
147
153
# Check domain status
148
148
-
./wisp-cli domain status your-handle.bsky.social --domain example.com
154
154
+
wispctl domain status your-handle.bsky.social --domain example.com
149
155
150
156
# Attach a site to a domain
151
151
-
./wisp-cli domain add-site your-handle.bsky.social --domain example.com --site mysite
157
157
+
wispctl domain add-site your-handle.bsky.social --domain example.com --site mysite
152
158
153
159
# Delete a domain or site
154
154
-
./wisp-cli domain delete your-handle.bsky.social --domain example.com
155
155
-
./wisp-cli site delete your-handle.bsky.social --site mysite
160
160
+
wispctl domain delete your-handle.bsky.social --domain example.com
161
161
+
wispctl site delete your-handle.bsky.social --site mysite
156
162
```
157
163
158
164
### List Domains & Sites
159
165
160
166
```bash
161
161
-
./wisp-cli list domains your-handle.bsky.social
162
162
-
./wisp-cli list sites your-handle.bsky.social
167
167
+
wispctl list domains your-handle.bsky.social
168
168
+
wispctl list sites your-handle.bsky.social
163
169
```
164
170
165
171
### Options
···
167
173
Use an alternate proxy service DID:
168
174
169
175
```bash
170
170
-
./wisp-cli list domains your-handle.bsky.social --service did:web:example.com
176
176
+
wispctl list domains your-handle.bsky.social --service did:web:example.com
171
177
```
172
178
173
179
### Pull a Site from PDS
···
176
182
177
183
```bash
178
184
# Pull a site to a specific directory
179
179
-
wisp-cli pull your-handle.bsky.social \
185
185
+
wispctl pull your-handle.bsky.social \
180
186
--site my-site \
181
187
--path ./my-site
182
188
183
189
# Pull to current directory
184
184
-
wisp-cli pull your-handle.bsky.social \
190
190
+
wispctl pull your-handle.bsky.social \
185
191
--site my-site
186
192
```
187
193
···
191
197
192
198
```bash
193
199
# Serve on http://localhost:8080 (default)
194
194
-
wisp-cli serve your-handle.bsky.social \
200
200
+
wispctl serve your-handle.bsky.social \
195
201
--site my-site
196
202
197
203
# Serve on a custom port
198
198
-
wisp-cli serve your-handle.bsky.social \
204
204
+
wispctl serve your-handle.bsky.social \
199
205
--site my-site \
200
206
--port 3000
201
207
202
208
# Enable SPA mode (serve index.html for all routes)
203
203
-
wisp-cli serve your-handle.bsky.social \
209
209
+
wispctl serve your-handle.bsky.social \
204
210
--site my-site \
205
211
--spa
206
212
207
213
# Enable directory listing for paths without index files
208
208
-
wisp-cli serve your-handle.bsky.social \
214
214
+
wispctl serve your-handle.bsky.social \
209
215
--site my-site \
210
216
--directory
211
217
```
···
219
225
The CLI uses OAuth by default, opening your browser for secure authentication:
220
226
221
227
```bash
222
222
-
wisp-cli deploy your-handle.bsky.social --path ./dist --site my-site
228
228
+
wispctl deploy your-handle.bsky.social --path ./dist --site my-site
223
229
```
224
230
225
231
This creates a session stored locally (default: `/tmp/wisp-oauth-session.json`).
···
229
235
For headless environments or CI/CD, use an app password:
230
236
231
237
```bash
232
232
-
wisp-cli deploy your-handle.bsky.social \
238
238
+
wispctl deploy your-handle.bsky.social \
233
239
--path ./dist \
234
240
--site my-site \
235
241
--password YOUR_APP_PASSWORD
···
275
281
### Pull Command
276
282
277
283
```bash
278
278
-
wisp-cli pull [OPTIONS] --site <SITE> <INPUT>
284
284
+
wispctl pull [OPTIONS] --site <SITE> <INPUT>
279
285
280
286
Arguments:
281
287
<INPUT> Handle or DID
···
289
295
### Serve Command
290
296
291
297
```bash
292
292
-
wisp-cli serve [OPTIONS] --site <SITE> <INPUT>
298
298
+
wispctl serve [OPTIONS] --site <SITE> <INPUT>
293
299
294
300
Arguments:
295
301
<INPUT> Handle or DID
···
302
308
--directory Enable directory listing mode for paths without index files
303
309
-h, --help Print help
304
310
```
305
305
-
306
306
-
## Development
307
307
-
308
308
-
The CLI is written in Rust using the Jacquard AT Protocol library. To build from source:
309
309
-
310
310
-
```bash
311
311
-
git clone https://tangled.org/@nekomimi.pet/wisp.place-monorepo
312
312
-
cd cli
313
313
-
cargo build --release
314
314
-
```
315
315
-
316
316
-
Built binaries are available in `target/release/`.
317
317
-
318
318
-
## Related
319
311
320
312
- [place.wisp.fs](/lexicons/place-wisp-fs) - Site manifest lexicon
321
313
- [place.wisp.subfs](/lexicons/place-wisp-subfs) - Subtree records for large sites