indigo-cli 0.1.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/README.md +1030 -0
- package/main.js +4557 -0
- package/package.json +43 -0
package/README.md
ADDED
|
@@ -0,0 +1,1030 @@
|
|
|
1
|
+
# Indigo CLI
|
|
2
|
+
|
|
3
|
+
Terminal-based access to Indigo for power users. Authenticate, browse signals, manage meetings, and chat with Indigo AI without launching the Electron app.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Installation](#installation)
|
|
8
|
+
- [Quick Start](#quick-start)
|
|
9
|
+
- [Commands](#commands)
|
|
10
|
+
- [auth](#auth---authentication-commands)
|
|
11
|
+
- [account](#account---account-management)
|
|
12
|
+
- [signals](#signals---signal-management)
|
|
13
|
+
- [chat](#chat---chat-with-indigo-ai)
|
|
14
|
+
- [setup](#setup---configuration-and-setup)
|
|
15
|
+
- [meetings](#meetings---meeting-management)
|
|
16
|
+
- [Exit Codes](#exit-codes)
|
|
17
|
+
- [Configuration](#configuration)
|
|
18
|
+
- [Output Formats](#output-formats)
|
|
19
|
+
- [Troubleshooting](#troubleshooting)
|
|
20
|
+
- [Common Workflows](#common-workflows)
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
### npm (recommended)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install -g @anthropic/indigo-cli
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Standalone binaries (no Node.js required)
|
|
31
|
+
|
|
32
|
+
Download the binary for your platform from [GitHub Releases](https://github.com/anthropics/indigo-nx/releases):
|
|
33
|
+
|
|
34
|
+
| Platform | Download |
|
|
35
|
+
|----------|----------|
|
|
36
|
+
| macOS (Apple Silicon) | `indigo-macos-arm64` |
|
|
37
|
+
| macOS (Intel) | `indigo-macos-x64` |
|
|
38
|
+
| Linux (x64) | `indigo-linux-x64` |
|
|
39
|
+
| Windows (x64) | `indigo-win-x64.exe` |
|
|
40
|
+
|
|
41
|
+
#### macOS / Linux
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Download the binary (example for macOS ARM64)
|
|
45
|
+
curl -L -o indigo https://github.com/anthropics/indigo-nx/releases/latest/download/indigo-macos-arm64
|
|
46
|
+
|
|
47
|
+
# Make it executable
|
|
48
|
+
chmod +x indigo
|
|
49
|
+
|
|
50
|
+
# Move to a directory in your PATH
|
|
51
|
+
sudo mv indigo /usr/local/bin/
|
|
52
|
+
|
|
53
|
+
# Verify installation
|
|
54
|
+
indigo --version
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
On macOS, you may need to allow the app in System Preferences > Security & Privacy if you see a security warning.
|
|
58
|
+
|
|
59
|
+
#### Windows
|
|
60
|
+
|
|
61
|
+
1. Download `indigo-win-x64.exe` from the releases page
|
|
62
|
+
2. Rename to `indigo.exe` (optional)
|
|
63
|
+
3. Move to a directory in your PATH, or run directly from the download location
|
|
64
|
+
|
|
65
|
+
```powershell
|
|
66
|
+
# Verify installation
|
|
67
|
+
.\indigo.exe --version
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### From source
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
git clone https://github.com/anthropics/indigo-nx.git
|
|
74
|
+
cd indigo-nx
|
|
75
|
+
pnpm install
|
|
76
|
+
nx run cli:build
|
|
77
|
+
# Binary available at dist/apps/cli/main.js
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Quick Start
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# 1. Authenticate (opens browser)
|
|
84
|
+
indigo auth login
|
|
85
|
+
|
|
86
|
+
# 2. Run interactive setup wizard (optional)
|
|
87
|
+
indigo setup
|
|
88
|
+
|
|
89
|
+
# 3. List your signals
|
|
90
|
+
indigo signals list
|
|
91
|
+
|
|
92
|
+
# 4. Start a chat session
|
|
93
|
+
indigo chat start
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Commands
|
|
97
|
+
|
|
98
|
+
### auth - Authentication Commands
|
|
99
|
+
|
|
100
|
+
Manage authentication with your Indigo account.
|
|
101
|
+
|
|
102
|
+
#### auth login
|
|
103
|
+
|
|
104
|
+
Authenticate with your Indigo account via browser-based OAuth.
|
|
105
|
+
|
|
106
|
+
**Syntax:**
|
|
107
|
+
```bash
|
|
108
|
+
indigo auth login [options]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Options:**
|
|
112
|
+
| Option | Description |
|
|
113
|
+
|--------|-------------|
|
|
114
|
+
| `--force` | Force CLI-specific login even if Electron app credentials exist |
|
|
115
|
+
| `--json` | Output as JSON for scripting |
|
|
116
|
+
|
|
117
|
+
**Examples:**
|
|
118
|
+
```bash
|
|
119
|
+
# Standard login (opens browser)
|
|
120
|
+
indigo auth login
|
|
121
|
+
|
|
122
|
+
# Force new credentials even if using desktop app
|
|
123
|
+
indigo auth login --force
|
|
124
|
+
|
|
125
|
+
# Get login status as JSON
|
|
126
|
+
indigo auth login --json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Notes:**
|
|
130
|
+
- If you're already logged into the Indigo desktop app, the CLI will automatically use those credentials
|
|
131
|
+
- Use `--force` to create CLI-specific credentials separate from the desktop app
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
#### auth logout
|
|
136
|
+
|
|
137
|
+
Log out and clear stored credentials.
|
|
138
|
+
|
|
139
|
+
**Syntax:**
|
|
140
|
+
```bash
|
|
141
|
+
indigo auth logout [options]
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Options:**
|
|
145
|
+
| Option | Description |
|
|
146
|
+
|--------|-------------|
|
|
147
|
+
| `--json` | Output as JSON for scripting |
|
|
148
|
+
|
|
149
|
+
**Examples:**
|
|
150
|
+
```bash
|
|
151
|
+
# Log out
|
|
152
|
+
indigo auth logout
|
|
153
|
+
|
|
154
|
+
# Log out with JSON output
|
|
155
|
+
indigo auth logout --json
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
#### auth status
|
|
161
|
+
|
|
162
|
+
Display current authentication status including user info and token expiry.
|
|
163
|
+
|
|
164
|
+
**Syntax:**
|
|
165
|
+
```bash
|
|
166
|
+
indigo auth status [options]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Options:**
|
|
170
|
+
| Option | Description |
|
|
171
|
+
|--------|-------------|
|
|
172
|
+
| `--json` | Output as JSON for scripting |
|
|
173
|
+
|
|
174
|
+
**Examples:**
|
|
175
|
+
```bash
|
|
176
|
+
# Check authentication status
|
|
177
|
+
indigo auth status
|
|
178
|
+
|
|
179
|
+
# Get detailed status as JSON
|
|
180
|
+
indigo auth status --json
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Output includes:**
|
|
184
|
+
- Login status (logged in / not logged in)
|
|
185
|
+
- User email and ID
|
|
186
|
+
- Token expiry time
|
|
187
|
+
- Credential source (CLI or Electron desktop app)
|
|
188
|
+
- Storage method (system keychain or encrypted file)
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### account - Account Management
|
|
193
|
+
|
|
194
|
+
Manage your Indigo account.
|
|
195
|
+
|
|
196
|
+
#### account create
|
|
197
|
+
|
|
198
|
+
Create a new Indigo account via browser-based signup.
|
|
199
|
+
|
|
200
|
+
**Syntax:**
|
|
201
|
+
```bash
|
|
202
|
+
indigo account create [options]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Options:**
|
|
206
|
+
| Option | Description |
|
|
207
|
+
|--------|-------------|
|
|
208
|
+
| `--json` | Output as JSON for scripting |
|
|
209
|
+
| `-e, --email <email>` | Email address (development/test environments only) |
|
|
210
|
+
| `-p, --password <password>` | Password (development/test environments only) |
|
|
211
|
+
|
|
212
|
+
**Examples:**
|
|
213
|
+
```bash
|
|
214
|
+
# Create account via browser (standard flow)
|
|
215
|
+
indigo account create
|
|
216
|
+
|
|
217
|
+
# Create account in dev/test environment
|
|
218
|
+
indigo account create --email user@example.com --password mypassword123
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Notes:**
|
|
222
|
+
- The `--email` and `--password` flags are only available in development/test environments
|
|
223
|
+
- In production, account creation always uses the browser-based OAuth flow
|
|
224
|
+
- Password must be at least 8 characters
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
#### account info
|
|
229
|
+
|
|
230
|
+
Display information about your current account.
|
|
231
|
+
|
|
232
|
+
**Syntax:**
|
|
233
|
+
```bash
|
|
234
|
+
indigo account info [options]
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Options:**
|
|
238
|
+
| Option | Description |
|
|
239
|
+
|--------|-------------|
|
|
240
|
+
| `--json` | Output as JSON for scripting |
|
|
241
|
+
|
|
242
|
+
**Examples:**
|
|
243
|
+
```bash
|
|
244
|
+
# View account info
|
|
245
|
+
indigo account info
|
|
246
|
+
|
|
247
|
+
# Get account info as JSON
|
|
248
|
+
indigo account info --json
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Output includes:**
|
|
252
|
+
- Email address
|
|
253
|
+
- Display name
|
|
254
|
+
- User ID
|
|
255
|
+
- Company (if associated)
|
|
256
|
+
- Credential source
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
### signals - Signal Management
|
|
261
|
+
|
|
262
|
+
Browse and search your Indigo signals. Signals are insights extracted from your meetings, emails, and communications.
|
|
263
|
+
|
|
264
|
+
#### signals list
|
|
265
|
+
|
|
266
|
+
List your recent signals.
|
|
267
|
+
|
|
268
|
+
**Syntax:**
|
|
269
|
+
```bash
|
|
270
|
+
indigo signals list [options]
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Options:**
|
|
274
|
+
| Option | Description |
|
|
275
|
+
|--------|-------------|
|
|
276
|
+
| `--json` | Output as JSON for scripting |
|
|
277
|
+
| `-n, --limit <number>` | Number of results to show (default: 20) |
|
|
278
|
+
| `-t, --type <type>` | Filter by signal type |
|
|
279
|
+
|
|
280
|
+
**Valid signal types:**
|
|
281
|
+
- `decision` - Decisions made in meetings or communications
|
|
282
|
+
- `action` - Action items identified
|
|
283
|
+
- `accomplishment` - Accomplishments or completed items
|
|
284
|
+
- `key_fact` - Important facts or information
|
|
285
|
+
|
|
286
|
+
**Examples:**
|
|
287
|
+
```bash
|
|
288
|
+
# List recent signals
|
|
289
|
+
indigo signals list
|
|
290
|
+
|
|
291
|
+
# List 50 signals
|
|
292
|
+
indigo signals list --limit 50
|
|
293
|
+
|
|
294
|
+
# List only decisions
|
|
295
|
+
indigo signals list --type decision
|
|
296
|
+
|
|
297
|
+
# List action items as JSON
|
|
298
|
+
indigo signals list --type action --json
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
#### signals search
|
|
304
|
+
|
|
305
|
+
Search your signals by content.
|
|
306
|
+
|
|
307
|
+
**Syntax:**
|
|
308
|
+
```bash
|
|
309
|
+
indigo signals search <query> [options]
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**Arguments:**
|
|
313
|
+
| Argument | Description |
|
|
314
|
+
|----------|-------------|
|
|
315
|
+
| `query` | Search term (required) |
|
|
316
|
+
|
|
317
|
+
**Options:**
|
|
318
|
+
| Option | Description |
|
|
319
|
+
|--------|-------------|
|
|
320
|
+
| `--json` | Output as JSON for scripting |
|
|
321
|
+
| `-n, --limit <number>` | Number of results to show (default: 20) |
|
|
322
|
+
| `-t, --type <type>` | Filter by signal type |
|
|
323
|
+
|
|
324
|
+
**Examples:**
|
|
325
|
+
```bash
|
|
326
|
+
# Search for budget-related signals
|
|
327
|
+
indigo signals search "budget"
|
|
328
|
+
|
|
329
|
+
# Search for project decisions
|
|
330
|
+
indigo signals search "project update" --type decision
|
|
331
|
+
|
|
332
|
+
# Search with custom limit
|
|
333
|
+
indigo signals search "quarterly" --limit 10 --json
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
#### signals view
|
|
339
|
+
|
|
340
|
+
View the full details of a specific signal.
|
|
341
|
+
|
|
342
|
+
**Syntax:**
|
|
343
|
+
```bash
|
|
344
|
+
indigo signals view <id> [options]
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**Arguments:**
|
|
348
|
+
| Argument | Description |
|
|
349
|
+
|----------|-------------|
|
|
350
|
+
| `id` | Signal ID (24-character hexadecimal string) |
|
|
351
|
+
|
|
352
|
+
**Options:**
|
|
353
|
+
| Option | Description |
|
|
354
|
+
|--------|-------------|
|
|
355
|
+
| `--json` | Output as JSON for scripting |
|
|
356
|
+
|
|
357
|
+
**Examples:**
|
|
358
|
+
```bash
|
|
359
|
+
# View a signal by ID
|
|
360
|
+
indigo signals view 507f1f77bcf86cd799439011
|
|
361
|
+
|
|
362
|
+
# View signal as JSON
|
|
363
|
+
indigo signals view 507f1f77bcf86cd799439011 --json
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
**Output includes:**
|
|
367
|
+
- Signal type and title
|
|
368
|
+
- Source (meeting, email, etc.)
|
|
369
|
+
- Creation and update timestamps
|
|
370
|
+
- Related people, teams, projects
|
|
371
|
+
- Full content and citations
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
375
|
+
### chat - Chat with Indigo AI
|
|
376
|
+
|
|
377
|
+
Start and manage interactive chat sessions with Indigo AI.
|
|
378
|
+
|
|
379
|
+
#### chat start
|
|
380
|
+
|
|
381
|
+
Start a new interactive chat session.
|
|
382
|
+
|
|
383
|
+
**Syntax:**
|
|
384
|
+
```bash
|
|
385
|
+
indigo chat start [options]
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
**Options:**
|
|
389
|
+
| Option | Description |
|
|
390
|
+
|--------|-------------|
|
|
391
|
+
| `--json` | Output session info as JSON (non-interactive) |
|
|
392
|
+
| `--no-stream` | Disable streaming, wait for complete responses |
|
|
393
|
+
|
|
394
|
+
**Examples:**
|
|
395
|
+
```bash
|
|
396
|
+
# Start interactive chat
|
|
397
|
+
indigo chat start
|
|
398
|
+
|
|
399
|
+
# Start chat without streaming
|
|
400
|
+
indigo chat start --no-stream
|
|
401
|
+
|
|
402
|
+
# Get session info as JSON (for scripting)
|
|
403
|
+
indigo chat start --json
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**Interactive commands:**
|
|
407
|
+
- Type your message and press Enter to send
|
|
408
|
+
- Type `exit` or `quit` to end the session
|
|
409
|
+
- Press `Ctrl+C` to cancel
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
#### chat continue
|
|
414
|
+
|
|
415
|
+
Resume an existing chat session.
|
|
416
|
+
|
|
417
|
+
**Syntax:**
|
|
418
|
+
```bash
|
|
419
|
+
indigo chat continue <session-id> [options]
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
**Arguments:**
|
|
423
|
+
| Argument | Description |
|
|
424
|
+
|----------|-------------|
|
|
425
|
+
| `session-id` | Chat session ID (24-character hexadecimal string) |
|
|
426
|
+
|
|
427
|
+
**Options:**
|
|
428
|
+
| Option | Description |
|
|
429
|
+
|--------|-------------|
|
|
430
|
+
| `--json` | Output session info as JSON (non-interactive) |
|
|
431
|
+
| `--no-stream` | Disable streaming, wait for complete responses |
|
|
432
|
+
|
|
433
|
+
**Examples:**
|
|
434
|
+
```bash
|
|
435
|
+
# Continue a previous session
|
|
436
|
+
indigo chat continue 507f1f77bcf86cd799439011
|
|
437
|
+
|
|
438
|
+
# Continue without streaming
|
|
439
|
+
indigo chat continue 507f1f77bcf86cd799439011 --no-stream
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
444
|
+
#### chat list
|
|
445
|
+
|
|
446
|
+
List your recent chat sessions.
|
|
447
|
+
|
|
448
|
+
**Syntax:**
|
|
449
|
+
```bash
|
|
450
|
+
indigo chat list [options]
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
**Options:**
|
|
454
|
+
| Option | Description |
|
|
455
|
+
|--------|-------------|
|
|
456
|
+
| `--json` | Output as JSON for scripting |
|
|
457
|
+
| `-n, --limit <number>` | Number of sessions to show (default: 10) |
|
|
458
|
+
|
|
459
|
+
**Examples:**
|
|
460
|
+
```bash
|
|
461
|
+
# List recent chat sessions
|
|
462
|
+
indigo chat list
|
|
463
|
+
|
|
464
|
+
# List more sessions
|
|
465
|
+
indigo chat list --limit 20
|
|
466
|
+
|
|
467
|
+
# Get sessions as JSON
|
|
468
|
+
indigo chat list --json
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
### setup - Configuration and Setup
|
|
474
|
+
|
|
475
|
+
Configure Indigo CLI settings including API keys and calendar integration.
|
|
476
|
+
|
|
477
|
+
#### setup wizard
|
|
478
|
+
|
|
479
|
+
Run the interactive setup wizard to configure all settings.
|
|
480
|
+
|
|
481
|
+
**Syntax:**
|
|
482
|
+
```bash
|
|
483
|
+
indigo setup [options]
|
|
484
|
+
indigo setup wizard [options]
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
**Options:**
|
|
488
|
+
| Option | Description |
|
|
489
|
+
|--------|-------------|
|
|
490
|
+
| `--json` | Output current status as JSON (non-interactive) |
|
|
491
|
+
|
|
492
|
+
**Examples:**
|
|
493
|
+
```bash
|
|
494
|
+
# Run setup wizard
|
|
495
|
+
indigo setup
|
|
496
|
+
|
|
497
|
+
# Check what needs to be configured
|
|
498
|
+
indigo setup --json
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
**Setup wizard covers:**
|
|
502
|
+
1. Authentication verification
|
|
503
|
+
2. API keys configuration (BYOK - Bring Your Own Key)
|
|
504
|
+
3. Google Calendar connection
|
|
505
|
+
|
|
506
|
+
---
|
|
507
|
+
|
|
508
|
+
#### setup status
|
|
509
|
+
|
|
510
|
+
Show current configuration status.
|
|
511
|
+
|
|
512
|
+
**Syntax:**
|
|
513
|
+
```bash
|
|
514
|
+
indigo setup status [options]
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
**Options:**
|
|
518
|
+
| Option | Description |
|
|
519
|
+
|--------|-------------|
|
|
520
|
+
| `--json` | Output as JSON for scripting |
|
|
521
|
+
|
|
522
|
+
**Examples:**
|
|
523
|
+
```bash
|
|
524
|
+
# Check setup status
|
|
525
|
+
indigo setup status
|
|
526
|
+
|
|
527
|
+
# Get status as JSON
|
|
528
|
+
indigo setup status --json
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
**Output includes:**
|
|
532
|
+
- Authentication status
|
|
533
|
+
- Configured API key providers
|
|
534
|
+
- Calendar connection status
|
|
535
|
+
|
|
536
|
+
---
|
|
537
|
+
|
|
538
|
+
#### setup calendar
|
|
539
|
+
|
|
540
|
+
Connect and manage Google Calendar integration.
|
|
541
|
+
|
|
542
|
+
**Syntax:**
|
|
543
|
+
```bash
|
|
544
|
+
indigo setup calendar [options]
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
**Options:**
|
|
548
|
+
| Option | Description |
|
|
549
|
+
|--------|-------------|
|
|
550
|
+
| `--json` | Output as JSON for scripting |
|
|
551
|
+
| `--status` | Show current calendar connection status |
|
|
552
|
+
| `--select` | Select which calendars to sync |
|
|
553
|
+
| `--disconnect` | Disconnect Google Calendar |
|
|
554
|
+
|
|
555
|
+
**Examples:**
|
|
556
|
+
```bash
|
|
557
|
+
# Connect Google Calendar (opens browser)
|
|
558
|
+
indigo setup calendar
|
|
559
|
+
|
|
560
|
+
# Check calendar connection status
|
|
561
|
+
indigo setup calendar --status
|
|
562
|
+
|
|
563
|
+
# Select calendars to sync
|
|
564
|
+
indigo setup calendar --select
|
|
565
|
+
|
|
566
|
+
# Disconnect calendar
|
|
567
|
+
indigo setup calendar --disconnect
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
---
|
|
571
|
+
|
|
572
|
+
#### setup keys
|
|
573
|
+
|
|
574
|
+
Configure API keys for AI model providers (BYOK - Bring Your Own Key).
|
|
575
|
+
|
|
576
|
+
**Syntax:**
|
|
577
|
+
```bash
|
|
578
|
+
indigo setup keys [options]
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
**Options:**
|
|
582
|
+
| Option | Description |
|
|
583
|
+
|--------|-------------|
|
|
584
|
+
| `--json` | Output as JSON for scripting |
|
|
585
|
+
| `--list` | List configured API key providers |
|
|
586
|
+
| `-p, --provider <provider>` | Configure a specific provider |
|
|
587
|
+
| `--remove <provider>` | Remove API key for a provider |
|
|
588
|
+
|
|
589
|
+
**Supported providers:**
|
|
590
|
+
| Provider | Description |
|
|
591
|
+
|----------|-------------|
|
|
592
|
+
| `openai` | GPT-4, GPT-4o and other OpenAI models |
|
|
593
|
+
| `anthropic` | Claude models (Claude 3, Claude 3.5, etc.) |
|
|
594
|
+
| `google` | Gemini models |
|
|
595
|
+
| `xai` | Grok models |
|
|
596
|
+
|
|
597
|
+
**Examples:**
|
|
598
|
+
```bash
|
|
599
|
+
# Interactive setup for all providers
|
|
600
|
+
indigo setup keys
|
|
601
|
+
|
|
602
|
+
# List configured providers
|
|
603
|
+
indigo setup keys --list
|
|
604
|
+
|
|
605
|
+
# Configure OpenAI API key
|
|
606
|
+
indigo setup keys --provider openai
|
|
607
|
+
|
|
608
|
+
# Remove an API key
|
|
609
|
+
indigo setup keys --remove anthropic
|
|
610
|
+
|
|
611
|
+
# Get configuration as JSON
|
|
612
|
+
indigo setup keys --list --json
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
---
|
|
616
|
+
|
|
617
|
+
### meetings - Meeting Management
|
|
618
|
+
|
|
619
|
+
View and search your calendar meetings. Requires Google Calendar to be connected.
|
|
620
|
+
|
|
621
|
+
#### meetings list
|
|
622
|
+
|
|
623
|
+
List your meetings.
|
|
624
|
+
|
|
625
|
+
**Syntax:**
|
|
626
|
+
```bash
|
|
627
|
+
indigo meetings list [options]
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
**Options:**
|
|
631
|
+
| Option | Description |
|
|
632
|
+
|--------|-------------|
|
|
633
|
+
| `--json` | Output as JSON for scripting |
|
|
634
|
+
| `-n, --limit <number>` | Number of results to show (default: 20) |
|
|
635
|
+
| `--upcoming` | Show upcoming meetings (default) |
|
|
636
|
+
| `--past` | Show past meetings |
|
|
637
|
+
|
|
638
|
+
**Examples:**
|
|
639
|
+
```bash
|
|
640
|
+
# List upcoming meetings
|
|
641
|
+
indigo meetings list
|
|
642
|
+
|
|
643
|
+
# List past meetings
|
|
644
|
+
indigo meetings list --past
|
|
645
|
+
|
|
646
|
+
# List more meetings
|
|
647
|
+
indigo meetings list --limit 50 --json
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
---
|
|
651
|
+
|
|
652
|
+
#### meetings view
|
|
653
|
+
|
|
654
|
+
View detailed information about a specific meeting.
|
|
655
|
+
|
|
656
|
+
**Syntax:**
|
|
657
|
+
```bash
|
|
658
|
+
indigo meetings view <id> [options]
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
**Arguments:**
|
|
662
|
+
| Argument | Description |
|
|
663
|
+
|----------|-------------|
|
|
664
|
+
| `id` | Meeting ID (24-character hexadecimal string) |
|
|
665
|
+
|
|
666
|
+
**Options:**
|
|
667
|
+
| Option | Description |
|
|
668
|
+
|--------|-------------|
|
|
669
|
+
| `--json` | Output as JSON for scripting |
|
|
670
|
+
|
|
671
|
+
**Examples:**
|
|
672
|
+
```bash
|
|
673
|
+
# View meeting details
|
|
674
|
+
indigo meetings view 507f1f77bcf86cd799439011
|
|
675
|
+
|
|
676
|
+
# Get meeting as JSON
|
|
677
|
+
indigo meetings view 507f1f77bcf86cd799439011 --json
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
**Output includes:**
|
|
681
|
+
- Meeting title and status
|
|
682
|
+
- Date, time, and duration
|
|
683
|
+
- Meeting URL
|
|
684
|
+
- Participants and their response status
|
|
685
|
+
- Description and summary (if available)
|
|
686
|
+
|
|
687
|
+
---
|
|
688
|
+
|
|
689
|
+
#### meetings search
|
|
690
|
+
|
|
691
|
+
Search meetings by title, description, or attendee.
|
|
692
|
+
|
|
693
|
+
**Syntax:**
|
|
694
|
+
```bash
|
|
695
|
+
indigo meetings search <query> [options]
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
**Arguments:**
|
|
699
|
+
| Argument | Description |
|
|
700
|
+
|----------|-------------|
|
|
701
|
+
| `query` | Search term (required) |
|
|
702
|
+
|
|
703
|
+
**Options:**
|
|
704
|
+
| Option | Description |
|
|
705
|
+
|--------|-------------|
|
|
706
|
+
| `--json` | Output as JSON for scripting |
|
|
707
|
+
| `-n, --limit <number>` | Number of results to show (default: 20) |
|
|
708
|
+
| `--upcoming` | Search only upcoming meetings |
|
|
709
|
+
| `--past` | Search only past meetings |
|
|
710
|
+
|
|
711
|
+
**Examples:**
|
|
712
|
+
```bash
|
|
713
|
+
# Search all meetings
|
|
714
|
+
indigo meetings search "standup"
|
|
715
|
+
|
|
716
|
+
# Search upcoming meetings only
|
|
717
|
+
indigo meetings search "review" --upcoming
|
|
718
|
+
|
|
719
|
+
# Search past meetings
|
|
720
|
+
indigo meetings search "quarterly" --past --limit 10
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
---
|
|
724
|
+
|
|
725
|
+
## Exit Codes
|
|
726
|
+
|
|
727
|
+
The CLI uses standardized exit codes for scripting and automation:
|
|
728
|
+
|
|
729
|
+
| Code | Name | Description |
|
|
730
|
+
|------|------|-------------|
|
|
731
|
+
| 0 | Success | Command completed successfully |
|
|
732
|
+
| 1 | General Error | An unexpected error occurred |
|
|
733
|
+
| 2 | Authentication Required | User is not authenticated; run `indigo auth login` |
|
|
734
|
+
| 3 | Not Found | Requested resource (signal, meeting, chat) was not found |
|
|
735
|
+
| 4 | Configuration Error | Missing or invalid configuration (e.g., calendar not connected) |
|
|
736
|
+
| 5 | Validation Error | Invalid command arguments or options |
|
|
737
|
+
|
|
738
|
+
**Example usage in scripts:**
|
|
739
|
+
```bash
|
|
740
|
+
indigo signals list --json > signals.json
|
|
741
|
+
if [ $? -eq 2 ]; then
|
|
742
|
+
echo "Please log in first"
|
|
743
|
+
indigo auth login
|
|
744
|
+
fi
|
|
745
|
+
```
|
|
746
|
+
|
|
747
|
+
---
|
|
748
|
+
|
|
749
|
+
## Configuration
|
|
750
|
+
|
|
751
|
+
### Environment Variables
|
|
752
|
+
|
|
753
|
+
For chat functionality, the following environment variables must be set:
|
|
754
|
+
|
|
755
|
+
| Variable | Description |
|
|
756
|
+
|----------|-------------|
|
|
757
|
+
| `LANGGRAPH_API_URL` | URL of your LangGraph instance |
|
|
758
|
+
| `LANGSMITH_API_KEY` | Your LangSmith API key |
|
|
759
|
+
| `LANGGRAPH_ASSISTANT_ID` | Your LangGraph assistant ID |
|
|
760
|
+
|
|
761
|
+
**Example:**
|
|
762
|
+
```bash
|
|
763
|
+
export LANGGRAPH_API_URL="https://your-langgraph-instance.com"
|
|
764
|
+
export LANGSMITH_API_KEY="your-api-key"
|
|
765
|
+
export LANGGRAPH_ASSISTANT_ID="your-assistant-id"
|
|
766
|
+
```
|
|
767
|
+
|
|
768
|
+
### Credential Storage
|
|
769
|
+
|
|
770
|
+
The CLI stores credentials securely using one of two methods:
|
|
771
|
+
|
|
772
|
+
1. **System keychain** (preferred) - Uses the native OS keychain:
|
|
773
|
+
- macOS: Keychain Access
|
|
774
|
+
- Windows: Credential Manager
|
|
775
|
+
- Linux: Secret Service API (GNOME Keyring, KWallet)
|
|
776
|
+
|
|
777
|
+
2. **Encrypted config file** (fallback) - Used when system keychain is unavailable
|
|
778
|
+
|
|
779
|
+
**Config file location:**
|
|
780
|
+
- macOS/Linux: `~/.config/indigo-cli/`
|
|
781
|
+
- Windows: `%APPDATA%/indigo-cli/`
|
|
782
|
+
|
|
783
|
+
### Shared Credentials with Desktop App
|
|
784
|
+
|
|
785
|
+
If you have the Indigo desktop app installed and logged in, the CLI will automatically detect and use those credentials. To use separate CLI-specific credentials, run:
|
|
786
|
+
|
|
787
|
+
```bash
|
|
788
|
+
indigo auth login --force
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
---
|
|
792
|
+
|
|
793
|
+
## Output Formats
|
|
794
|
+
|
|
795
|
+
All data commands support JSON output for scripting and automation.
|
|
796
|
+
|
|
797
|
+
### Human-readable output (default)
|
|
798
|
+
|
|
799
|
+
```bash
|
|
800
|
+
indigo signals list
|
|
801
|
+
```
|
|
802
|
+
|
|
803
|
+
Output is formatted for terminal display with tables, colors, and word wrapping.
|
|
804
|
+
|
|
805
|
+
### JSON output
|
|
806
|
+
|
|
807
|
+
```bash
|
|
808
|
+
indigo signals list --json
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
JSON output follows a consistent schema:
|
|
812
|
+
|
|
813
|
+
**Success response:**
|
|
814
|
+
```json
|
|
815
|
+
{
|
|
816
|
+
"success": true,
|
|
817
|
+
"data": { ... }
|
|
818
|
+
}
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
**Error response:**
|
|
822
|
+
```json
|
|
823
|
+
{
|
|
824
|
+
"success": false,
|
|
825
|
+
"error": {
|
|
826
|
+
"message": "Error description",
|
|
827
|
+
"code": "ERROR_CODE"
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
### Piping to jq
|
|
833
|
+
|
|
834
|
+
```bash
|
|
835
|
+
# Get the first signal's title
|
|
836
|
+
indigo signals list --json | jq '.[0].data.title'
|
|
837
|
+
|
|
838
|
+
# Filter signals by type
|
|
839
|
+
indigo signals list --json | jq '[.[] | select(.insightType == "decision")]'
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
---
|
|
843
|
+
|
|
844
|
+
## Troubleshooting
|
|
845
|
+
|
|
846
|
+
### "Authentication required" error
|
|
847
|
+
|
|
848
|
+
**Problem:** Commands fail with exit code 2 and "Not authenticated" message.
|
|
849
|
+
|
|
850
|
+
**Solution:**
|
|
851
|
+
```bash
|
|
852
|
+
# Log in to your account
|
|
853
|
+
indigo auth login
|
|
854
|
+
|
|
855
|
+
# Check authentication status
|
|
856
|
+
indigo auth status
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
### Credentials not persisting
|
|
860
|
+
|
|
861
|
+
**Problem:** You need to log in every time you use the CLI.
|
|
862
|
+
|
|
863
|
+
**Solution:**
|
|
864
|
+
1. Check if keytar (system keychain integration) installed correctly
|
|
865
|
+
2. If keytar fails, credentials fall back to an encrypted config file
|
|
866
|
+
3. Verify the config directory exists and is writable:
|
|
867
|
+
```bash
|
|
868
|
+
ls -la ~/.config/indigo-cli/
|
|
869
|
+
```
|
|
870
|
+
|
|
871
|
+
### Chat not working
|
|
872
|
+
|
|
873
|
+
**Problem:** Chat commands fail with configuration errors.
|
|
874
|
+
|
|
875
|
+
**Solution:**
|
|
876
|
+
1. Verify LangGraph environment variables are set:
|
|
877
|
+
```bash
|
|
878
|
+
echo $LANGGRAPH_API_URL
|
|
879
|
+
echo $LANGSMITH_API_KEY
|
|
880
|
+
echo $LANGGRAPH_ASSISTANT_ID
|
|
881
|
+
```
|
|
882
|
+
2. Ensure all three variables are configured correctly
|
|
883
|
+
|
|
884
|
+
### Calendar commands failing
|
|
885
|
+
|
|
886
|
+
**Problem:** Meeting commands fail with "Calendar not connected" error.
|
|
887
|
+
|
|
888
|
+
**Solution:**
|
|
889
|
+
```bash
|
|
890
|
+
# Check calendar connection status
|
|
891
|
+
indigo setup calendar --status
|
|
892
|
+
|
|
893
|
+
# Connect your calendar
|
|
894
|
+
indigo setup calendar
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
### "Invalid signal type" error
|
|
898
|
+
|
|
899
|
+
**Problem:** Signal filtering fails with validation error.
|
|
900
|
+
|
|
901
|
+
**Solution:** Use one of the valid signal types:
|
|
902
|
+
- `decision`
|
|
903
|
+
- `action`
|
|
904
|
+
- `accomplishment`
|
|
905
|
+
- `key_fact`
|
|
906
|
+
|
|
907
|
+
```bash
|
|
908
|
+
indigo signals list --type decision
|
|
909
|
+
```
|
|
910
|
+
|
|
911
|
+
### Invalid ID format
|
|
912
|
+
|
|
913
|
+
**Problem:** Commands fail with "Invalid ID format" error.
|
|
914
|
+
|
|
915
|
+
**Solution:** IDs must be 24-character hexadecimal strings (MongoDB ObjectIds).
|
|
916
|
+
```bash
|
|
917
|
+
# Correct format
|
|
918
|
+
indigo signals view 507f1f77bcf86cd799439011
|
|
919
|
+
|
|
920
|
+
# Get IDs from list commands
|
|
921
|
+
indigo signals list --json | jq '.[0]._id'
|
|
922
|
+
```
|
|
923
|
+
|
|
924
|
+
### Browser not opening during login
|
|
925
|
+
|
|
926
|
+
**Problem:** Browser doesn't open automatically for OAuth.
|
|
927
|
+
|
|
928
|
+
**Solution:**
|
|
929
|
+
1. Copy the URL displayed in the terminal
|
|
930
|
+
2. Paste it manually into your browser
|
|
931
|
+
3. Complete the login flow
|
|
932
|
+
4. Return to the terminal
|
|
933
|
+
|
|
934
|
+
---
|
|
935
|
+
|
|
936
|
+
## Common Workflows
|
|
937
|
+
|
|
938
|
+
### First-time setup
|
|
939
|
+
|
|
940
|
+
```bash
|
|
941
|
+
# 1. Create account or log in
|
|
942
|
+
indigo auth login
|
|
943
|
+
# or
|
|
944
|
+
indigo account create
|
|
945
|
+
|
|
946
|
+
# 2. Run the setup wizard
|
|
947
|
+
indigo setup
|
|
948
|
+
|
|
949
|
+
# 3. Connect your calendar
|
|
950
|
+
indigo setup calendar
|
|
951
|
+
|
|
952
|
+
# 4. Configure API keys (optional)
|
|
953
|
+
indigo setup keys
|
|
954
|
+
|
|
955
|
+
# 5. Verify everything is configured
|
|
956
|
+
indigo setup status
|
|
957
|
+
```
|
|
958
|
+
|
|
959
|
+
### Daily workflow
|
|
960
|
+
|
|
961
|
+
```bash
|
|
962
|
+
# Check upcoming meetings
|
|
963
|
+
indigo meetings list
|
|
964
|
+
|
|
965
|
+
# Review recent signals
|
|
966
|
+
indigo signals list --limit 10
|
|
967
|
+
|
|
968
|
+
# Start a chat to discuss your day
|
|
969
|
+
indigo chat start
|
|
970
|
+
```
|
|
971
|
+
|
|
972
|
+
### Searching for information
|
|
973
|
+
|
|
974
|
+
```bash
|
|
975
|
+
# Find all decisions about a project
|
|
976
|
+
indigo signals search "Project Alpha" --type decision
|
|
977
|
+
|
|
978
|
+
# Find meetings with a specific person
|
|
979
|
+
indigo meetings search "john@example.com"
|
|
980
|
+
|
|
981
|
+
# Find action items from last month
|
|
982
|
+
indigo signals list --type action --limit 50
|
|
983
|
+
```
|
|
984
|
+
|
|
985
|
+
### Scripting and automation
|
|
986
|
+
|
|
987
|
+
```bash
|
|
988
|
+
#!/bin/bash
|
|
989
|
+
|
|
990
|
+
# Export signals to file
|
|
991
|
+
indigo signals list --json > signals.json
|
|
992
|
+
|
|
993
|
+
# Check if authenticated
|
|
994
|
+
if ! indigo auth status --json | jq -e '.data.isAuthenticated' > /dev/null; then
|
|
995
|
+
echo "Please log in first"
|
|
996
|
+
exit 1
|
|
997
|
+
fi
|
|
998
|
+
|
|
999
|
+
# Get upcoming meetings
|
|
1000
|
+
indigo meetings list --json | jq '[.[] | {title: .meeting_title, time: .start_time}]'
|
|
1001
|
+
```
|
|
1002
|
+
|
|
1003
|
+
### Continuing a previous chat
|
|
1004
|
+
|
|
1005
|
+
```bash
|
|
1006
|
+
# List recent chat sessions
|
|
1007
|
+
indigo chat list
|
|
1008
|
+
|
|
1009
|
+
# Continue a specific session
|
|
1010
|
+
indigo chat continue 507f1f77bcf86cd799439011
|
|
1011
|
+
```
|
|
1012
|
+
|
|
1013
|
+
---
|
|
1014
|
+
|
|
1015
|
+
## Requirements
|
|
1016
|
+
|
|
1017
|
+
**npm installation:**
|
|
1018
|
+
- Node.js 18.0.0 or higher
|
|
1019
|
+
|
|
1020
|
+
**Standalone binaries:**
|
|
1021
|
+
- No runtime dependencies (Node.js is bundled)
|
|
1022
|
+
|
|
1023
|
+
**Optional (all installation methods):**
|
|
1024
|
+
- System keychain access for secure credential storage
|
|
1025
|
+
|
|
1026
|
+
---
|
|
1027
|
+
|
|
1028
|
+
## License
|
|
1029
|
+
|
|
1030
|
+
MIT
|