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.
Files changed (3) hide show
  1. package/README.md +70 -357
  2. package/dist/index.js +167 -163
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,407 +1,120 @@
1
- # xevol
1
+ # xevol CLI
2
2
 
3
- **Transcribe, analyze, and explore YouTube and web content from your terminal.**
3
+ Terminal client for Xevol content execution.
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/xevol)](https://www.npmjs.com/package/xevol)
6
- [![License](https://img.shields.io/badge/license-proprietary-blue)](https://xevol.com)
7
- [![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](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
- Paste a YouTube or web URL, get AI-powered transcription and analysis — no API keys, no local GPU, no tool chaining.
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 18+.
17
+ Requires **Node.js >= 20**.
47
18
 
48
- ## Quick Start
19
+ ## Quick start
49
20
 
50
21
  ```bash
51
- # 1. Authenticate
22
+ # 1) Login (device flow)
52
23
  xevol login
53
24
 
54
- # 2. Add a YouTube video or web page (waits for completion by default)
55
- xevol add "https://youtube.com/watch?v=abc123"
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. Analyze it
60
- xevol analyze <id> --prompt facts
28
+ # 3) Run analysis
29
+ xevol analyze <transcription-id> --prompt facts
61
30
 
62
- # 4. View the transcript
63
- xevol view <id>
31
+ # 4) View content
32
+ xevol view <transcription-id>
64
33
  ```
65
34
 
66
- ## Commands
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
- Authenticate using the device code flow — opens your browser, you confirm, done.
37
+ Xevol CLI supports workspace switching:
90
38
 
91
39
  ```bash
92
- # Interactive device flow
93
- xevol login
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
- ### `xevol add`
44
+ When a workspace is selected, CLI sends `X-Workspace-Id` automatically for workspace-aware API routes.
103
45
 
104
- Add a URL (YouTube or website) for processing.
46
+ ## Command map
105
47
 
106
- ```bash
107
- # Add and wait for processing (default)
108
- xevol add "https://youtube.com/watch?v=abc123"
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
- # Add a web page
111
- xevol add "https://example.com/article"
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
- # Fire-and-forget (returns ID immediately)
114
- xevol add "https://youtube.com/watch?v=abc123" --no-wait
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
- # Specify language
117
- xevol add "https://youtube.com/watch?v=abc123" --lang de
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
- # Process and analyze in one step
120
- xevol add "https://youtube.com/watch?v=abc123" --analyze facts
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
- | Flag | Description |
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
- ### `xevol list`
78
+ - `--json` machine-readable output
79
+ - `--token <token>` override auth token per command
80
+ - `--no-color` disable ANSI colors
138
81
 
139
- List your transcriptions.
82
+ ## Examples
140
83
 
141
84
  ```bash
142
- # Default table view
143
- xevol list
85
+ # Add + analyze + stream
86
+ xevol add "https://youtube.com/watch?v=..." --analyze facts,summary --stream
144
87
 
145
- # Pagination
146
- xevol list --page 2 --limit 50
88
+ # Create from file
89
+ xevol create --file notes.md --title "Research notes"
147
90
 
148
- # Filter by status
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
- ```bash
201
- # Summary view
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
- | Flag | Description |
215
- | --------- | ------------------------------ |
216
- | `--raw` | Print the full transcript text |
217
- | `--clean` | Use cleaned/processed content |
218
- | `--json` | JSON output |
98
+ ## Config
219
99
 
220
- ### `xevol analyze`
100
+ CLI config is stored in:
221
101
 
222
- Generate AI-powered analysis of a transcription.
102
+ - `~/.xevol/config.json`
223
103
 
224
- ```bash
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
- | Flag | Description |
236
- | --------------- | --------------------------------- |
237
- | `--prompt <id>` | Prompt to use (default: `review`) |
238
- | `--lang <code>` | Output language |
239
- | `--json` | JSON output |
106
+ ## Notes
240
107
 
241
- Use `xevol prompts` to see all available prompts.
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
- ### `xevol prompts`
244
-
245
- Manage prompts (list/create/update/delete).
112
+ ## Development
246
113
 
247
114
  ```bash
248
- # List prompts
249
- xevol prompts
250
- xevol prompts list --json
251
- xevol prompts list --csv
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.