@calliopelabs/cli 0.6.10 → 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 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
- ### Auto Model Routing
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
- Automatically select the best model based on task complexity:
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
- /route on # Enable auto-routing
61
- /route test "explain quantum computing" # Test routing decision
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
- Model tiers:
65
- - **Fast**: Haiku/GPT-4o Mini/Flash - quick, simple tasks
66
- - **Balanced**: Sonnet/GPT-4o/Pro - moderate complexity
67
- - **Smart**: Opus/o1/Pro - complex reasoning tasks
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 color scheme:
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: `default`, `light`, `monokai`, `nord`, `minimal`
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: `pre-tool`, `post-tool`, `pre-shell`, `post-shell`, `pre-write`, `post-write`, `session-start`, `session-end`
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
- ### Context Summarization
331
+ Smart context tracking with proactive warnings:
173
332
 
174
- Manage long conversations:
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
- ### Project Configuration (.calliope)
348
+ ### 🔍 Smart Search
182
349
 
183
- Human-readable project config:
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
- Format:
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
- [tech]
198
- typescript
199
- react
200
- postgres
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
- [conventions]
203
- Use functional components
204
- Prefer async/await
373
+ ### đŸ›Ąī¸ Risk Assessment & Safety
205
374
 
206
- [commands]
207
- build: npm run build
208
- test: npm test
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
- | Command | Description |
215
- |---------|-------------|
216
- | `/help` | Show all commands |
217
- | `/exit` | Exit Calliope |
218
- | `/clear` | Clear conversation |
219
- | `/status` | Show current status |
220
- | `/config` | Show configuration |
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
- | Command | Description |
224
- |---------|-------------|
225
- | `/provider [name]` | Switch AI provider |
226
- | `/model [name]` | Set model (interactive if no name) |
227
- | `/models` | Browse available models |
228
- | `/route [on\|off\|test]` | Auto model routing |
229
- | `/persona [name]` | Switch persona |
230
-
231
- ### Modes
232
- | Command | Description |
233
- |---------|-------------|
234
- | `/mode [plan\|hybrid\|work]` | Switch operating mode |
235
- | `/confirm [on\|off]` | Toggle risky op confirmation |
236
-
237
- Modes:
238
- - **Plan**: Analyze and plan, don't execute
239
- - **Hybrid**: Plan then execute (default)
240
- - **Work**: Execute without planning
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
- | Command | Description |
244
- |---------|-------------|
245
- | `/session [list\|info]` | Session management |
246
- | `/history [search]` | Chat history |
247
- | `/context [load\|summary]` | Context management |
248
- | `/summarize [context\|compact]` | Summarize conversation |
249
-
250
- ### Memory & Config
251
- | Command | Description |
252
- |---------|-------------|
253
- | `/memory [init\|add\|show\|global]` | Project memory |
254
- | `/project [init\|show\|run]` | Project config |
255
- | `/profile [name\|save\|del]` | Switch/save profiles |
256
-
257
- ### Search & Navigation
258
- | Command | Description |
259
- |---------|-------------|
260
- | `/find <pattern>` | Fuzzy file search |
261
- | `/search <query>` | Search conversation |
262
- | `/branch [new\|switch\|list]` | Conversation branches |
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
- | Command | Description |
266
- |---------|-------------|
267
- | `/mcp [list\|add\|remove\|tools]` | MCP servers |
268
- | `/skills [list\|add\|remove\|info]` | Agent skills |
269
- | `/hooks [list\|add\|init]` | Pre/post tool hooks |
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
- | Command | Description |
273
- |---------|-------------|
274
- | `/todo [add\|done\|list]` | Manage TODOs |
275
- | `/plans [list\|view]` | View plan history |
276
-
277
- ### Interface
278
- | Command | Description |
279
- |---------|-------------|
280
- | `/theme [name\|list]` | Color themes |
281
- | `/copy` | Copy last response |
282
- | `/export [file.md]` | Export conversation |
283
- | `/edit` | Edit last message |
284
- | `/undo` | Remove last exchange |
285
- | `/upgrade` | Check for updates |
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
- | Variable | Description |
290
- |----------|-------------|
291
- | `ANTHROPIC_API_KEY` | Anthropic Claude API key |
292
- | `GOOGLE_API_KEY` | Google Gemini API key |
293
- | `OPENAI_API_KEY` | OpenAI API key |
294
- | `OPENROUTER_API_KEY` | OpenRouter API key |
295
- | `TOGETHER_API_KEY` | Together AI API key |
296
- | `GROQ_API_KEY` | Groq API key |
297
- | `MISTRAL_API_KEY` | Mistral AI API key |
298
- | `AI21_API_KEY` | AI21 Labs API key |
299
- | `HUGGINGFACE_API_KEY` | HuggingFace API key |
300
- | `OLLAMA_BASE_URL` | Ollama server URL (default: localhost:11434) |
301
- | `LITELLM_BASE_URL` | LiteLLM proxy URL (default: localhost:4000) |
302
- | `LITELLM_API_KEY` | LiteLLM API key (if required) |
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: `fast`, `smart`, `cheap`, `local`
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
- | `Shift+Tab` | Cycle modes |
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` | Tab completion |
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. Review tool calls before execution
370
- 2. Use god mode (`-g`) only for trusted tasks
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` or set environment variable
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 and credits
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 (unsandboxed)
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.* 🎭✨