@heysalad/cheri-cli 1.1.0 → 1.2.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 +12 -1
- package/bin/cheri.js +1 -1
- package/package.json +4 -4
- package/src/commands/agent.js +17 -3
- package/src/lib/config-store.js +2 -2
- package/src/lib/logger.js +1 -1
- package/src/lib/ui.js +1 -1
package/README.md
CHANGED
|
@@ -83,6 +83,17 @@ cheri config set apiUrl https://your-instance.example.com
|
|
|
83
83
|
- [Dashboard](https://cheri.heysalad.app/dashboard)
|
|
84
84
|
- [GitHub](https://github.com/chilu18/cloud-ide)
|
|
85
85
|
|
|
86
|
-
##
|
|
86
|
+
## 🔗 Links
|
|
87
|
+
|
|
88
|
+
- **Homepage**: [cheri.heysalad.app](https://cheri.heysalad.app)
|
|
89
|
+
- **NPM Package**: [@heysalad/cheri-cli](https://www.npmjs.com/package/@heysalad/cheri-cli)
|
|
90
|
+
- **GitHub**: [Hey-Salad/cheri-cli](https://github.com/Hey-Salad/cheri-cli)
|
|
91
|
+
- **Documentation**: See [SETUP_GUIDE.md](./SETUP_GUIDE.md)
|
|
92
|
+
|
|
93
|
+
## 📝 License
|
|
87
94
|
|
|
88
95
|
MIT
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
**Built with ❤️ by HeySalad®**
|
package/bin/cheri.js
CHANGED
|
@@ -18,7 +18,7 @@ const pkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf-
|
|
|
18
18
|
|
|
19
19
|
program
|
|
20
20
|
.name("cheri")
|
|
21
|
-
.description("Cheri CLI - AI-powered cloud IDE by HeySalad")
|
|
21
|
+
.description("Cheri CLI - AI-powered cloud IDE by HeySalad®")
|
|
22
22
|
.version(pkg.version);
|
|
23
23
|
|
|
24
24
|
registerLoginCommand(program);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heysalad/cheri-cli",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Cheri CLI - AI-powered cloud IDE by HeySalad
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Cheri CLI - AI-powered cloud IDE by HeySalad®. Like Claude Code, but for cloud workspaces. Now with beautiful animations and enhanced UI!",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"cheri": "./bin/cheri.js"
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
],
|
|
35
35
|
"repository": {
|
|
36
36
|
"type": "git",
|
|
37
|
-
"url": "https://github.com/
|
|
38
|
-
"directory": "cli"
|
|
37
|
+
"url": "https://github.com/Hey-Salad/cheri-cli.git"
|
|
39
38
|
},
|
|
39
|
+
"homepage": "https://cheri.heysalad.app",
|
|
40
40
|
"author": "HeySalad",
|
|
41
41
|
"license": "MIT",
|
|
42
42
|
"engines": {
|
package/src/commands/agent.js
CHANGED
|
@@ -19,7 +19,7 @@ import { ToolPanel, status, StreamRenderer, gradients, icons } from "../lib/ui.j
|
|
|
19
19
|
import chalk from "chalk";
|
|
20
20
|
import readline from "readline";
|
|
21
21
|
|
|
22
|
-
const SYSTEM_PROMPT = `You are Cheri, an AI coding assistant by HeySalad
|
|
22
|
+
const SYSTEM_PROMPT = `You are Cheri, an AI coding assistant by HeySalad®. You are a powerful agentic coding tool that can read, write, edit, and search code, execute shell commands, and manage cloud workspaces.
|
|
23
23
|
|
|
24
24
|
You have these tool categories:
|
|
25
25
|
1. LOCAL CODING TOOLS — read_file, write_file, edit_file, run_command, search_files, search_content, list_directory
|
|
@@ -291,9 +291,23 @@ export async function runAgent(userRequest, options = {}) {
|
|
|
291
291
|
const memoryContext = getMemoryContext();
|
|
292
292
|
const skillContext = getSkillContext(plugins.skills, userRequest);
|
|
293
293
|
|
|
294
|
-
// Create provider
|
|
294
|
+
// Create provider (defaults to Cheri cloud which uses AWS Bedrock)
|
|
295
295
|
const providerName = getConfigValue("agent.provider") || getConfigValue("ai.provider") || "cheri";
|
|
296
|
-
|
|
296
|
+
let provider;
|
|
297
|
+
try {
|
|
298
|
+
provider = createProvider(providerName);
|
|
299
|
+
} catch (err) {
|
|
300
|
+
// If using cheri provider and not logged in, show helpful message
|
|
301
|
+
if (providerName === "cheri" && err.message.includes("Not logged in")) {
|
|
302
|
+
log.error("Not logged in to Cheri cloud service.");
|
|
303
|
+
log.info("Two options:");
|
|
304
|
+
log.info(" 1. Login to Cheri cloud (AWS Bedrock): " + chalk.cyan("cheri login"));
|
|
305
|
+
log.info(" 2. Use your own API key (BYOK): " + chalk.cyan("cheri config set ai.provider anthropic"));
|
|
306
|
+
log.tip("Cheri cloud uses AWS Bedrock and includes free tier usage!");
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
throw err;
|
|
310
|
+
}
|
|
297
311
|
const agentModel = getConfigValue("agent.model") || getConfigValue("ai.model") || "";
|
|
298
312
|
|
|
299
313
|
// Handle slash commands (before MCP init to avoid leaking child processes)
|
package/src/lib/config-store.js
CHANGED
|
@@ -26,9 +26,9 @@ function getDefaultConfig() {
|
|
|
26
26
|
apiUrl: "https://cheri.heysalad.app",
|
|
27
27
|
token: "",
|
|
28
28
|
ai: {
|
|
29
|
-
provider: "cheri", // cheri, openai, anthropic, deepseek, groq, ollama, etc.
|
|
29
|
+
provider: "cheri", // cheri (AWS Bedrock via cloud), openai, anthropic, deepseek, groq, ollama, etc.
|
|
30
30
|
model: "", // override default model per provider
|
|
31
|
-
keys: {}, // { openai: "sk-...", anthropic: "sk-ant-...", ... }
|
|
31
|
+
keys: {}, // { openai: "sk-...", anthropic: "sk-ant-...", ... } - for BYOK (bring your own key) mode
|
|
32
32
|
providers: {}, // custom provider configs: { myapi: { baseUrl, model } }
|
|
33
33
|
reasoning: {
|
|
34
34
|
effort: "medium", // low, medium, high
|
package/src/lib/logger.js
CHANGED
|
@@ -72,7 +72,7 @@ export const log = {
|
|
|
72
72
|
if (!version) version = getVersion();
|
|
73
73
|
console.log();
|
|
74
74
|
console.log(` ${gradients.cheri("🍒")} ${chalk.red.bold("Cheri")}`);
|
|
75
|
-
console.log(` ${chalk.dim("AI-powered cloud IDE by HeySalad")}`);
|
|
75
|
+
console.log(` ${chalk.dim("AI-powered cloud IDE by HeySalad®")}`);
|
|
76
76
|
console.log(` ${gradients.cyan("✨")} ${chalk.dim("v" + version)}`);
|
|
77
77
|
console.log();
|
|
78
78
|
},
|
package/src/lib/ui.js
CHANGED
|
@@ -388,7 +388,7 @@ export async function animatedBanner(version = '1.0.0') {
|
|
|
388
388
|
}
|
|
389
389
|
|
|
390
390
|
console.log();
|
|
391
|
-
console.log(` ${chalk.dim('AI-powered cloud IDE by HeySalad')}`);
|
|
391
|
+
console.log(` ${chalk.dim('AI-powered cloud IDE by HeySalad®')}`);
|
|
392
392
|
console.log(` ${chalk.dim('v' + version)}`);
|
|
393
393
|
console.log();
|
|
394
394
|
|