clishop 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -196
- package/README.md +181 -640
- package/dist/index.js +22 -16
- package/dist/mcp.js +562 -4
- package/package.json +65 -65
package/README.md
CHANGED
|
@@ -1,640 +1,181 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<h1 align="center">CLISHOP</h1>
|
|
3
|
-
<p align="center">
|
|
4
|
-
<strong>
|
|
5
|
-
</p>
|
|
6
|
-
<p align="center">
|
|
7
|
-
<a href="
|
|
8
|
-
<a href="
|
|
9
|
-
<a href="
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<img alt="
|
|
21
|
-
<img alt="
|
|
22
|
-
<img alt="
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<img alt="
|
|
27
|
-
<img alt="
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
- **Secure payments** — Card details never touch the CLI; payment setup uses secure browser links
|
|
183
|
-
- **OS keychain auth** — Tokens stored in the system keychain, not config files
|
|
184
|
-
|
|
185
|
-
## Quick Start
|
|
186
|
-
|
|
187
|
-
### Install from npm
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
npm install -g clishop
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Or build from source
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
git clone https://github.com/DavooxBv2/CLISHOP.git
|
|
197
|
-
cd CLISHOP
|
|
198
|
-
npm install
|
|
199
|
-
npm run build
|
|
200
|
-
npm link
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### First run
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
clishop
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
Running `clishop` with no arguments triggers a guided setup wizard:
|
|
210
|
-
|
|
211
|
-
1. Create an account or log in
|
|
212
|
-
2. Configure an agent (a `default` agent is created automatically)
|
|
213
|
-
3. Add a shipping address
|
|
214
|
-
4. Link a payment method (opens a secure browser link)
|
|
215
|
-
5. Run your first search
|
|
216
|
-
|
|
217
|
-
Re-run setup anytime with `clishop setup`.
|
|
218
|
-
|
|
219
|
-
**Requirements:** Node.js ≥ 18
|
|
220
|
-
|
|
221
|
-
## For AI Agents
|
|
222
|
-
|
|
223
|
-
CLISHOP is designed to be called by AI agents, scripts, and automation pipelines. Every command supports non-interactive flags and machine-readable JSON output.
|
|
224
|
-
|
|
225
|
-
### Authenticate
|
|
226
|
-
|
|
227
|
-
```bash
|
|
228
|
-
echo "<password>" | clishop login --email <email> --password-stdin
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
### Search → Buy flow
|
|
232
|
-
|
|
233
|
-
```bash
|
|
234
|
-
# Search for products (JSON output for parsing)
|
|
235
|
-
clishop search "wireless headphones" --json
|
|
236
|
-
|
|
237
|
-
# View product details
|
|
238
|
-
clishop product prod_a8k3m2x9p4w1 --json
|
|
239
|
-
|
|
240
|
-
# Buy it (skip confirmation prompt)
|
|
241
|
-
clishop buy prod_a8k3m2x9p4w1 -y
|
|
242
|
-
|
|
243
|
-
# Check order status
|
|
244
|
-
clishop order list --json
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### Use agent safety profiles
|
|
248
|
-
|
|
249
|
-
Agents act as guardrails. Create a `shopping-bot` agent with a $50 spending cap:
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
clishop agent create shopping-bot --max-amount 50 --no-confirm
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
Then use it:
|
|
256
|
-
|
|
257
|
-
```bash
|
|
258
|
-
clishop search "USB-C cable" --agent shopping-bot --json
|
|
259
|
-
clishop buy prod_xxx --agent shopping-bot -y
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### JSON output everywhere
|
|
263
|
-
|
|
264
|
-
Append `--json` to any read command for structured output:
|
|
265
|
-
|
|
266
|
-
```bash
|
|
267
|
-
clishop search "laptop stand" --json
|
|
268
|
-
clishop order list --json
|
|
269
|
-
clishop order show ordr_xxx --json
|
|
270
|
-
clishop product prod_xxx --json
|
|
271
|
-
clishop review list --json
|
|
272
|
-
clishop store list --json
|
|
273
|
-
clishop status --json
|
|
274
|
-
clishop advertise list --json
|
|
275
|
-
clishop support list --json
|
|
276
|
-
clishop feedback list --json
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
### Exit codes
|
|
280
|
-
|
|
281
|
-
| Code | Meaning |
|
|
282
|
-
|------|---------|
|
|
283
|
-
| `0` | Success |
|
|
284
|
-
| `1` | Error (auth failure, not found, validation, API error) |
|
|
285
|
-
|
|
286
|
-
Errors are printed to `stderr`. Successful JSON output goes to `stdout`.
|
|
287
|
-
|
|
288
|
-
## Concepts
|
|
289
|
-
|
|
290
|
-
### Agents
|
|
291
|
-
|
|
292
|
-
Agents are **safety profiles** that control how the CLI behaves when placing orders. Every account has a `default` agent.
|
|
293
|
-
|
|
294
|
-
| Setting | Description |
|
|
295
|
-
|---------|-------------|
|
|
296
|
-
| `maxOrderAmount` | Spending cap per order (in dollars) |
|
|
297
|
-
| `requireConfirmation` | Prompt before placing an order |
|
|
298
|
-
| `allowedCategories` | Whitelist of product categories |
|
|
299
|
-
| `blockedCategories` | Blacklist of product categories |
|
|
300
|
-
| `defaultAddressId` | Default shipping address |
|
|
301
|
-
| `defaultPaymentMethodId` | Default payment method |
|
|
302
|
-
|
|
303
|
-
Use `--agent <name>` on any command to override the active agent for that invocation.
|
|
304
|
-
|
|
305
|
-
### Stores & Extended Search
|
|
306
|
-
|
|
307
|
-
Products live in stores (vendors). When a regular search doesn't find what you need, CLISHOP can automatically query vendor stores in real-time via **extended search**. This happens automatically when no local results are found, or can be forced with `--extended-search`.
|
|
308
|
-
|
|
309
|
-
After an extended search, use `clishop info <id>` to request detailed product information directly from the vendor's store.
|
|
310
|
-
|
|
311
|
-
### Advertised Requests
|
|
312
|
-
|
|
313
|
-
Can't find what you're looking for? Publish a request describing what you need, and vendors can submit bids:
|
|
314
|
-
|
|
315
|
-
```bash
|
|
316
|
-
# Interactive
|
|
317
|
-
clishop advertise create
|
|
318
|
-
|
|
319
|
-
# Non-interactive (for agents)
|
|
320
|
-
clishop advertise quick "Custom engraved laptop stand" \
|
|
321
|
-
--brand "StandCo" \
|
|
322
|
-
--bid-price 89.99 \
|
|
323
|
-
--quantity 1 \
|
|
324
|
-
--speed 5 \
|
|
325
|
-
--free-returns
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
Vendors see your request and can submit bids with pricing, delivery estimates, and return policies. You (or your agent) can then accept or reject bids.
|
|
329
|
-
|
|
330
|
-
### IDs
|
|
331
|
-
|
|
332
|
-
All entities use short, prefixed IDs:
|
|
333
|
-
|
|
334
|
-
| Prefix | Entity | Example |
|
|
335
|
-
|--------|--------|---------|
|
|
336
|
-
| `prod_` | Product | `prod_a8k3m2x9p4w1` |
|
|
337
|
-
| `ordr_` | Order | `ordr_b7n4q1y8t3v6` |
|
|
338
|
-
| `addr_` | Address | `addr_c9j2w5r8m1k4` |
|
|
339
|
-
| `pymt_` | Payment method | `pymt_d3f8k1n7p2q9` |
|
|
340
|
-
| `stor_` | Store | `stor_e4g7j2m8r5t1` |
|
|
341
|
-
| `user_` | User | `user_f5h8k3n9s6v2` |
|
|
342
|
-
| `agnt_` | Agent | `agnt_g6j9l4p1t7w3` |
|
|
343
|
-
| `chkt_` | Checkout | `chkt_h7k1m5q2u8x4` |
|
|
344
|
-
| `fdbk_` | Feedback | `fdbk_i8l2n6r3v9y5` |
|
|
345
|
-
|
|
346
|
-
### Money
|
|
347
|
-
|
|
348
|
-
All prices are stored and returned in **cents** (integer). The CLI converts to dollars for display. Example: `7999` → `$79.99`.
|
|
349
|
-
|
|
350
|
-
## Command Reference
|
|
351
|
-
|
|
352
|
-
### Authentication
|
|
353
|
-
|
|
354
|
-
```bash
|
|
355
|
-
clishop register # Interactive account creation
|
|
356
|
-
clishop login # Interactive login
|
|
357
|
-
clishop login -e user@example.com -p pass # Non-interactive login
|
|
358
|
-
clishop logout # Clear local tokens
|
|
359
|
-
clishop whoami # Print current user info
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
### Search & Browse
|
|
363
|
-
|
|
364
|
-
```bash
|
|
365
|
-
clishop search <query> # Search for products
|
|
366
|
-
clishop search <query> --json # JSON output
|
|
367
|
-
clishop search <query> -c Electronics # Filter by category
|
|
368
|
-
clishop search <query> --brand Sony # Filter by brand
|
|
369
|
-
clishop search <query> --store AudioTech # Filter by store
|
|
370
|
-
clishop search <query> --min-price 1000 # Min price (cents)
|
|
371
|
-
clishop search <query> --max-price 10000 # Max price (cents)
|
|
372
|
-
clishop search <query> --min-rating 4 # Min rating (1-5)
|
|
373
|
-
clishop search <query> --in-stock # Only in-stock items
|
|
374
|
-
clishop search <query> --free-shipping # Free shipping only
|
|
375
|
-
clishop search <query> --free-returns # Free returns only
|
|
376
|
-
clishop search <query> --express # 2-day or faster delivery
|
|
377
|
-
clishop search <query> --ship-to "Home" # Use saved address for location
|
|
378
|
-
clishop search <query> --country US # Delivery country
|
|
379
|
-
clishop search <query> --deliver-by 2026-03-01 # Need it by date
|
|
380
|
-
clishop search <query> --trusted-only # Verified stores only
|
|
381
|
-
clishop search <query> -e # Force extended search
|
|
382
|
-
clishop search <query> -i # Interactive: select products for more info
|
|
383
|
-
clishop search <query> --compact # One-line-per-result output
|
|
384
|
-
clishop search <query> --detailed # Full details inline
|
|
385
|
-
clishop search <query> -s price --order asc # Sort by price ascending
|
|
386
|
-
clishop search <query> -p 2 -n 10 # Page 2, 10 results per page
|
|
387
|
-
|
|
388
|
-
clishop product <productId> # View product details
|
|
389
|
-
clishop product <productId> --json # JSON output
|
|
390
|
-
|
|
391
|
-
clishop info <id> [id...] # Get detailed info from vendor stores
|
|
392
|
-
clishop info <id> --json # JSON output
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
**Sort options:** `price`, `total-cost`, `rating`, `relevance`, `newest`, `delivery`
|
|
396
|
-
|
|
397
|
-
### Ordering
|
|
398
|
-
|
|
399
|
-
```bash
|
|
400
|
-
clishop buy <productId> # Quick-buy with defaults
|
|
401
|
-
clishop buy <productId> -q 3 # Buy quantity 3
|
|
402
|
-
clishop buy <productId> --address <id> # Specify shipping address
|
|
403
|
-
clishop buy <productId> --payment <id> # Specify payment method
|
|
404
|
-
clishop buy <productId> -y # Skip confirmation prompt
|
|
405
|
-
clishop buy <productId> --agent work # Use a specific agent
|
|
406
|
-
|
|
407
|
-
clishop order list # List your orders
|
|
408
|
-
clishop order list --status pending # Filter by status
|
|
409
|
-
clishop order list --json # JSON output
|
|
410
|
-
clishop order show <orderId> # Order details + tracking
|
|
411
|
-
clishop order cancel <orderId> # Cancel an order
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
**Order statuses:** `pending`, `confirmed`, `processing`, `shipped`, `delivered`, `cancelled`
|
|
415
|
-
|
|
416
|
-
### Agents
|
|
417
|
-
|
|
418
|
-
```bash
|
|
419
|
-
clishop agent list # List all agents
|
|
420
|
-
clishop agent show # Show active agent
|
|
421
|
-
clishop agent show <name> # Show specific agent
|
|
422
|
-
clishop agent create <name> # Interactive creation
|
|
423
|
-
clishop agent create <name> --max-amount 100 --no-confirm # Non-interactive
|
|
424
|
-
clishop agent use <name> # Switch active agent
|
|
425
|
-
clishop agent update <name> # Update agent settings
|
|
426
|
-
clishop agent delete <name> # Delete (can't delete "default")
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
### Addresses
|
|
430
|
-
|
|
431
|
-
```bash
|
|
432
|
-
clishop address list # List addresses
|
|
433
|
-
clishop address add # Interactive: add address
|
|
434
|
-
clishop address remove <id> # Remove address
|
|
435
|
-
clishop address set-default <id> # Set default for active agent
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
### Payment Methods
|
|
439
|
-
|
|
440
|
-
```bash
|
|
441
|
-
clishop payment list # List payment methods
|
|
442
|
-
clishop payment add # Get secure setup link
|
|
443
|
-
clishop payment remove <id> # Remove payment method
|
|
444
|
-
clishop payment set-default <id> # Set default for active agent
|
|
445
|
-
```
|
|
446
|
-
|
|
447
|
-
### Reviews
|
|
448
|
-
|
|
449
|
-
```bash
|
|
450
|
-
clishop review add <productId> # Write a review
|
|
451
|
-
clishop review list # List your reviews
|
|
452
|
-
clishop review list --json # JSON output
|
|
453
|
-
clishop review delete <reviewId> # Delete a review
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
### Stores
|
|
457
|
-
|
|
458
|
-
```bash
|
|
459
|
-
clishop store list # List available stores
|
|
460
|
-
clishop store list --verified # Only verified stores
|
|
461
|
-
clishop store list --min-rating 4 # Min store rating
|
|
462
|
-
clishop store info <store> # Store details
|
|
463
|
-
clishop store catalog <store> # Browse store products
|
|
464
|
-
clishop store catalog <store> -q "cable" # Search within store
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
### Advertised Requests
|
|
468
|
-
|
|
469
|
-
```bash
|
|
470
|
-
clishop advertise create # Interactive: publish a request
|
|
471
|
-
clishop advertise quick <title> # Non-interactive: publish a request
|
|
472
|
-
clishop advertise list # List your requests
|
|
473
|
-
clishop advertise show <id> # View request + bids
|
|
474
|
-
clishop advertise accept <id> <bidId> # Accept a vendor bid
|
|
475
|
-
clishop advertise reject <id> <bidId> # Reject a vendor bid
|
|
476
|
-
clishop advertise cancel <id> # Cancel a request
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
### Support Tickets
|
|
480
|
-
|
|
481
|
-
```bash
|
|
482
|
-
clishop support create <orderId> # Create a support ticket
|
|
483
|
-
clishop support list # List your tickets
|
|
484
|
-
clishop support show <ticketId> # View ticket + messages
|
|
485
|
-
clishop support reply <ticketId> # Reply to a ticket
|
|
486
|
-
clishop support close <ticketId> # Close a ticket
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
### Bug Reports & Suggestions
|
|
490
|
-
|
|
491
|
-
Found a bug? Have an idea to make CLISHOP better? Report it directly from the terminal:
|
|
492
|
-
|
|
493
|
-
```bash
|
|
494
|
-
# Report a bug (interactive — prompts for details)
|
|
495
|
-
clishop feedback bug
|
|
496
|
-
|
|
497
|
-
# Report a bug (non-interactive — for agents/scripts)
|
|
498
|
-
clishop feedback bug \
|
|
499
|
-
--title "Search crashes on empty query" \
|
|
500
|
-
--description "Running search with no query causes unhandled error" \
|
|
501
|
-
--steps "1. Run: clishop search \"\"\n2. Observe crash" \
|
|
502
|
-
--actual "CLI exits with stack trace" \
|
|
503
|
-
--expected "Should show a friendly 'query required' error"
|
|
504
|
-
|
|
505
|
-
# Submit a suggestion (interactive)
|
|
506
|
-
clishop feedback suggest
|
|
507
|
-
|
|
508
|
-
# Submit a suggestion (non-interactive)
|
|
509
|
-
clishop feedback suggest \
|
|
510
|
-
--title "Add wishlist feature" \
|
|
511
|
-
--description "Would be great to save products to a wishlist for later"
|
|
512
|
-
|
|
513
|
-
# List your feedback
|
|
514
|
-
clishop feedback list # All feedback
|
|
515
|
-
clishop feedback list --type bug # Only bug reports
|
|
516
|
-
clishop feedback list --type suggestion # Only suggestions
|
|
517
|
-
clishop feedback list --status fixed # Filter by status
|
|
518
|
-
clishop feedback list --json # JSON output
|
|
519
|
-
|
|
520
|
-
# View a specific report
|
|
521
|
-
clishop feedback show <id> # View details + status
|
|
522
|
-
clishop feedback show <id> --json # JSON output
|
|
523
|
-
```
|
|
524
|
-
|
|
525
|
-
**Bug report fields:**
|
|
526
|
-
| Field | Description |
|
|
527
|
-
|-------|-------------|
|
|
528
|
-
| `title` | Short summary of the bug |
|
|
529
|
-
| `description` | General description |
|
|
530
|
-
| `steps` | How to trigger the bug (steps to reproduce) |
|
|
531
|
-
| `actual` | What actually happens |
|
|
532
|
-
| `expected` | What you expected to happen |
|
|
533
|
-
|
|
534
|
-
**Feedback statuses:** `open`, `acknowledged`, `in_progress`, `fixed`, `wont_fix`, `closed`
|
|
535
|
-
|
|
536
|
-
The CLISHOP team reviews all feedback and updates the status. You'll see admin notes when you check your feedback with `clishop feedback show <id>`.
|
|
537
|
-
|
|
538
|
-
### Account & Config
|
|
539
|
-
|
|
540
|
-
```bash
|
|
541
|
-
clishop status # Full account overview
|
|
542
|
-
clishop status --json # JSON output
|
|
543
|
-
|
|
544
|
-
clishop config show # Show current config
|
|
545
|
-
clishop config set-output json # Set output format (human | json)
|
|
546
|
-
clishop config reset # Reset config to defaults
|
|
547
|
-
clishop config path # Print config file path
|
|
548
|
-
|
|
549
|
-
clishop setup # Re-run setup wizard
|
|
550
|
-
```
|
|
551
|
-
|
|
552
|
-
## Configuration
|
|
553
|
-
|
|
554
|
-
| Data | Location |
|
|
555
|
-
|------|----------|
|
|
556
|
-
| CLI config (agents, preferences) | `~/.config/clishop/config.json` (or OS equivalent) |
|
|
557
|
-
| Auth tokens | OS keychain (via `keytar`) |
|
|
558
|
-
|
|
559
|
-
Find the config path:
|
|
560
|
-
|
|
561
|
-
```bash
|
|
562
|
-
clishop config path
|
|
563
|
-
```
|
|
564
|
-
|
|
565
|
-
## Environment Variables
|
|
566
|
-
|
|
567
|
-
| Variable | Purpose | Default |
|
|
568
|
-
|----------|---------|---------|
|
|
569
|
-
| `CLISHOP_API_URL` | Override the backend API URL | `https://clishop-backend.vercel.app/api` |
|
|
570
|
-
|
|
571
|
-
`CLISHOP_API_URL` takes precedence over the local `config.apiBaseUrl` value.
|
|
572
|
-
|
|
573
|
-
## Architecture
|
|
574
|
-
|
|
575
|
-
```
|
|
576
|
-
┌─────────────────────────────┐
|
|
577
|
-
│ AI Agent / Script / Human │
|
|
578
|
-
└──────────────┬──────────────┘
|
|
579
|
-
│
|
|
580
|
-
┌───────▼───────┐
|
|
581
|
-
│ CLISHOP CLI │ ← this repo
|
|
582
|
-
│ (Node.js) │
|
|
583
|
-
└───────┬───────┘
|
|
584
|
-
│ HTTPS
|
|
585
|
-
┌───────▼───────┐
|
|
586
|
-
│ CLISHOP API │ ← clishop-backend
|
|
587
|
-
│ (Vercel) │
|
|
588
|
-
└───────┬───────┘
|
|
589
|
-
│
|
|
590
|
-
┌──────────┼──────────┐
|
|
591
|
-
▼ ▼ ▼
|
|
592
|
-
Store A Store B Store C ← vendor stores
|
|
593
|
-
```
|
|
594
|
-
|
|
595
|
-
The CLI is a stateless client. It doesn't own any database or vendor integrations — all data flows through the backend API.
|
|
596
|
-
|
|
597
|
-
## Tech Stack
|
|
598
|
-
|
|
599
|
-
| Component | Technology |
|
|
600
|
-
|-----------|------------|
|
|
601
|
-
| Language | TypeScript (ESM) |
|
|
602
|
-
| CLI framework | [Commander.js](https://github.com/tj/commander.js) |
|
|
603
|
-
| HTTP client | [Axios](https://github.com/axios/axios) |
|
|
604
|
-
| Prompts | [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) |
|
|
605
|
-
| Config storage | [Conf](https://github.com/sindresorhus/conf) |
|
|
606
|
-
| Keychain | [Keytar](https://github.com/nicktrav/node-keytar) |
|
|
607
|
-
| Spinners | [Ora](https://github.com/sindresorhus/ora) |
|
|
608
|
-
| Colors | [Chalk](https://github.com/chalk/chalk) |
|
|
609
|
-
| Bundler | [tsup](https://github.com/egoist/tsup) |
|
|
610
|
-
|
|
611
|
-
## Development
|
|
612
|
-
|
|
613
|
-
```bash
|
|
614
|
-
git clone https://github.com/DavooxBv2/CLISHOP.git
|
|
615
|
-
cd CLISHOP
|
|
616
|
-
npm install
|
|
617
|
-
|
|
618
|
-
# Run in dev mode (no build step)
|
|
619
|
-
npm run dev -- search "headphones"
|
|
620
|
-
|
|
621
|
-
# Build
|
|
622
|
-
npm run build
|
|
623
|
-
|
|
624
|
-
# Type-check
|
|
625
|
-
npm run lint
|
|
626
|
-
```
|
|
627
|
-
|
|
628
|
-
## Contributing
|
|
629
|
-
|
|
630
|
-
Contributions are welcome! Please open an issue first to discuss what you'd like to change.
|
|
631
|
-
|
|
632
|
-
1. Fork the repo
|
|
633
|
-
2. Create a feature branch (`git checkout -b feat/my-feature`)
|
|
634
|
-
3. Commit your changes (`git commit -m 'feat: add my feature'`)
|
|
635
|
-
4. Push to the branch (`git push origin feat/my-feature`)
|
|
636
|
-
5. Open a Pull Request
|
|
637
|
-
|
|
638
|
-
## License
|
|
639
|
-
|
|
640
|
-
[ISC](LICENSE)
|
|
1
|
+
<p align="center">
|
|
2
|
+
<h1 align="center">CLISHOP</h1>
|
|
3
|
+
<p align="center">
|
|
4
|
+
<strong>Order anything from your terminal. Built for AI agents and humans.</strong>
|
|
5
|
+
</p>
|
|
6
|
+
<p align="center">
|
|
7
|
+
<a href="https://www.npmjs.com/package/clishop"><img alt="npm" src="https://img.shields.io/npm/v/clishop?style=flat-square&color=cb3837" /></a>
|
|
8
|
+
<a href="https://clishop.ai"><img alt="Website" src="https://img.shields.io/badge/website-clishop.ai-blue?style=flat-square" /></a>
|
|
9
|
+
<a href="https://discord.gg/vwXMbzD4bx"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join-5865F2?style=flat-square&logo=discord&logoColor=white" /></a>
|
|
10
|
+
</p>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
CLISHOP is an open-source CLI that lets AI agents and humans search for products across multiple stores, compare prices, and place real orders — all from the terminal. Anyone can sell on CLISHOP using a [Dark Store](https://github.com/DavooxBv2/CLISHOP-DARKSTORE).
|
|
16
|
+
|
|
17
|
+
## Works with
|
|
18
|
+
|
|
19
|
+
<p>
|
|
20
|
+
<img alt="VS Code" src="https://img.shields.io/badge/VS%20Code-Copilot-007ACC?style=for-the-badge&logo=visualstudiocode&logoColor=white" />
|
|
21
|
+
<img alt="Claude" src="https://img.shields.io/badge/Claude-Supported-7C3AED?style=for-the-badge&logo=anthropic&logoColor=white" />
|
|
22
|
+
<img alt="GPT" src="https://img.shields.io/badge/GPT-Supported-10A37F?style=for-the-badge&logo=openai&logoColor=white" />
|
|
23
|
+
<img alt="Gemini" src="https://img.shields.io/badge/Gemini-Supported-4285F4?style=for-the-badge&logo=googlegemini&logoColor=white" />
|
|
24
|
+
</p>
|
|
25
|
+
<p>
|
|
26
|
+
<img alt="Cursor" src="https://img.shields.io/badge/Cursor-Supported-000000?style=for-the-badge&logo=cursor&logoColor=white" />
|
|
27
|
+
<img alt="Windsurf" src="https://img.shields.io/badge/Windsurf-Supported-0EA5E9?style=for-the-badge" />
|
|
28
|
+
<img alt="AutoGPT" src="https://img.shields.io/badge/AutoGPT-Agent-111827?style=for-the-badge&logo=github&logoColor=white" />
|
|
29
|
+
<img alt="LangGraph" src="https://img.shields.io/badge/LangGraph-Agent-16A34A?style=for-the-badge&logo=langchain&logoColor=white" />
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
## Highlights
|
|
33
|
+
|
|
34
|
+
- **Multi-store search:** one query searches every store in the network and only returns items that ship to your address
|
|
35
|
+
- **Safety thresholds:** cap how much can be spent per order, require email confirmation before anything ships, or skip confirmation entirely
|
|
36
|
+
- **MCP server:** native [Model Context Protocol](https://modelcontextprotocol.io/) support with 19 tools so AI agents (VS Code Copilot, Claude, Cursor, Windsurf, etc.) can shop on your behalf
|
|
37
|
+
- **Advertise requests:** can't find what you need? Publicly post a request and let stores try to find it for you
|
|
38
|
+
- **Support & reviews:** if something goes wrong, create support tickets and handle the entire process from the CLI — write product and store reviews too
|
|
39
|
+
- **Open marketplace:** anyone can start selling on CLISHOP by deploying a [Dark Store](https://github.com/DavooxBv2/CLISHOP-DARKSTORE) — no website required
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Install
|
|
44
|
+
|
|
45
|
+
Requires **Node.js ≥ 18**.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g clishop
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This gives you two commands: `clishop` (the CLI) and `clishop-mcp` (the MCP server for AI agents).
|
|
52
|
+
|
|
53
|
+
To install from source instead:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
git clone https://github.com/DavooxBv2/CLISHOP.git
|
|
57
|
+
cd CLISHOP
|
|
58
|
+
npm install
|
|
59
|
+
npm run build
|
|
60
|
+
npm link
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Quick Start
|
|
64
|
+
|
|
65
|
+
You can create your account on [clishop.ai](https://clishop.ai) or do everything from the CLI:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
clishop setup
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The setup wizard walks you through creating an account, adding an address, and linking a payment method. After that:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
$ clishop search "wireless headphones"
|
|
75
|
+
|
|
76
|
+
🔍 Search results for "wireless headphones"
|
|
77
|
+
|
|
78
|
+
1 Sony WH-1000XM5 $278.00
|
|
79
|
+
SUPERSTORE · ★ 8.1 · Free shipping · 3-5 days
|
|
80
|
+
|
|
81
|
+
2 JBL Tune 770NC Wireless $79.95
|
|
82
|
+
EveryMarket · ★ 7.9 · $5.99 shipping · 5-8 days
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
$ clishop info 1
|
|
88
|
+
|
|
89
|
+
Sony WH-1000XM5
|
|
90
|
+
─────────────────────────────────────
|
|
91
|
+
Price: $278.00
|
|
92
|
+
Store: SUPERSTORE (★ 8.1)
|
|
93
|
+
Shipping: Free · 3-5 business days
|
|
94
|
+
Returns: 30-day free returns
|
|
95
|
+
In stock: Yes
|
|
96
|
+
|
|
97
|
+
Industry-leading noise cancellation with
|
|
98
|
+
Auto NC Optimizer. 30-hour battery life.
|
|
99
|
+
Multipoint connection for two devices.
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
clishop buy 1
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
> **Tip:** use result numbers from a search anywhere — `clishop info 1 2 3` or `clishop buy 2`.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Architecture
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
┌─────────────────────────────┐
|
|
114
|
+
│ AI Agent / Script / Human │
|
|
115
|
+
└──────────────┬──────────────┘
|
|
116
|
+
│
|
|
117
|
+
┌───────▼───────┐
|
|
118
|
+
│ CLISHOP CLI │ ← this repo
|
|
119
|
+
│ (Node.js) │
|
|
120
|
+
└───────┬───────┘
|
|
121
|
+
│ HTTPS
|
|
122
|
+
┌───────▼───────┐
|
|
123
|
+
│ CLISHOP API │ ← backend (Vercel)
|
|
124
|
+
└───────┬───────┘
|
|
125
|
+
│
|
|
126
|
+
┌──────────┼──────────┐
|
|
127
|
+
▼ ▼ ▼
|
|
128
|
+
Store A Store B Store C ← vendor Dark Stores
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Sell on CLISHOP
|
|
134
|
+
|
|
135
|
+
Want to sell your own products? Use the [Dark Store](https://github.com/DavooxBv2/CLISHOP-DARKSTORE) template to create your own store — no website needed. Configure your catalog, shipping, and pricing in a few YAML files, deploy to Vercel, and start receiving orders.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Development
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
git clone https://github.com/DavooxBv2/CLISHOP.git
|
|
143
|
+
cd CLISHOP && npm install
|
|
144
|
+
npm run dev -- search "headphones" # Dev mode (no build needed)
|
|
145
|
+
npm run build # Production build
|
|
146
|
+
npm run lint # Type-check
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## MCP Server
|
|
152
|
+
|
|
153
|
+
CLISHOP ships as a native MCP server with 19 tools. Any MCP-compatible client gets shopping capabilities out of the box.
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
clishop-mcp # If installed globally
|
|
157
|
+
npx -y clishop --mcp # Without installing
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
See the [MCP setup guides](https://clishop.ai/docs#mcp-overview) for VS Code, Claude Desktop, Cursor, and Windsurf configuration.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Docs
|
|
165
|
+
|
|
166
|
+
Full command reference, agent configuration, search filters, and more:
|
|
167
|
+
|
|
168
|
+
**[→ clishop.ai/docs](https://clishop.ai/docs)**
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Links
|
|
173
|
+
|
|
174
|
+
- 🌐 [clishop.ai](https://clishop.ai)
|
|
175
|
+
- 📖 [Docs](https://clishop.ai/docs)
|
|
176
|
+
- 💬 [Discord](https://discord.gg/vwXMbzD4bx)
|
|
177
|
+
- 🏪 [Dark Store](https://github.com/DavooxBv2/CLISHOP-DARKSTORE)
|
|
178
|
+
|
|
179
|
+
## License
|
|
180
|
+
|
|
181
|
+
[MIT](LICENSE)
|