xevol 0.12.0 → 0.12.2

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 +69 -339
  2. package/dist/index.js +192 -180
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,389 +1,119 @@
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` | List available analysis prompts |
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 locations` — Xevol Coordinates history
118
71
 
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
- ```
72
+ ### Interface
73
+ - `xevol tui` — interactive terminal UI
128
74
 
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 |
75
+ ## Common flags
136
76
 
137
- ### `xevol list`
77
+ - `--json` machine-readable output
78
+ - `--token <token>` override auth token per command
79
+ - `--no-color` disable ANSI colors
138
80
 
139
- List your transcriptions.
81
+ ## Examples
140
82
 
141
83
  ```bash
142
- # Default table view
143
- xevol list
84
+ # Add + analyze + stream
85
+ xevol add "https://youtube.com/watch?v=..." --analyze facts,summary --stream
144
86
 
145
- # Pagination
146
- xevol list --page 2 --limit 50
87
+ # Create from file
88
+ xevol create --file notes.md --title "Research notes"
147
89
 
148
- # Filter by status
149
- xevol list --status completed
150
-
151
- # Machine-readable formats
90
+ # List in JSON
152
91
  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
92
 
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
93
+ # Export markdown
94
+ xevol export <id> --format markdown --output summary.md
212
95
  ```
213
96
 
214
- | Flag | Description |
215
- | --------- | ------------------------------ |
216
- | `--raw` | Print the full transcript text |
217
- | `--clean` | Use cleaned/processed content |
218
- | `--json` | JSON output |
97
+ ## Config
219
98
 
220
- ### `xevol analyze`
99
+ CLI config is stored in:
221
100
 
222
- Generate AI-powered analysis of a transcription.
101
+ - `~/.xevol/config.json`
223
102
 
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
- ```
103
+ Includes token, API URL, selected workspace, and defaults.
234
104
 
235
- | Flag | Description |
236
- | --------------- | --------------------------------- |
237
- | `--prompt <id>` | Prompt to use (default: `review`) |
238
- | `--lang <code>` | Output language |
239
- | `--json` | JSON output |
105
+ ## Notes
240
106
 
241
- Use `xevol prompts` to see all available prompts.
107
+ - Execution environment unification is in progress across API/CLI/mobile.
108
+ - Workspace-aware resources already respect selected workspace context.
109
+ - Usage/limit reporting follows API-provided scope during rollout.
242
110
 
243
- ### `xevol prompts`
244
-
245
- List available analysis prompts.
111
+ ## Development
246
112
 
247
113
  ```bash
248
- xevol prompts
249
- xevol prompts --json
250
- xevol prompts --csv
114
+ bun install
115
+ bun run dev
116
+ bun run build
117
+ bun run typecheck
118
+ bun run lint
251
119
  ```
252
-
253
- ### `xevol stream`
254
-
255
- Stream analysis output in real time via SSE.
256
-
257
- ```bash
258
- xevol stream <spike-id>
259
- xevol stream <spike-id> --last-event-id <id>
260
- ```
261
-
262
- ### `xevol resume`
263
-
264
- Resume a previously interrupted streaming session.
265
-
266
- ```bash
267
- xevol resume <transcription-id>
268
- ```
269
-
270
- ### `xevol config`
271
-
272
- View or edit CLI configuration.
273
-
274
- ```bash
275
- # Show all config
276
- xevol config
277
-
278
- # Get a value
279
- xevol config get apiUrl
280
-
281
- # Set a value
282
- xevol config set default.lang de
283
- xevol config set default.limit 50
284
- ```
285
-
286
- Available config keys:
287
-
288
- | Key | Description |
289
- | --------------- | ---------------------------- |
290
- | `apiUrl` | Base API URL |
291
- | `default.lang` | Default output language |
292
- | `default.limit` | Default page size for `list` |
293
- | `api.timeout` | API request timeout (ms) |
294
-
295
- ## Output Formats
296
-
297
- ### Table (default)
298
-
299
- ```
300
- ┌─────────────┬────────────────────────────────┬──────────┬──────────┐
301
- │ ID │ Title │ Duration │ Status │
302
- ├─────────────┼────────────────────────────────┼──────────┼──────────┤
303
- │ abc123def45 │ Cursor CEO: Going Beyond Code │ 37:29 │ ✔ done │
304
- │ xyz789ghi01 │ Naval on Happiness │ 12:03 │ ⠋ proc… │
305
- └─────────────┴────────────────────────────────┴──────────┴──────────┘
306
- ```
307
-
308
- ### JSON (`--json`)
309
-
310
- ```bash
311
- xevol list --json | jq '.list[] | select(.channelTitle == "Y Combinator")'
312
- xevol analyze abc123 --prompt facts --json | jq '.spikes[0].content'
313
- ```
314
-
315
- ### CSV (`--csv`)
316
-
317
- ```bash
318
- xevol list --csv > transcriptions.csv
319
- xevol prompts --csv
320
- ```
321
-
322
- ## Streaming
323
-
324
- Analysis output streams in real time via Server-Sent Events (SSE). Use `--stream` with `add` to watch analysis as it's generated:
325
-
326
- ```bash
327
- xevol add "https://youtube.com/watch?v=..." --analyze facts --stream
328
- ```
329
-
330
- If a stream is interrupted, resume it:
331
-
332
- ```bash
333
- xevol resume <transcription-id>
334
- ```
335
-
336
- ## Authentication
337
-
338
- xevol uses a device authorization flow, similar to `gh auth login`:
339
-
340
- 1. Run `xevol login`
341
- 2. A code is displayed and your browser opens
342
- 3. Enter the code to authorize
343
- 4. The CLI stores your token locally at `~/.xevol/`
344
-
345
- For CI/CD or headless environments, use token-based auth:
346
-
347
- ```bash
348
- xevol login --token <token>
349
- # or
350
- export XEVOL_TOKEN=<token>
351
- ```
352
-
353
- Check your auth status:
354
-
355
- ```bash
356
- xevol whoami
357
- ```
358
-
359
- ## Piping & Scripting
360
-
361
- ```bash
362
- # Pipe transcript to other tools
363
- xevol view <id> --raw | wc -w
364
-
365
- # JSON output for scripting
366
- xevol list --json | jq '.list | length'
367
-
368
- # Export to CSV
369
- xevol list --csv > my-transcriptions.csv
370
- ```
371
-
372
- ## Global Options
373
-
374
- | Flag | Description |
375
- | ----------------- | ---------------------------------------- |
376
- | `--token <token>` | Override auth token for a single command |
377
- | `--no-color` | Disable colored output |
378
- | `--json` | Machine-readable JSON output |
379
- | `-V, --version` | Print version |
380
- | `-h, --help` | Show help |
381
-
382
- ## Links
383
-
384
- - **Website**: [xevol.com](https://xevol.com)
385
- - **Issues**: [github.com/xevol/xevol-cli/issues](https://github.com/xevol/xevol-cli/issues)
386
-
387
- ## License
388
-
389
- Proprietary — see [xevol.com](https://xevol.com) for terms.