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