xevol 0.12.1 → 0.12.3
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/README.md +70 -357
- package/dist/index.js +167 -163
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,407 +1,120 @@
|
|
|
1
|
-
# xevol
|
|
1
|
+
# xevol CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Terminal client for Xevol content execution.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
[](https://xevol.com)
|
|
7
|
-
[](https://nodejs.org)
|
|
5
|
+
Use it to ingest content, run analysis (spikes), manage prompts, inspect usage, and work across personal/team workspaces.
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
## Quick Demo
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
$ xevol add https://youtube.com/watch?v=oOylEw3tPQ8 --analyze facts
|
|
15
|
-
|
|
16
|
-
⠋ Processing... (12s)
|
|
17
|
-
✔ "Cursor CEO: Going Beyond Code" (37:29)
|
|
18
|
-
|
|
19
|
-
─── facts ───
|
|
20
|
-
• Cursor reached $100M ARR in 20 months
|
|
21
|
-
• 40-50% of code in Cursor is AI-generated
|
|
22
|
-
• Team hired first 10 employees over 6 months deliberately
|
|
23
|
-
• Pivoted from AI-CAD to AI coding tools
|
|
24
|
-
|
|
25
|
-
✔ Done
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Installation
|
|
7
|
+
## Install
|
|
29
8
|
|
|
30
9
|
```bash
|
|
31
10
|
npm install -g xevol
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Or run without installing:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
11
|
+
# or
|
|
37
12
|
npx xevol
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
or install with brew:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
13
|
+
# or
|
|
43
14
|
brew install xevol/tap/xevol
|
|
44
15
|
```
|
|
45
16
|
|
|
46
|
-
Requires Node.js
|
|
17
|
+
Requires **Node.js >= 20**.
|
|
47
18
|
|
|
48
|
-
## Quick
|
|
19
|
+
## Quick start
|
|
49
20
|
|
|
50
21
|
```bash
|
|
51
|
-
# 1
|
|
22
|
+
# 1) Login (device flow)
|
|
52
23
|
xevol login
|
|
53
24
|
|
|
54
|
-
# 2
|
|
55
|
-
xevol add "https://youtube.com/watch?v=
|
|
56
|
-
# or
|
|
57
|
-
xevol add "https://example.com/article"
|
|
25
|
+
# 2) Add content from URL (YouTube routes to /v1/add, other URLs to /v1/create)
|
|
26
|
+
xevol add "https://youtube.com/watch?v=oOylEw3tPQ8"
|
|
58
27
|
|
|
59
|
-
# 3
|
|
60
|
-
xevol analyze <id> --prompt facts
|
|
28
|
+
# 3) Run analysis
|
|
29
|
+
xevol analyze <transcription-id> --prompt facts
|
|
61
30
|
|
|
62
|
-
# 4
|
|
63
|
-
xevol view <id>
|
|
31
|
+
# 4) View content
|
|
32
|
+
xevol view <transcription-id>
|
|
64
33
|
```
|
|
65
34
|
|
|
66
|
-
##
|
|
67
|
-
|
|
68
|
-
| Command | Description |
|
|
69
|
-
| --------- | ----------------------------------------------- |
|
|
70
|
-
| `login` | Authenticate via device flow (opens browser) |
|
|
71
|
-
| `logout` | Clear stored credentials |
|
|
72
|
-
| `whoami` | Show current user, plan, and usage |
|
|
73
|
-
| `add` | Add a URL (YouTube or website) for processing |
|
|
74
|
-
| `list` | List your transcriptions |
|
|
75
|
-
| `locations` | List your Xevol Coordinates location history |
|
|
76
|
-
| `view` | View a transcription summary or full transcript |
|
|
77
|
-
| `analyze` | Generate AI analysis using a prompt |
|
|
78
|
-
| `prompts` | Manage prompts (list/create/update/delete) |
|
|
79
|
-
| `stream` | Stream analysis output via SSE |
|
|
80
|
-
| `resume` | Resume a previous streaming session |
|
|
81
|
-
| `config` | View or edit CLI configuration |
|
|
82
|
-
|
|
83
|
-
All commands support `--json` for machine-readable output.
|
|
84
|
-
|
|
85
|
-
## Command Details
|
|
86
|
-
|
|
87
|
-
### `xevol login`
|
|
35
|
+
## Workspace model
|
|
88
36
|
|
|
89
|
-
|
|
37
|
+
Xevol CLI supports workspace switching:
|
|
90
38
|
|
|
91
39
|
```bash
|
|
92
|
-
|
|
93
|
-
xevol
|
|
94
|
-
|
|
95
|
-
# Token-based (CI / headless)
|
|
96
|
-
xevol login --token <token>
|
|
97
|
-
|
|
98
|
-
# Or set via environment variable
|
|
99
|
-
export XEVOL_TOKEN=<token>
|
|
40
|
+
xevol workspace list
|
|
41
|
+
xevol workspace switch <workspace-id>
|
|
100
42
|
```
|
|
101
43
|
|
|
102
|
-
|
|
44
|
+
When a workspace is selected, CLI sends `X-Workspace-Id` automatically for workspace-aware API routes.
|
|
103
45
|
|
|
104
|
-
|
|
46
|
+
## Command map
|
|
105
47
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
xevol
|
|
48
|
+
### Auth
|
|
49
|
+
- `xevol login` — device auth flow (or `--token` for headless/CI)
|
|
50
|
+
- `xevol logout` — revoke token + clear local config
|
|
51
|
+
- `xevol whoami` — current authenticated account
|
|
109
52
|
|
|
110
|
-
|
|
111
|
-
xevol add
|
|
53
|
+
### Ingestion & content
|
|
54
|
+
- `xevol add <url>` — URL ingestion (YouTube + non-YouTube)
|
|
55
|
+
- `xevol create [text]` — create from text/file/url/stdin/editor
|
|
56
|
+
- `xevol list` — list transcriptions
|
|
57
|
+
- `xevol view <id>` — view summary/content
|
|
58
|
+
- `xevol delete <id>` — delete transcription
|
|
59
|
+
- `xevol open <id>` — open item in browser
|
|
112
60
|
|
|
113
|
-
|
|
114
|
-
xevol
|
|
61
|
+
### Analysis & prompts
|
|
62
|
+
- `xevol analyze <id> --prompt <promptId>` — create/read spike output
|
|
63
|
+
- `xevol stream <spikeId>` — SSE stream spike content
|
|
64
|
+
- `xevol resume <transcriptionId>` — resume interrupted stream session
|
|
65
|
+
- `xevol prompts ...` — prompt CRUD/list/get
|
|
115
66
|
|
|
116
|
-
|
|
117
|
-
xevol
|
|
67
|
+
### Usage, exports, locations
|
|
68
|
+
- `xevol usage` — plan + usage snapshot
|
|
69
|
+
- `xevol export <id> --format json|markdown|text` — export content locally
|
|
70
|
+
- `xevol whereami` — latest Xevol Coordinates location
|
|
71
|
+
- `xevol locations` — Xevol Coordinates history
|
|
118
72
|
|
|
119
|
-
|
|
120
|
-
xevol
|
|
121
|
-
|
|
122
|
-
# Analyze with multiple prompts
|
|
123
|
-
xevol add "https://youtube.com/watch?v=abc123" --analyze facts,advice
|
|
124
|
-
|
|
125
|
-
# Stream analysis output in real time
|
|
126
|
-
xevol add "https://youtube.com/watch?v=abc123" --analyze facts --stream
|
|
127
|
-
```
|
|
73
|
+
### Interface
|
|
74
|
+
- `xevol tui` — interactive terminal UI
|
|
128
75
|
|
|
129
|
-
|
|
130
|
-
| --------------------- | ----------------------------------------------------- |
|
|
131
|
-
| `--no-wait` | Return immediately without waiting |
|
|
132
|
-
| `--lang <code>` | Language code (e.g. `en`, `de`, `ja`) |
|
|
133
|
-
| `--analyze <prompts>` | Comma-separated prompt IDs to run after processing |
|
|
134
|
-
| `--stream` | Stream analysis output via SSE |
|
|
135
|
-
| `--json` | JSON output |
|
|
76
|
+
## Common flags
|
|
136
77
|
|
|
137
|
-
|
|
78
|
+
- `--json` machine-readable output
|
|
79
|
+
- `--token <token>` override auth token per command
|
|
80
|
+
- `--no-color` disable ANSI colors
|
|
138
81
|
|
|
139
|
-
|
|
82
|
+
## Examples
|
|
140
83
|
|
|
141
84
|
```bash
|
|
142
|
-
#
|
|
143
|
-
xevol
|
|
85
|
+
# Add + analyze + stream
|
|
86
|
+
xevol add "https://youtube.com/watch?v=..." --analyze facts,summary --stream
|
|
144
87
|
|
|
145
|
-
#
|
|
146
|
-
xevol
|
|
88
|
+
# Create from file
|
|
89
|
+
xevol create --file notes.md --title "Research notes"
|
|
147
90
|
|
|
148
|
-
#
|
|
149
|
-
xevol list --status completed
|
|
150
|
-
|
|
151
|
-
# Machine-readable formats
|
|
91
|
+
# List in JSON
|
|
152
92
|
xevol list --json
|
|
153
|
-
xevol list --csv
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
| Flag | Description |
|
|
157
|
-
| -------------- | ---------------- |
|
|
158
|
-
| `--page <n>` | Page number |
|
|
159
|
-
| `--limit <n>` | Results per page |
|
|
160
|
-
| `--status <s>` | Filter by status |
|
|
161
|
-
| `--json` | JSON output |
|
|
162
|
-
| `--csv` | CSV output |
|
|
163
|
-
|
|
164
|
-
### `xevol locations`
|
|
165
|
-
|
|
166
|
-
List your location history from Xevol Coordinates.
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
# Default view
|
|
170
|
-
xevol locations
|
|
171
|
-
|
|
172
|
-
# Pagination
|
|
173
|
-
xevol locations --page 2 --limit 50
|
|
174
|
-
|
|
175
|
-
# Filter by time window
|
|
176
|
-
xevol locations --since 2026-01-01T00:00:00Z --until 2026-01-31T23:59:59Z
|
|
177
|
-
|
|
178
|
-
# Include exact latitude/longitude
|
|
179
|
-
xevol locations --exact
|
|
180
|
-
|
|
181
|
-
# Machine-readable formats
|
|
182
|
-
xevol locations --json
|
|
183
|
-
xevol locations --csv
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
| Flag | Description |
|
|
187
|
-
| --------------- | ------------------------------------------- |
|
|
188
|
-
| `--page <n>` | Page number |
|
|
189
|
-
| `--limit <n>` | Results per page |
|
|
190
|
-
| `--since <iso>` | Include records at/after this ISO datetime |
|
|
191
|
-
| `--until <iso>` | Include records at/before this ISO datetime |
|
|
192
|
-
| `--exact` | Include exact latitude/longitude columns |
|
|
193
|
-
| `--json` | JSON output |
|
|
194
|
-
| `--csv` | CSV output |
|
|
195
|
-
|
|
196
|
-
### `xevol view`
|
|
197
|
-
|
|
198
|
-
View a transcription's summary or full transcript.
|
|
199
93
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
xevol view abc123def45
|
|
203
|
-
|
|
204
|
-
# Full transcript (pipe-friendly)
|
|
205
|
-
xevol view abc123def45 --raw
|
|
206
|
-
|
|
207
|
-
# Clean transcript (processed content)
|
|
208
|
-
xevol view abc123def45 --clean
|
|
209
|
-
|
|
210
|
-
# JSON output
|
|
211
|
-
xevol view abc123def45 --json
|
|
94
|
+
# Export markdown
|
|
95
|
+
xevol export <id> --format markdown --output summary.md
|
|
212
96
|
```
|
|
213
97
|
|
|
214
|
-
|
|
215
|
-
| --------- | ------------------------------ |
|
|
216
|
-
| `--raw` | Print the full transcript text |
|
|
217
|
-
| `--clean` | Use cleaned/processed content |
|
|
218
|
-
| `--json` | JSON output |
|
|
98
|
+
## Config
|
|
219
99
|
|
|
220
|
-
|
|
100
|
+
CLI config is stored in:
|
|
221
101
|
|
|
222
|
-
|
|
102
|
+
- `~/.xevol/config.json`
|
|
223
103
|
|
|
224
|
-
|
|
225
|
-
# Analyze with a specific prompt
|
|
226
|
-
xevol analyze abc123def45 --prompt facts
|
|
227
|
-
|
|
228
|
-
# Use a different language for output
|
|
229
|
-
xevol analyze abc123def45 --prompt facts --lang de
|
|
230
|
-
|
|
231
|
-
# JSON output
|
|
232
|
-
xevol analyze abc123def45 --prompt facts --json
|
|
233
|
-
```
|
|
104
|
+
Includes token, API URL, selected workspace, and defaults.
|
|
234
105
|
|
|
235
|
-
|
|
236
|
-
| --------------- | --------------------------------- |
|
|
237
|
-
| `--prompt <id>` | Prompt to use (default: `review`) |
|
|
238
|
-
| `--lang <code>` | Output language |
|
|
239
|
-
| `--json` | JSON output |
|
|
106
|
+
## Notes
|
|
240
107
|
|
|
241
|
-
|
|
108
|
+
- Execution environment unification is in progress across API/CLI/mobile.
|
|
109
|
+
- Workspace-aware resources already respect selected workspace context.
|
|
110
|
+
- Usage/limit reporting follows API-provided scope during rollout.
|
|
242
111
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
Manage prompts (list/create/update/delete).
|
|
112
|
+
## Development
|
|
246
113
|
|
|
247
114
|
```bash
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
# View a prompt
|
|
254
|
-
xevol prompts get <prompt-id>
|
|
255
|
-
|
|
256
|
-
# Create a prompt
|
|
257
|
-
xevol prompts create --name "Summary" --text "Summarize this transcript"
|
|
258
|
-
xevol prompts create --name "Ideas" --file prompt.md
|
|
259
|
-
cat prompt.md | xevol prompts create --name "Ideas"
|
|
260
|
-
|
|
261
|
-
# Update a prompt
|
|
262
|
-
xevol prompts update <prompt-id> --name "New name"
|
|
263
|
-
xevol prompts update <prompt-id> --text "Rewrite this prompt"
|
|
264
|
-
xevol prompts update <prompt-id> --file prompt.md
|
|
265
|
-
xevol prompts update <prompt-id> --editor
|
|
266
|
-
|
|
267
|
-
# Delete a prompt
|
|
268
|
-
xevol prompts delete <prompt-id>
|
|
115
|
+
bun install
|
|
116
|
+
bun run dev
|
|
117
|
+
bun run build
|
|
118
|
+
bun run typecheck
|
|
119
|
+
bun run lint
|
|
269
120
|
```
|
|
270
|
-
|
|
271
|
-
### `xevol stream`
|
|
272
|
-
|
|
273
|
-
Stream analysis output in real time via SSE.
|
|
274
|
-
|
|
275
|
-
```bash
|
|
276
|
-
xevol stream <spike-id>
|
|
277
|
-
xevol stream <spike-id> --last-event-id <id>
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
### `xevol resume`
|
|
281
|
-
|
|
282
|
-
Resume a previously interrupted streaming session.
|
|
283
|
-
|
|
284
|
-
```bash
|
|
285
|
-
xevol resume <transcription-id>
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
### `xevol config`
|
|
289
|
-
|
|
290
|
-
View or edit CLI configuration.
|
|
291
|
-
|
|
292
|
-
```bash
|
|
293
|
-
# Show all config
|
|
294
|
-
xevol config
|
|
295
|
-
|
|
296
|
-
# Get a value
|
|
297
|
-
xevol config get apiUrl
|
|
298
|
-
|
|
299
|
-
# Set a value
|
|
300
|
-
xevol config set default.lang de
|
|
301
|
-
xevol config set default.limit 50
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
Available config keys:
|
|
305
|
-
|
|
306
|
-
| Key | Description |
|
|
307
|
-
| --------------- | ---------------------------- |
|
|
308
|
-
| `apiUrl` | Base API URL |
|
|
309
|
-
| `default.lang` | Default output language |
|
|
310
|
-
| `default.limit` | Default page size for `list` |
|
|
311
|
-
| `api.timeout` | API request timeout (ms) |
|
|
312
|
-
|
|
313
|
-
## Output Formats
|
|
314
|
-
|
|
315
|
-
### Table (default)
|
|
316
|
-
|
|
317
|
-
```
|
|
318
|
-
┌─────────────┬────────────────────────────────┬──────────┬──────────┐
|
|
319
|
-
│ ID │ Title │ Duration │ Status │
|
|
320
|
-
├─────────────┼────────────────────────────────┼──────────┼──────────┤
|
|
321
|
-
│ abc123def45 │ Cursor CEO: Going Beyond Code │ 37:29 │ ✔ done │
|
|
322
|
-
│ xyz789ghi01 │ Naval on Happiness │ 12:03 │ ⠋ proc… │
|
|
323
|
-
└─────────────┴────────────────────────────────┴──────────┴──────────┘
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
### JSON (`--json`)
|
|
327
|
-
|
|
328
|
-
```bash
|
|
329
|
-
xevol list --json | jq '.list[] | select(.channelTitle == "Y Combinator")'
|
|
330
|
-
xevol analyze abc123 --prompt facts --json | jq '.spikes[0].content'
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
### CSV (`--csv`)
|
|
334
|
-
|
|
335
|
-
```bash
|
|
336
|
-
xevol list --csv > transcriptions.csv
|
|
337
|
-
xevol prompts --csv
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
## Streaming
|
|
341
|
-
|
|
342
|
-
Analysis output streams in real time via Server-Sent Events (SSE). Use `--stream` with `add` to watch analysis as it's generated:
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
xevol add "https://youtube.com/watch?v=..." --analyze facts --stream
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
If a stream is interrupted, resume it:
|
|
349
|
-
|
|
350
|
-
```bash
|
|
351
|
-
xevol resume <transcription-id>
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
## Authentication
|
|
355
|
-
|
|
356
|
-
xevol uses a device authorization flow, similar to `gh auth login`:
|
|
357
|
-
|
|
358
|
-
1. Run `xevol login`
|
|
359
|
-
2. A code is displayed and your browser opens
|
|
360
|
-
3. Enter the code to authorize
|
|
361
|
-
4. The CLI stores your token locally at `~/.xevol/`
|
|
362
|
-
|
|
363
|
-
For CI/CD or headless environments, use token-based auth:
|
|
364
|
-
|
|
365
|
-
```bash
|
|
366
|
-
xevol login --token <token>
|
|
367
|
-
# or
|
|
368
|
-
export XEVOL_TOKEN=<token>
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
Check your auth status:
|
|
372
|
-
|
|
373
|
-
```bash
|
|
374
|
-
xevol whoami
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
## Piping & Scripting
|
|
378
|
-
|
|
379
|
-
```bash
|
|
380
|
-
# Pipe transcript to other tools
|
|
381
|
-
xevol view <id> --raw | wc -w
|
|
382
|
-
|
|
383
|
-
# JSON output for scripting
|
|
384
|
-
xevol list --json | jq '.list | length'
|
|
385
|
-
|
|
386
|
-
# Export to CSV
|
|
387
|
-
xevol list --csv > my-transcriptions.csv
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
## Global Options
|
|
391
|
-
|
|
392
|
-
| Flag | Description |
|
|
393
|
-
| ----------------- | ---------------------------------------- |
|
|
394
|
-
| `--token <token>` | Override auth token for a single command |
|
|
395
|
-
| `--no-color` | Disable colored output |
|
|
396
|
-
| `--json` | Machine-readable JSON output |
|
|
397
|
-
| `-V, --version` | Print version |
|
|
398
|
-
| `-h, --help` | Show help |
|
|
399
|
-
|
|
400
|
-
## Links
|
|
401
|
-
|
|
402
|
-
- **Website**: [xevol.com](https://xevol.com)
|
|
403
|
-
- **Issues**: [github.com/xevol/xevol-cli/issues](https://github.com/xevol/xevol-cli/issues)
|
|
404
|
-
|
|
405
|
-
## License
|
|
406
|
-
|
|
407
|
-
Proprietary — see [xevol.com](https://xevol.com) for terms.
|