@calliopelabs/cli 0.6.11 â 0.7.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 +451 -156
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +165 -1
- package/dist/cli.js.map +1 -1
- package/dist/storage.d.ts +25 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +77 -0
- package/dist/storage.js.map +1 -1
- package/dist/ui-cli.d.ts.map +1 -1
- package/dist/ui-cli.js +634 -22
- package/dist/ui-cli.js.map +1 -1
- package/package.json +2 -2
- package/dist/context-warnings.d.ts +0 -47
- package/dist/context-warnings.d.ts.map +0 -1
- package/dist/context-warnings.js +0 -123
- package/dist/context-warnings.js.map +0 -1
package/README.md
CHANGED
|
@@ -49,24 +49,174 @@ Switch between 12+ providers on the fly:
|
|
|
49
49
|
/provider mistral # Use Mistral
|
|
50
50
|
/provider ollama # Use local models
|
|
51
51
|
/provider openrouter # Use any model via OpenRouter
|
|
52
|
-
/provider litellm # Use LiteLLM proxy
|
|
53
52
|
```
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
**Supported Providers:**
|
|
55
|
+
- Anthropic (Claude): Sonnet 4, Opus 4, Haiku
|
|
56
|
+
- OpenAI: GPT-4o, o1, o3-mini
|
|
57
|
+
- Google: Gemini 2.0 Flash, 1.5 Pro
|
|
58
|
+
- Mistral: Large, Small
|
|
59
|
+
- Groq: Llama 3.3, Mixtral
|
|
60
|
+
- Cerebras: Llama 3.3
|
|
61
|
+
- Fireworks: Llama models
|
|
62
|
+
- xAI: Grok
|
|
63
|
+
- Ollama: Local models
|
|
64
|
+
- OpenRouter: 100+ models
|
|
65
|
+
- GitHub Models: Via Azure
|
|
66
|
+
- DeepSeek: R1, V3
|
|
56
67
|
|
|
57
|
-
|
|
68
|
+
### đ Scope Management
|
|
58
69
|
|
|
70
|
+
Control which directories your AI can access for enhanced security:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
/scope add ./src # Grant access to src directory
|
|
74
|
+
/scope add ./tests # Add tests directory
|
|
75
|
+
/scope list # View current scope
|
|
76
|
+
/scope remove ./src # Revoke access
|
|
77
|
+
/scope reset # Clear all scope restrictions
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Benefits:**
|
|
81
|
+
- đ **Security** - Prevent accidental modifications outside project areas
|
|
82
|
+
- đ¯ **Focus** - Keep AI operations within relevant directories
|
|
83
|
+
- ⥠**Performance** - Reduce unnecessary file scanning
|
|
84
|
+
- đ **Audit trail** - Track which directories are in scope
|
|
85
|
+
|
|
86
|
+
### đ Session Management & Continuity
|
|
87
|
+
|
|
88
|
+
Seamless continuity between sessions:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# On startup, Calliope detects previous sessions:
|
|
92
|
+
ââ đ Calliope v0.6.11
|
|
93
|
+
â Found previous session (2 hours ago)
|
|
94
|
+
â âĸ 12 messages, 2 TODOs pending
|
|
95
|
+
â°â [R]esume [N]ew session
|
|
96
|
+
|
|
97
|
+
# Commands
|
|
98
|
+
/session list # List all sessions
|
|
99
|
+
/session info # Current session details
|
|
100
|
+
/history # View conversation history
|
|
101
|
+
/export [file.md] # Export conversation to markdown
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### đ Bookmarks & Navigation
|
|
105
|
+
|
|
106
|
+
Mark and return to important moments in your conversation:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
/bookmark "Got auth working" # Create a bookmark
|
|
110
|
+
/bookmarks # List all bookmarks
|
|
111
|
+
/goto bookmark-1 # Jump to that point in history
|
|
112
|
+
/bookmark delete 1 # Remove a bookmark
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Use cases:**
|
|
116
|
+
- Mark successful implementations
|
|
117
|
+
- Save decision points
|
|
118
|
+
- Quick navigation in long conversations
|
|
119
|
+
|
|
120
|
+
### đ Templates
|
|
121
|
+
|
|
122
|
+
Save and reuse common prompts and workflows:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
/template save code-review "Review this code for bugs, performance, and best practices"
|
|
126
|
+
/template list # View all templates
|
|
127
|
+
/template use code-review # Use a saved template
|
|
128
|
+
/template delete code-review # Remove a template
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Built-in templates include:**
|
|
132
|
+
- Code review
|
|
133
|
+
- Bug investigation
|
|
134
|
+
- Refactoring plans
|
|
135
|
+
- Testing strategies
|
|
136
|
+
|
|
137
|
+
### âŠī¸ Undo/Redo
|
|
138
|
+
|
|
139
|
+
Navigate conversation history with full state management:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
/undo # Undo last exchange (message + all responses)
|
|
143
|
+
/redo # Redo previously undone exchange
|
|
144
|
+
/history # View full conversation timeline
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Features:**
|
|
148
|
+
- Preserves entire conversation state
|
|
149
|
+
- Works across tool executions
|
|
150
|
+
- Unlimited undo/redo stack
|
|
151
|
+
- Shows available undo/redo count
|
|
152
|
+
|
|
153
|
+
### đ° Cost Tracking
|
|
154
|
+
|
|
155
|
+
Monitor API usage and costs across sessions:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Automatic tracking in status bar:
|
|
159
|
+
# anthropic:claude-sonnet-4 â 5.2K/200K â 12.5K used â $0.45
|
|
160
|
+
|
|
161
|
+
/cost # Detailed cost breakdown
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Tracks:**
|
|
165
|
+
- Current session cost
|
|
166
|
+
- Total cost across all sessions
|
|
167
|
+
- Cost per provider
|
|
168
|
+
- Token usage (input/output)
|
|
169
|
+
- Persists across sessions
|
|
170
|
+
|
|
171
|
+
### â¨ī¸ Advanced Input Experience
|
|
172
|
+
|
|
173
|
+
Enhanced input with modern conveniences:
|
|
174
|
+
|
|
175
|
+
- **Tab completion** - Slash commands and file paths autocomplete
|
|
176
|
+
- **History navigation** - Up/down arrows to browse previous inputs
|
|
177
|
+
- **Multi-line editing** - Shift+Enter for new lines (if supported)
|
|
178
|
+
- **Path suggestions** - Real-time file path completion
|
|
179
|
+
- **Command hints** - Footer shows available options
|
|
180
|
+
|
|
181
|
+
**Example:**
|
|
182
|
+
```
|
|
183
|
+
> /boo[TAB] â /bookmark
|
|
184
|
+
> /scope add ./[TAB] â ./src/ ./tests/ ./docs/
|
|
185
|
+
> [Up Arrow] â Previous command
|
|
59
186
|
```
|
|
60
|
-
|
|
61
|
-
|
|
187
|
+
|
|
188
|
+
### đ Parallel Tool Execution
|
|
189
|
+
|
|
190
|
+
Automatically executes independent tool calls in parallel for 2-5x speedup:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
# When AI needs to read 3 files:
|
|
194
|
+
Sequential: Read file1 â wait â Read file2 â wait â Read file3
|
|
195
|
+
Parallel: Read file1, file2, file3 â all at once!
|
|
196
|
+
|
|
197
|
+
# Dependency-aware:
|
|
198
|
+
- Detects when tools depend on each other
|
|
199
|
+
- Executes in optimal order
|
|
200
|
+
- Shows parallel execution progress
|
|
62
201
|
```
|
|
63
202
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
203
|
+
### ⥠Autonomous Loops
|
|
204
|
+
|
|
205
|
+
Enable continuous execution for complex multi-step tasks:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
/loop on # Enable autonomous loops
|
|
209
|
+
/loop off # Disable
|
|
210
|
+
/loop 10 # Set max iterations
|
|
211
|
+
|
|
212
|
+
# The AI will:
|
|
213
|
+
# 1. Plan the approach
|
|
214
|
+
# 2. Execute tools
|
|
215
|
+
# 3. Evaluate results
|
|
216
|
+
# 4. Continue until goal achieved or max iterations
|
|
217
|
+
```
|
|
68
218
|
|
|
69
|
-
### Project Memory (CALLIOPE.md)
|
|
219
|
+
### đ§ Project Memory (CALLIOPE.md)
|
|
70
220
|
|
|
71
221
|
Persistent memory across sessions using markdown files:
|
|
72
222
|
|
|
@@ -85,221 +235,281 @@ Calliope automatically loads context from standard files:
|
|
|
85
235
|
- `ARCHITECTURE.md`, `DESIGN.md`, `NOTES.md`
|
|
86
236
|
- `.cursorrules`, `.github/copilot-instructions.md`
|
|
87
237
|
|
|
88
|
-
### Tools
|
|
238
|
+
### đ ī¸ Tools
|
|
89
239
|
|
|
90
240
|
Built-in tools for autonomous operation:
|
|
91
241
|
|
|
92
242
|
| Tool | Description |
|
|
93
243
|
|------|-------------|
|
|
94
|
-
| `shell` | Execute shell commands |
|
|
244
|
+
| `shell` | Execute shell commands with safety checks |
|
|
95
245
|
| `read_file` | Read file contents |
|
|
96
246
|
| `write_file` | Write files with diff preview |
|
|
97
247
|
| `list_files` | Directory listing |
|
|
98
|
-
| `think` | Structured reasoning |
|
|
248
|
+
| `think` | Structured reasoning (visible in output) |
|
|
99
249
|
| `execute_code` | Run Python/Node/Bash in sandbox |
|
|
100
|
-
| `web_search` | Search the web |
|
|
101
|
-
| `git` | Git operations |
|
|
250
|
+
| `web_search` | Search the web for information |
|
|
251
|
+
| `git` | Git operations (status, diff, log, etc.) |
|
|
102
252
|
| `mermaid` | Generate diagrams |
|
|
103
253
|
|
|
104
|
-
### Sandboxed Code Execution
|
|
254
|
+
### đŗ Sandboxed Code Execution
|
|
105
255
|
|
|
106
256
|
Execute code safely in Docker containers:
|
|
107
257
|
|
|
108
258
|
```
|
|
109
259
|
The execute_code tool automatically:
|
|
110
260
|
- Uses Docker when available (recommended)
|
|
111
|
-
- Falls back to local execution
|
|
261
|
+
- Falls back to local execution if needed
|
|
112
262
|
- Shows [sandboxed] or [unsandboxed] status
|
|
113
263
|
- Enforces resource limits and timeouts
|
|
114
264
|
```
|
|
115
265
|
|
|
116
|
-
### MCP Server Support
|
|
266
|
+
### đ MCP Server Support
|
|
117
267
|
|
|
118
268
|
Connect external tools via Model Context Protocol:
|
|
119
269
|
|
|
120
|
-
```
|
|
270
|
+
```bash
|
|
121
271
|
/mcp add https://mcp-server.example.com
|
|
122
272
|
/mcp list # Show connected servers
|
|
123
|
-
/mcp tools # List available tools
|
|
273
|
+
/mcp tools # List available tools from all servers
|
|
124
274
|
/mcp refresh # Reconnect all servers
|
|
125
275
|
```
|
|
126
276
|
|
|
127
|
-
### Agent Skills (AgentSkills.io)
|
|
277
|
+
### đĻ Agent Skills (AgentSkills.io)
|
|
128
278
|
|
|
129
|
-
Install reusable skills from the registry:
|
|
279
|
+
Install reusable skills from the community registry:
|
|
130
280
|
|
|
131
|
-
```
|
|
281
|
+
```bash
|
|
132
282
|
/skills add git-workflow
|
|
133
283
|
/skills add code-review
|
|
134
|
-
/skills list
|
|
135
|
-
/skills info <name>
|
|
284
|
+
/skills list # Show installed skills
|
|
285
|
+
/skills info <name> # Skill details
|
|
136
286
|
```
|
|
137
287
|
|
|
138
|
-
### Conversation Branching
|
|
288
|
+
### đ˛ Conversation Branching
|
|
139
289
|
|
|
140
290
|
Fork conversations to explore different approaches:
|
|
141
291
|
|
|
142
|
-
```
|
|
292
|
+
```bash
|
|
143
293
|
/branch new experiment "Try approach B"
|
|
144
|
-
/branch list
|
|
294
|
+
/branch list # Show all branches
|
|
145
295
|
/branch switch experiment
|
|
146
296
|
/branch delete experiment
|
|
147
297
|
```
|
|
148
298
|
|
|
149
|
-
### Themes
|
|
299
|
+
### đ¨ Themes & Personas
|
|
150
300
|
|
|
151
|
-
Customize the
|
|
301
|
+
Customize the visual style and AI personality:
|
|
152
302
|
|
|
153
|
-
```
|
|
303
|
+
```bash
|
|
304
|
+
# Themes
|
|
154
305
|
/theme list # Show available themes
|
|
155
306
|
/theme monokai # Set theme
|
|
307
|
+
/theme # Cycle through themes
|
|
308
|
+
|
|
309
|
+
# Personas
|
|
310
|
+
/persona professional # Professional, concise responses
|
|
311
|
+
/persona minimal # Minimal output, just essentials
|
|
312
|
+
/persona calliope # Poetic, elegant responses (default)
|
|
156
313
|
```
|
|
157
314
|
|
|
158
|
-
Available themes
|
|
315
|
+
**Available themes:** `default`, `light`, `monokai`, `nord`, `minimal`
|
|
159
316
|
|
|
160
|
-
### Hooks System
|
|
317
|
+
### đĒ Hooks System
|
|
161
318
|
|
|
162
319
|
Run custom scripts before/after tool execution:
|
|
163
320
|
|
|
164
|
-
```
|
|
321
|
+
```bash
|
|
165
322
|
/hooks init # Initialize default hooks
|
|
166
323
|
/hooks list # Show configured hooks
|
|
167
324
|
/hooks add pre-shell "echo Running: $CALLIOPE_COMMAND"
|
|
168
325
|
```
|
|
169
326
|
|
|
170
|
-
Hook events
|
|
327
|
+
**Hook events:** `pre-tool`, `post-tool`, `pre-shell`, `post-shell`, `pre-write`, `post-write`, `session-start`, `session-end`
|
|
328
|
+
|
|
329
|
+
### đ Context Management & Warnings
|
|
171
330
|
|
|
172
|
-
|
|
331
|
+
Smart context tracking with proactive warnings:
|
|
173
332
|
|
|
174
|
-
|
|
333
|
+
```
|
|
334
|
+
â ī¸ Context at 85% capacity (170K/200K tokens)
|
|
335
|
+
Consider: /summarize compact | /clear | shorter messages
|
|
175
336
|
|
|
337
|
+
đ¨ Context at 95% capacity! (190K/200K tokens)
|
|
338
|
+
Action required: /summarize compact | /clear
|
|
176
339
|
```
|
|
340
|
+
|
|
341
|
+
**Commands:**
|
|
342
|
+
```bash
|
|
177
343
|
/summarize context # View conversation summary
|
|
178
344
|
/summarize compact # Compress context to fit limits
|
|
345
|
+
/clear # Clear conversation
|
|
179
346
|
```
|
|
180
347
|
|
|
181
|
-
###
|
|
348
|
+
### đ Smart Search
|
|
182
349
|
|
|
183
|
-
|
|
350
|
+
Find anything in your conversation or project:
|
|
184
351
|
|
|
352
|
+
```bash
|
|
353
|
+
/search error handling # Fuzzy search through history
|
|
354
|
+
/find auth # Find files in project
|
|
185
355
|
```
|
|
186
|
-
/project init # Create .calliope file
|
|
187
|
-
/project show # View config
|
|
188
|
-
/project run build # Run defined command
|
|
189
|
-
```
|
|
190
356
|
|
|
191
|
-
|
|
357
|
+
### âī¸ Modes
|
|
358
|
+
|
|
359
|
+
Three distinct operating modes for different workflows:
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
/mode plan # Analyze and plan, don't execute
|
|
363
|
+
/mode hybrid # Plan then execute (default)
|
|
364
|
+
/mode work # Execute directly without planning
|
|
192
365
|
```
|
|
193
|
-
project: My Project
|
|
194
|
-
provider: anthropic
|
|
195
|
-
model: claude-sonnet-4-20250514
|
|
196
366
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
367
|
+
| Mode | Icon | Behavior | Use Case |
|
|
368
|
+
|------|------|----------|----------|
|
|
369
|
+
| **Plan** | đ | Chat only, no execution | Design discussions, exploration |
|
|
370
|
+
| **Hybrid** | đ | Smart planning before complex ops | Default for most users |
|
|
371
|
+
| **Work** | đ§ | Direct execution | Experienced users, simple tasks |
|
|
201
372
|
|
|
202
|
-
|
|
203
|
-
Use functional components
|
|
204
|
-
Prefer async/await
|
|
373
|
+
### đĄī¸ Risk Assessment & Safety
|
|
205
374
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
375
|
+
Built-in safety for potentially dangerous operations:
|
|
376
|
+
|
|
377
|
+
- Automatic risk classification (low/medium/high/critical)
|
|
378
|
+
- Permission prompts for risky operations
|
|
379
|
+
- God mode (`-g`) to bypass prompts for trusted tasks
|
|
380
|
+
- Detailed explanations of risks
|
|
381
|
+
- Scope restrictions for file access
|
|
382
|
+
|
|
383
|
+
### đ Streaming & Real-time Feedback
|
|
384
|
+
|
|
385
|
+
Live response rendering for immediate feedback:
|
|
386
|
+
|
|
387
|
+
- Token-by-token streaming for text responses
|
|
388
|
+
- Live tool execution status with progress indicators
|
|
389
|
+
- Visual diffs for file changes
|
|
390
|
+
- Parallel tool execution visualization
|
|
391
|
+
- Thinking process display
|
|
210
392
|
|
|
211
393
|
## Commands Reference
|
|
212
394
|
|
|
213
|
-
### Core
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
395
|
+
### Core Commands
|
|
396
|
+
```bash
|
|
397
|
+
/help, /h # Show all commands
|
|
398
|
+
/exit, /quit, /q # Exit Calliope
|
|
399
|
+
/clear, /c # Clear conversation
|
|
400
|
+
/status, /s # Show current status
|
|
401
|
+
/config # Show configuration
|
|
402
|
+
/debug [on|off] # Toggle debug mode
|
|
403
|
+
```
|
|
221
404
|
|
|
222
405
|
### Model & Provider
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
406
|
+
```bash
|
|
407
|
+
/provider, /p [name] # Switch AI provider
|
|
408
|
+
/model, /m [name] # Set model (interactive if no name)
|
|
409
|
+
/models # Browse available models
|
|
410
|
+
/persona [name] # Switch persona (calliope/professional/minimal)
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### Modes & Settings
|
|
414
|
+
```bash
|
|
415
|
+
/mode [plan|hybrid|work] # Switch operating mode
|
|
416
|
+
/loop [on|off|N] # Toggle/configure autonomous mode
|
|
417
|
+
/confirm [on|off] # Toggle risky operation confirmation
|
|
418
|
+
/theme [name] # Switch theme
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
### Scope Management
|
|
422
|
+
```bash
|
|
423
|
+
/scope add <path> # Add directory to scope
|
|
424
|
+
/scope remove <path> # Remove directory from scope
|
|
425
|
+
/scope list # Show current scope
|
|
426
|
+
/scope reset # Clear all scope restrictions
|
|
427
|
+
```
|
|
241
428
|
|
|
242
429
|
### Session & History
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
430
|
+
```bash
|
|
431
|
+
/session list # List all sessions
|
|
432
|
+
/session info # Current session details
|
|
433
|
+
/history [search] # View/search conversation history
|
|
434
|
+
/bookmark [name] # Create bookmark
|
|
435
|
+
/bookmarks # List bookmarks
|
|
436
|
+
/goto <id> # Jump to bookmark
|
|
437
|
+
/undo # Undo last exchange
|
|
438
|
+
/redo # Redo exchange
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
### Templates & Memory
|
|
442
|
+
```bash
|
|
443
|
+
/template save <name> <prompt> # Save template
|
|
444
|
+
/template list # View all templates
|
|
445
|
+
/template use <name> # Use template
|
|
446
|
+
/template delete <name> # Remove template
|
|
447
|
+
|
|
448
|
+
/memory init # Initialize project memory
|
|
449
|
+
/memory add <text> # Add to memory
|
|
450
|
+
/memory show # View project memory
|
|
451
|
+
/memory global # View global memory
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
### Context & Search
|
|
455
|
+
```bash
|
|
456
|
+
/summarize [context|compact] # Summarize/compress conversation
|
|
457
|
+
/search <query> # Search conversation history
|
|
458
|
+
/find <pattern> # Fuzzy file search in project
|
|
459
|
+
/branch [new|switch|list] # Conversation branches
|
|
460
|
+
```
|
|
263
461
|
|
|
264
462
|
### Tools & Extensions
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
463
|
+
```bash
|
|
464
|
+
/mcp [list|add|remove|tools] # MCP server management
|
|
465
|
+
/skills [list|add|remove|info] # Agent skills
|
|
466
|
+
/hooks [list|add|init] # Pre/post tool hooks
|
|
467
|
+
```
|
|
270
468
|
|
|
271
469
|
### Tasks & Planning
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
###
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
470
|
+
```bash
|
|
471
|
+
/todo [add|done|work|clear|list] # Manage TODOs
|
|
472
|
+
/plans [list|view|rerun] # View and rerun plans
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
### Utility
|
|
476
|
+
```bash
|
|
477
|
+
/cost # Show cost breakdown
|
|
478
|
+
/copy # Copy last response
|
|
479
|
+
/export [file.md] # Export conversation to file
|
|
480
|
+
/upgrade # Check for updates
|
|
481
|
+
/set <key> <value> # Set runtime config (e.g., maxIterations)
|
|
482
|
+
/context # Show loaded project context
|
|
483
|
+
```
|
|
286
484
|
|
|
287
485
|
## Environment Variables
|
|
288
486
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
487
|
+
```bash
|
|
488
|
+
# API Keys
|
|
489
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
490
|
+
OPENAI_API_KEY=sk-...
|
|
491
|
+
GOOGLE_API_KEY=...
|
|
492
|
+
MISTRAL_API_KEY=...
|
|
493
|
+
GROQ_API_KEY=...
|
|
494
|
+
XAI_API_KEY=...
|
|
495
|
+
CEREBRAS_API_KEY=...
|
|
496
|
+
FIREWORKS_API_KEY=...
|
|
497
|
+
DEEPSEEK_API_KEY=...
|
|
498
|
+
OPENROUTER_API_KEY=...
|
|
499
|
+
|
|
500
|
+
# Configuration
|
|
501
|
+
CALLIOPE_PROVIDER=anthropic
|
|
502
|
+
CALLIOPE_MODEL=claude-sonnet-4-20250514
|
|
503
|
+
CALLIOPE_GOD_MODE=false
|
|
504
|
+
CALLIOPE_DEBUG=false
|
|
505
|
+
|
|
506
|
+
# Ollama
|
|
507
|
+
OLLAMA_BASE_URL=http://localhost:11434
|
|
508
|
+
|
|
509
|
+
# LiteLLM
|
|
510
|
+
LITELLM_BASE_URL=http://localhost:4000
|
|
511
|
+
LITELLM_API_KEY=...
|
|
512
|
+
```
|
|
303
513
|
|
|
304
514
|
## Configuration
|
|
305
515
|
|
|
@@ -316,29 +526,47 @@ calliope --reset
|
|
|
316
526
|
calliope --setup
|
|
317
527
|
```
|
|
318
528
|
|
|
529
|
+
### Sample config.json
|
|
530
|
+
```json
|
|
531
|
+
{
|
|
532
|
+
"provider": "anthropic",
|
|
533
|
+
"model": "claude-sonnet-4-20250514",
|
|
534
|
+
"apiKeys": {
|
|
535
|
+
"anthropic": "sk-ant-...",
|
|
536
|
+
"openai": "sk-...",
|
|
537
|
+
"google": "..."
|
|
538
|
+
},
|
|
539
|
+
"theme": "default",
|
|
540
|
+
"persona": "calliope",
|
|
541
|
+
"godMode": false,
|
|
542
|
+
"maxIterations": 25,
|
|
543
|
+
"scope": ["./src", "./tests"]
|
|
544
|
+
}
|
|
545
|
+
```
|
|
546
|
+
|
|
319
547
|
### Profiles
|
|
320
548
|
|
|
321
549
|
Save and switch between configurations:
|
|
322
550
|
|
|
323
|
-
```
|
|
324
|
-
/profile save work # Save current settings
|
|
325
|
-
/profile work # Load profile
|
|
551
|
+
```bash
|
|
552
|
+
/profile save work # Save current settings as "work"
|
|
553
|
+
/profile work # Load "work" profile
|
|
326
554
|
/profile delete work # Delete profile
|
|
327
555
|
/profile list # Show all profiles
|
|
328
556
|
```
|
|
329
557
|
|
|
330
|
-
Built-in profiles
|
|
558
|
+
**Built-in profiles:** `fast`, `smart`, `cheap`, `local`
|
|
331
559
|
|
|
332
560
|
## Keyboard Shortcuts
|
|
333
561
|
|
|
334
562
|
| Key | Action |
|
|
335
563
|
|-----|--------|
|
|
336
|
-
| `ESC` | Exit |
|
|
337
|
-
| `
|
|
338
|
-
| `Ctrl+C` | Cancel operation |
|
|
564
|
+
| `ESC` | Exit Calliope |
|
|
565
|
+
| `Ctrl+C` | Cancel current operation |
|
|
339
566
|
| `Ctrl+L` | Clear screen |
|
|
340
|
-
| `Up/Down` | Navigate history |
|
|
341
|
-
| `Tab` |
|
|
567
|
+
| `Up/Down` | Navigate input history |
|
|
568
|
+
| `Tab` | Autocomplete commands/paths |
|
|
569
|
+
| `Shift+Enter` | Multi-line input (where supported) |
|
|
342
570
|
|
|
343
571
|
## File References
|
|
344
572
|
|
|
@@ -350,43 +578,110 @@ Reference files directly in your messages:
|
|
|
350
578
|
/absolute/path/file # Absolute path
|
|
351
579
|
```
|
|
352
580
|
|
|
353
|
-
Images are automatically detected and sent for vision models.
|
|
581
|
+
Images are automatically detected and sent for vision-capable models.
|
|
354
582
|
|
|
355
|
-
## Security
|
|
583
|
+
## Security & Best Practices
|
|
356
584
|
|
|
357
585
|
### API Key Storage
|
|
358
586
|
- Keys stored in `~/.config/calliope/config.json`
|
|
359
587
|
- Prefer environment variables for better security
|
|
360
588
|
- Never commit config to version control
|
|
361
589
|
|
|
362
|
-
### Tool Execution
|
|
590
|
+
### Tool Execution Safety
|
|
363
591
|
- Path traversal protection
|
|
364
592
|
- Sandboxed code execution via Docker
|
|
365
593
|
- Timeout limits on all commands
|
|
594
|
+
- Risk assessment for dangerous operations
|
|
595
|
+
- Scope restrictions for file access
|
|
366
596
|
- Hook system for custom validation
|
|
367
597
|
|
|
368
598
|
### Best Practices
|
|
369
|
-
1.
|
|
370
|
-
2.
|
|
371
|
-
3. Set iteration limits on loops
|
|
599
|
+
1. Use `/scope` to limit directory access
|
|
600
|
+
2. Review tool calls before execution (unless in god mode)
|
|
601
|
+
3. Set iteration limits on autonomous loops
|
|
372
602
|
4. Work from project directories, not system directories
|
|
603
|
+
5. Regular `/summarize` to manage context
|
|
604
|
+
6. Use bookmarks for important moments
|
|
605
|
+
|
|
606
|
+
## Development
|
|
607
|
+
|
|
608
|
+
```bash
|
|
609
|
+
# Clone and setup
|
|
610
|
+
git clone https://github.com/calliopeai/calliope-cli.git
|
|
611
|
+
cd calliope-cli
|
|
612
|
+
npm install
|
|
613
|
+
|
|
614
|
+
# Build
|
|
615
|
+
npm run build
|
|
616
|
+
|
|
617
|
+
# Run locally
|
|
618
|
+
node dist/bin.js
|
|
619
|
+
|
|
620
|
+
# Run tests
|
|
621
|
+
npm test
|
|
622
|
+
|
|
623
|
+
# Watch mode for development
|
|
624
|
+
npm run dev
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
## Architecture
|
|
628
|
+
|
|
629
|
+
- **TypeScript** - Full type safety throughout
|
|
630
|
+
- **Ink (React)** - Declarative CLI rendering
|
|
631
|
+
- **Vitest** - Fast unit testing framework
|
|
632
|
+
- **Multi-provider** - Unified interface for 12+ LLM providers
|
|
633
|
+
- **Modular design** - Clean separation of concerns
|
|
634
|
+
- **Parallel execution** - Dependency-aware tool execution
|
|
635
|
+
- **Error boundaries** - Graceful crash recovery
|
|
373
636
|
|
|
374
637
|
## Troubleshooting
|
|
375
638
|
|
|
376
639
|
**"No API keys configured"**
|
|
377
|
-
- Run `calliope --setup`
|
|
640
|
+
- Run `calliope --setup` to configure keys
|
|
641
|
+
- Or set environment variables (see above)
|
|
378
642
|
|
|
379
643
|
**"Empty response from API"**
|
|
380
|
-
- Check API key validity
|
|
644
|
+
- Check API key validity
|
|
645
|
+
- Verify account credits/quota
|
|
381
646
|
- Try a different provider
|
|
382
647
|
|
|
648
|
+
**Context limit warnings**
|
|
649
|
+
- Use `/summarize compact` to compress
|
|
650
|
+
- Or `/clear` to start fresh
|
|
651
|
+
- Consider shorter messages
|
|
652
|
+
|
|
383
653
|
**"Access denied" for file operations**
|
|
384
654
|
- Operations restricted to cwd and home directory
|
|
655
|
+
- Check `/scope list` for current restrictions
|
|
656
|
+
- Use `/scope add <path>` to grant access
|
|
385
657
|
|
|
386
658
|
**Docker not available for sandbox**
|
|
387
659
|
- Install Docker for safer code execution
|
|
388
|
-
- Without Docker, code runs locally (
|
|
660
|
+
- Without Docker, code runs locally (less safe)
|
|
661
|
+
|
|
662
|
+
## Contributing
|
|
663
|
+
|
|
664
|
+
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
389
665
|
|
|
390
666
|
## License
|
|
391
667
|
|
|
392
|
-
MIT
|
|
668
|
+
MIT License - see [LICENSE](LICENSE)
|
|
669
|
+
|
|
670
|
+
## Support
|
|
671
|
+
|
|
672
|
+
- **Issues**: [GitHub Issues](https://github.com/calliopeai/calliope-cli/issues)
|
|
673
|
+
- **Discussions**: [GitHub Discussions](https://github.com/calliopeai/calliope-cli/discussions)
|
|
674
|
+
- **Twitter**: [@calliopelabs](https://twitter.com/calliopelabs)
|
|
675
|
+
|
|
676
|
+
## Acknowledgments
|
|
677
|
+
|
|
678
|
+
Built with love by the Calliope team. Special thanks to:
|
|
679
|
+
- Anthropic for Claude
|
|
680
|
+
- OpenAI for GPT
|
|
681
|
+
- Google for Gemini
|
|
682
|
+
- The open-source community
|
|
683
|
+
- All contributors and users
|
|
684
|
+
|
|
685
|
+
---
|
|
686
|
+
|
|
687
|
+
*May your code be elegant, your execution swift, and your automation poetic.* đâ¨
|