@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 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
- ## License
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.1.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!",
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/chilu18/cloud-ide.git",
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": {
@@ -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. You are a powerful agentic coding tool that can read, write, edit, and search code, execute shell commands, and manage cloud workspaces.
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
- const provider = createProvider(providerName);
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)
@@ -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