@calliopelabs/cli 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Calliope Labs Inc
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,222 @@
1
+ # Calliope CLI
2
+
3
+ > The Muse of Digital Eloquence
4
+
5
+ Multi-model AI agent CLI with Ralph Wiggum autonomous loops. Use Claude, Gemini, GPT, and more from a single elegant interface.
6
+
7
+ ```
8
+ ╭─────────────────────────────────────────────────────────────────╮
9
+ │ │
10
+ │ ██████╗ █████╗ ██╗ ██╗ ██╗ ██████╗ ██████╗ ███████╗ │
11
+ │ ██╔════╝██╔══██╗██║ ██║ ██║██╔═══██╗██╔══██╗██╔════╝ │
12
+ │ ██║ ███████║██║ ██║ ██║██║ ██║██████╔╝█████╗ │
13
+ │ ██║ ██╔══██║██║ ██║ ██║██║ ██║██╔═══╝ ██╔══╝ │
14
+ │ ╚██████╗██║ ██║███████╗███████╗██║╚██████╔╝██║ ███████╗ │
15
+ │ ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚══════╝ │
16
+ │ │
17
+ │ The Muse of Digital Eloquence │
18
+ │ │
19
+ ╰─────────────────────────────────────────────────────────────────╯
20
+ ```
21
+
22
+ ## Installation
23
+
24
+ ```bash
25
+ npm install -g @calliopelabs/cli
26
+ ```
27
+
28
+ ## Quick Start
29
+
30
+ ```bash
31
+ # Run Calliope (first run will prompt for setup)
32
+ calliope
33
+
34
+ # Or set API key via environment
35
+ export ANTHROPIC_API_KEY=sk-ant-...
36
+ calliope
37
+
38
+ # Run in god mode (no permission prompts)
39
+ calliope -g
40
+ calliope --god-mode
41
+ ```
42
+
43
+ On first run, Calliope will guide you through:
44
+ 1. Selecting an AI provider (Anthropic, Google, OpenAI, etc.)
45
+ 2. Entering your API key
46
+ 3. Choosing a persona (Calliope, Professional, or Minimal)
47
+
48
+ ## Features
49
+
50
+ ### Multi-Model Support
51
+
52
+ Switch between 12+ providers on the fly:
53
+
54
+ ```
55
+ calliope> /provider anthropic # Use Claude
56
+ calliope> /provider google # Use Gemini
57
+ calliope> /provider openai # Use GPT
58
+ calliope> /provider mistral # Use Mistral
59
+ calliope> /provider ollama # Use local models
60
+ calliope> /provider openrouter # Use any model via OpenRouter
61
+ calliope> /provider litellm # Use LiteLLM proxy
62
+ ```
63
+
64
+ ### Ralph Wiggum Autonomous Loops
65
+
66
+ Run tasks autonomously until completion:
67
+
68
+ ```
69
+ calliope> /loop "Build a REST API with CRUD operations. Output DONE when complete." --max-iterations 20 --completion-promise "DONE"
70
+ ```
71
+
72
+ The loop will:
73
+ - Run your prompt repeatedly
74
+ - Each iteration sees the previous work (files, git history)
75
+ - Stop when it outputs the completion promise
76
+ - Or stop at max iterations
77
+
78
+ Cancel anytime with `/cancel-loop` or `ESC`.
79
+
80
+ ### Tools
81
+
82
+ Calliope has access to:
83
+ - **Shell** - Run any command
84
+ - **Read/Write Files** - File operations
85
+ - **Think** - Structured reasoning
86
+
87
+ ### Personas
88
+
89
+ ```
90
+ calliope> /persona calliope # Poetic, creative
91
+ calliope> /persona professional # Clear, concise
92
+ calliope> /persona minimal # Extremely brief
93
+ ```
94
+
95
+ ## Commands
96
+
97
+ | Command | Description |
98
+ |---------|-------------|
99
+ | `/help` | Show all commands |
100
+ | `/provider <name>` | Switch AI provider |
101
+ | `/model <name>` | Set model |
102
+ | `/persona <name>` | Switch persona |
103
+ | `/clear` | Clear conversation |
104
+ | `/status` | Show current status |
105
+ | `/loop "<prompt>"` | Start autonomous loop |
106
+ | `/cancel-loop` | Stop active loop |
107
+ | `/setup` | Reconfigure |
108
+ | `/exit` | Exit |
109
+
110
+ ## Environment Variables
111
+
112
+ | Variable | Description |
113
+ |----------|-------------|
114
+ | `ANTHROPIC_API_KEY` | Anthropic Claude API key |
115
+ | `GOOGLE_API_KEY` | Google Gemini API key |
116
+ | `OPENAI_API_KEY` | OpenAI API key |
117
+ | `OPENROUTER_API_KEY` | OpenRouter API key |
118
+ | `TOGETHER_API_KEY` | Together AI API key |
119
+ | `GROQ_API_KEY` | Groq API key |
120
+ | `MISTRAL_API_KEY` | Mistral AI API key |
121
+ | `AI21_API_KEY` | AI21 Labs API key |
122
+ | `HUGGINGFACE_API_KEY` | HuggingFace API key |
123
+ | `OLLAMA_BASE_URL` | Ollama server URL (default: localhost:11434) |
124
+ | `LITELLM_BASE_URL` | LiteLLM proxy URL (default: localhost:4000) |
125
+ | `LITELLM_API_KEY` | LiteLLM API key (if required) |
126
+
127
+ ## Configuration
128
+
129
+ Config is stored in `~/.config/calliope/config.json` (or platform equivalent).
130
+
131
+ ```bash
132
+ # Show config location
133
+ calliope --config
134
+
135
+ # Reset config
136
+ calliope --reset
137
+
138
+ # Force setup wizard
139
+ calliope --setup
140
+ ```
141
+
142
+ ## Examples
143
+
144
+ ### Basic Usage
145
+
146
+ ```bash
147
+ $ calliope
148
+ calliope> What's in this directory?
149
+ ✧ Calliope:
150
+ │ Let me check...
151
+ ╭─ ⚡ shell
152
+ │ $ ls -la
153
+ │ ...
154
+ ╰─ ✓
155
+ │ This directory contains...
156
+ ```
157
+
158
+ ### Autonomous Loop
159
+
160
+ ```bash
161
+ calliope> /loop "Refactor all TypeScript files to use strict mode. Run tsc after each change. Output DONE when no errors." --max-iterations 30 --completion-promise "DONE"
162
+
163
+ ╭─ 🔄 Ralph Loop Started
164
+ │ Max: 30
165
+ │ Promise: DONE
166
+ ╰─ /cancel-loop to stop
167
+
168
+ ╭─ Iteration 1/30
169
+ ...
170
+ 🎉 Completion promise detected!
171
+ ```
172
+
173
+ ## Security
174
+
175
+ ### API Key Storage
176
+
177
+ API keys entered during setup are stored in `~/.config/calliope/config.json`. For better security:
178
+ - **Prefer environment variables** over stored keys
179
+ - The config file should have restricted permissions (0600)
180
+ - Never commit your config file to version control
181
+
182
+ ### Tool Execution
183
+
184
+ Calliope can execute shell commands on your behalf. Safety measures include:
185
+ - **Path traversal protection** - File operations are restricted to the current directory and home folder
186
+ - **God mode warning** - Running with `-g`/`--god-mode` shows a clear warning
187
+ - **Timeout limits** - Shell commands timeout after 60 seconds by default
188
+
189
+ ### Best Practices
190
+
191
+ 1. **Review before running** - In normal mode, review tool calls before execution
192
+ 2. **Use god mode carefully** - Only use `--god-mode` for trusted, well-defined tasks
193
+ 3. **Limit iterations** - Always set `--max-iterations` on autonomous loops
194
+ 4. **Work in project directories** - Run Calliope from your project root, not system directories
195
+
196
+ ## Troubleshooting
197
+
198
+ ### Common Issues
199
+
200
+ **"No API keys configured"**
201
+ - Run `calliope --setup` to configure your API key
202
+ - Or set environment variable: `export ANTHROPIC_API_KEY=sk-ant-...`
203
+
204
+ **"API key too short"**
205
+ - API keys have minimum length requirements (usually 40+ characters)
206
+ - Make sure you copied the full key
207
+
208
+ **"Empty response from API"**
209
+ - Check your API key is valid and has credits
210
+ - Try a different provider with `/provider`
211
+
212
+ **"Access denied" for file operations**
213
+ - File operations are restricted to cwd and home directory
214
+ - Use absolute paths within allowed directories
215
+
216
+ ## More from Calliope
217
+
218
+ Check out our full suite of AI tools at **[calliope.ai](https://calliope.ai)**
219
+
220
+ ## License
221
+
222
+ MIT © 2026 Calliope Labs Inc
package/dist/bin.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Calliope CLI - Main Entry Point
4
+ *
5
+ * Multi-model AI agent CLI with Ralph Wiggum autonomous loops.
6
+ * Run `calliope` to start an interactive session.
7
+ */
8
+ declare const skipPermissions: boolean;
9
+ export { skipPermissions };
10
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAkBH,QAAA,MAAM,eAAe,SACsB,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,CAAC"}
package/dist/bin.js ADDED
@@ -0,0 +1,156 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Calliope CLI - Main Entry Point
4
+ *
5
+ * Multi-model AI agent CLI with Ralph Wiggum autonomous loops.
6
+ * Run `calliope` to start an interactive session.
7
+ */
8
+ import { runSetup } from './setup.js';
9
+ import * as config from './config.js';
10
+ import { readFileSync } from 'fs';
11
+ import { fileURLToPath } from 'url';
12
+ import { dirname, join } from 'path';
13
+ // Get version from package.json
14
+ const __filename = fileURLToPath(import.meta.url);
15
+ const __dirname = dirname(__filename);
16
+ const packageJson = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
17
+ const VERSION = packageJson.version;
18
+ // Handle CLI flags
19
+ const args = process.argv.slice(2);
20
+ // Check for god-mode flag (skip all permission prompts)
21
+ const skipPermissions = args.includes('--god-mode') ||
22
+ args.includes('-g');
23
+ // Export for CLI to access
24
+ export { skipPermissions };
25
+ async function main() {
26
+ // Handle --help
27
+ if (args.includes('--help') || args.includes('-h')) {
28
+ printHelp();
29
+ process.exit(0);
30
+ }
31
+ // Handle --version
32
+ if (args.includes('--version') || args.includes('-v')) {
33
+ console.log(`calliope v${VERSION}`);
34
+ process.exit(0);
35
+ }
36
+ // Handle --setup (force reconfigure)
37
+ if (args.includes('--setup') || args.includes('--configure')) {
38
+ await runSetup(true);
39
+ return startCLI({ skipPermissions });
40
+ }
41
+ // Handle --reset (clear config)
42
+ if (args.includes('--reset')) {
43
+ config.resetConfig();
44
+ console.log('Configuration reset. Run `calliope` to set up again.');
45
+ process.exit(0);
46
+ }
47
+ // Handle --config (show config path)
48
+ if (args.includes('--config')) {
49
+ console.log(`Config file: ${config.getConfigPath()}`);
50
+ const providers = config.getConfiguredProviders();
51
+ console.log(`Configured providers: ${providers.length > 0 ? providers.join(', ') : 'none'}`);
52
+ console.log(`Default provider: ${config.get('defaultProvider')}`);
53
+ console.log(`Setup complete: ${config.isSetupComplete()}`);
54
+ process.exit(0);
55
+ }
56
+ // Show warning if god-mode enabled
57
+ if (skipPermissions) {
58
+ console.log('\x1b[35m⚡ GOD MODE ENABLED\x1b[0m');
59
+ console.log('\x1b[2m Tools execute without confirmation. Use wisely.\x1b[0m');
60
+ console.log();
61
+ }
62
+ // Check if setup is needed
63
+ if (!config.isSetupComplete()) {
64
+ // Check if we have any API keys from environment
65
+ const hasEnvKeys = process.env.ANTHROPIC_API_KEY ||
66
+ process.env.GOOGLE_API_KEY ||
67
+ process.env.OPENAI_API_KEY ||
68
+ process.env.OPENROUTER_API_KEY ||
69
+ process.env.TOGETHER_API_KEY ||
70
+ process.env.GROQ_API_KEY ||
71
+ process.env.FIREWORKS_API_KEY ||
72
+ process.env.MISTRAL_API_KEY ||
73
+ process.env.OLLAMA_BASE_URL ||
74
+ process.env.AI21_API_KEY ||
75
+ process.env.HUGGINGFACE_API_KEY ||
76
+ process.env.LITELLM_BASE_URL;
77
+ if (hasEnvKeys && (args.includes('--skip-setup') || skipPermissions)) {
78
+ // Skip setup if env keys present and flag set
79
+ config.markSetupComplete();
80
+ }
81
+ else {
82
+ // Run interactive setup
83
+ const success = await runSetup();
84
+ if (!success) {
85
+ console.error('Setup cancelled.');
86
+ process.exit(1);
87
+ }
88
+ }
89
+ }
90
+ // Start the CLI
91
+ await startCLI();
92
+ }
93
+ async function startCLI(options = {}) {
94
+ // Dynamically import the CLI to avoid loading everything upfront
95
+ const { startCLI: start } = await import('./cli.js');
96
+ await start(options);
97
+ }
98
+ function printHelp() {
99
+ console.log(`
100
+ ${bold('calliope')} - Multi-model AI agent CLI
101
+
102
+ ${bold('USAGE')}
103
+ calliope [options] [prompt]
104
+
105
+ ${bold('OPTIONS')}
106
+ -h, --help Show this help message
107
+ -v, --version Show version
108
+ --setup Run setup wizard (reconfigure)
109
+ --config Show config file path and status
110
+ --reset Reset all configuration
111
+ --skip-setup Skip setup if API keys in environment
112
+
113
+ -g, --god-mode Run tools without confirmation prompts
114
+ Enables unrestricted autonomous execution
115
+
116
+ ${bold('ENVIRONMENT VARIABLES')}
117
+ ANTHROPIC_API_KEY Anthropic Claude API key
118
+ GOOGLE_API_KEY Google Gemini API key
119
+ OPENAI_API_KEY OpenAI API key
120
+ OPENROUTER_API_KEY OpenRouter API key
121
+ TOGETHER_API_KEY Together AI API key
122
+ GROQ_API_KEY Groq API key
123
+ MISTRAL_API_KEY Mistral AI API key
124
+ AI21_API_KEY AI21 Labs API key
125
+ HUGGINGFACE_API_KEY HuggingFace API key
126
+ OLLAMA_BASE_URL Ollama server URL (default: localhost:11434)
127
+ LITELLM_BASE_URL LiteLLM proxy URL (default: localhost:4000)
128
+ LITELLM_API_KEY LiteLLM API key (if required)
129
+
130
+ ${bold('INTERACTIVE COMMANDS')}
131
+ /help Show all commands
132
+ /provider Switch AI provider
133
+ /model Change model
134
+ /persona Change personality
135
+ /loop Start autonomous loop (Ralph Wiggum)
136
+ /save Save session
137
+ /exit Exit
138
+
139
+ ${bold('EXAMPLES')}
140
+ calliope Start interactive session
141
+ calliope --setup Run setup wizard
142
+ calliope "explain this" Start with a prompt
143
+
144
+ ${bold('MORE INFO')}
145
+ https://github.com/calliopeai/calliope-cli
146
+ `);
147
+ }
148
+ function bold(text) {
149
+ return `\x1b[1m${text}\x1b[0m`;
150
+ }
151
+ // Run
152
+ main().catch((err) => {
153
+ console.error('Error:', err.message);
154
+ process.exit(1);
155
+ });
156
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Calliope CLI - Interactive REPL
3
+ *
4
+ * Main interactive command-line interface.
5
+ */
6
+ interface CLIOptions {
7
+ skipPermissions?: boolean;
8
+ }
9
+ /**
10
+ * Start the CLI
11
+ */
12
+ export declare function startCLI(options?: CLIOptions): Promise<void>;
13
+ export {};
14
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqDH,UAAU,UAAU;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAkBD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuFtE"}