From 14d17ae1040ee350ebcfe206ee835d4d32d1f1d9 Mon Sep 17 00:00:00 2001 From: simosmik Date: Tue, 3 Mar 2026 13:53:04 +0000 Subject: [PATCH 1/3] update readme with discord --- README.md | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 209a74d..aba9060 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,20 @@
- Claude Code UI + CloudCLI UI

Cloud CLI (aka Claude Code UI)

-A desktop and mobile UI for [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Cursor CLI](https://docs.cursor.com/en/cli/overview), [Codex](https://developers.openai.com/codex), and [Gemini-CLI](https://geminicli.com/). You can use it locally or remotely to view your active projects and sessions and make changes to them from everywhere (mobile or desktop). This gives you a proper interface that works everywhere. +A desktop and mobile UI for [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Cursor CLI](https://docs.cursor.com/en/cli/overview), [Codex](https://developers.openai.com/codex), and [Gemini-CLI](https://geminicli.com/). You can use it locally or remotely to view your active projects and sessions and make changes to them from everywhere (mobile or desktop). This gives you a proper interface that works everywhere. + +

+ CloudCLI Cloud · Discord · Bug Reports · Contributing +

+ +

+ Join our Discord + siteboon%2Fclaudecodeui | Trendshift +

-siteboon%2Fclaudecodeui | Trendshift
English · 한국어 · 中文 · 日本語
## Screenshots @@ -56,7 +64,15 @@ A desktop and mobile UI for [Claude Code](https://docs.anthropic.com/en/docs/cla ## Quick Start -### Prerequisites +### CloudCLI Cloud (Recommended) + +The fastest way to get started — no local setup required. Get a fully managed, containerized development environment accessible from the web, mobile app, API, or your favorite IDE. + +**[Get started with CloudCLI Cloud](https://cloudcli.ai)** + +### Self-Hosted (Open Source) + +#### Prerequisites - [Node.js](https://nodejs.org/) v22 or higher - [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) installed and configured, and/or @@ -64,7 +80,7 @@ A desktop and mobile UI for [Claude Code](https://docs.anthropic.com/en/docs/cla - [Codex](https://developers.openai.com/codex) installed and configured, and/or - [Gemini-CLI](https://geminicli.com/) installed and configured -### One-click Operation (Recommended) +#### One-click Operation No installation required, direct operation: @@ -121,7 +137,7 @@ cloudcli status # Show current configuration ### Run as Background Service (Recommended for Production) -For production use, run Claude Code UI as a background service using PM2 (Process Manager 2): +For production use, run CloudCLI as a background service using PM2 (Process Manager 2): #### Install PM2 @@ -145,7 +161,7 @@ pm2 start cloudcli --name "claude-code-ui" -- --port 8080 #### Auto-Start on System Boot -To make Claude Code UI start automatically when your system boots: +To make CloudCLI UI start automatically when your system boots: ```bash # Generate startup script for your platform @@ -209,7 +225,7 @@ To use Claude Code's full functionality, you'll need to manually enable tools: ## TaskMaster AI Integration *(Optional)* -Claude Code UI supports **[TaskMaster AI](https://github.com/eyaltoledano/claude-task-master)** (aka claude-task-master) integration for advanced project management and AI-powered task planning. +CloudCLI UI supports **[TaskMaster AI](https://github.com/eyaltoledano/claude-task-master)** (aka claude-task-master) integration for advanced project management and AI-powered task planning. It provides - AI-powered task generation from PRDs (Product Requirements Documents) @@ -338,6 +354,8 @@ This project is open source and free to use, modify, and distribute under the GP ## Support & Community ### Stay Updated +- **[Join our Discord](https://discord.gg/buxwujPNRE)** - Get help, share feedback, and connect with the community +- **[CloudCLI Cloud](https://cloudcli.ai)** - Try the hosted cloud version - **Star** this repository to show support - **Watch** for updates and new releases - **Follow** the project for announcements From 84d4634735f9ee13ac1c20faa0e7e31f1b77cae8 Mon Sep 17 00:00:00 2001 From: simosmik Date: Tue, 3 Mar 2026 14:44:08 +0000 Subject: [PATCH 2/3] feat: add community button in the app --- package-lock.json | 25 +---------- .../view/subcomponents/SidebarCollapsed.tsx | 22 ++++++++++ .../view/subcomponents/SidebarFooter.tsx | 42 ++++++++++++++++++- src/i18n/locales/en/sidebar.json | 3 +- src/i18n/locales/ja/sidebar.json | 3 +- src/i18n/locales/ko/sidebar.json | 3 +- src/i18n/locales/zh-CN/sidebar.json | 3 +- 7 files changed, 72 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index ef23dc7..1302aa1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -169,7 +169,6 @@ "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -542,7 +541,6 @@ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.11.2.tgz", "integrity": "sha512-p44TsNArL4IVXDTbapUmEkAlvWs2CFQbcfc0ymDsis1kH2wh0gcY96AS29c/vp2d0y2Tquk1EDSaawpzilUiAw==", "license": "MIT", - "peer": true, "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.23.0", @@ -557,7 +555,6 @@ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.5.tgz", "integrity": "sha512-s3n3KisH7dx3vsoeGMxsbRAgKe4O1vbrnKBClm99PU0fWxmxsx5rR2PfqQgIt+2MMJBHbiJ5rfIdLYfB9NNvsA==", "license": "MIT", - "peer": true, "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.35.0", @@ -593,7 +590,6 @@ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.2.tgz", "integrity": "sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==", "license": "MIT", - "peer": true, "dependencies": { "@marijn/find-cluster-break": "^1.0.0" } @@ -615,7 +611,6 @@ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.38.1.tgz", "integrity": "sha512-RmTOkE7hRU3OVREqFVITWHz6ocgBjv08GoePscAakgVQfciA3SGCEk7mb9IzwW61cKKmlTpHXG6DUE5Ubx+MGQ==", "license": "MIT", - "peer": true, "dependencies": { "@codemirror/state": "^6.5.0", "crelt": "^1.0.6", @@ -2038,8 +2033,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz", "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@lezer/css": { "version": "1.3.0", @@ -2057,7 +2051,6 @@ "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.1.tgz", "integrity": "sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==", "license": "MIT", - "peer": true, "dependencies": { "@lezer/common": "^1.0.0" } @@ -2268,7 +2261,6 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.4.tgz", "integrity": "sha512-jOT8V1Ba5BdC79sKrRWDdMT5l1R+XNHTPR6CPWzUP2EcfAcvIHZWF0eAbmRcpOOP5gVIwnqNg0C4nvh6Abc3OA==", "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.1", @@ -3189,7 +3181,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3334,8 +3325,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.5.0.tgz", "integrity": "sha512-hqJHYaQb5OptNunnyAnkHyM8aCjZ1MEIDTQu1iIbbTD/xops91NB5yq1ZK/dC2JDbVWtF23zUtl9JE2NqwT87A==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/abbrev": { "version": "2.0.0", @@ -3836,7 +3826,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", @@ -6431,7 +6420,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4" }, @@ -9411,7 +9399,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -9799,7 +9786,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -9812,7 +9798,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -10246,7 +10231,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@nodeutils/defaults-deep": "1.1.0", "@octokit/rest": "22.0.0", @@ -11988,7 +11972,6 @@ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", "license": "MIT", - "peer": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -12232,7 +12215,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -12380,7 +12362,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -12709,7 +12690,6 @@ "integrity": "sha512-oBXvfSHEOL8jF+R9Am7h59Up07kVVGH1NrFGFoEG6bPDZP3tGpQhvkBpy5x7U6+E6wZCu9OihsWgJqDbQIm8LQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -12803,7 +12783,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, diff --git a/src/components/sidebar/view/subcomponents/SidebarCollapsed.tsx b/src/components/sidebar/view/subcomponents/SidebarCollapsed.tsx index c1cc969..0f7c0df 100644 --- a/src/components/sidebar/view/subcomponents/SidebarCollapsed.tsx +++ b/src/components/sidebar/view/subcomponents/SidebarCollapsed.tsx @@ -1,6 +1,16 @@ import { Settings, Sparkles, PanelLeftOpen } from 'lucide-react'; import type { TFunction } from 'i18next'; +const DISCORD_INVITE_URL = 'https://discord.gg/buxwujPNRE'; + +function DiscordIcon({ className }: { className?: string }) { + return ( + + ); +} + type SidebarCollapsedProps = { onExpand: () => void; onShowSettings: () => void; @@ -40,6 +50,18 @@ export default function SidebarCollapsed({ + {/* Discord */} + + + + {/* Update indicator */} {updateAvailable && (