@epiphytic/claudecodeui 1.0.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.
Files changed (142) hide show
  1. package/LICENSE +675 -0
  2. package/README.md +414 -0
  3. package/dist/api-docs.html +879 -0
  4. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  5. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  6. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  7. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  8. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  9. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  10. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  11. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  12. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  13. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  14. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  15. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  16. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  17. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  18. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  19. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  20. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  21. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  22. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  23. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  24. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  25. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  26. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  27. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  28. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  29. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  30. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  31. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  32. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  33. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  34. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  35. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  36. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  37. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  38. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  39. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  40. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  41. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  43. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  44. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  45. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  46. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  47. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  48. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  49. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  50. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  51. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  52. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  53. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  54. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  55. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  56. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  57. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  58. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  59. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  60. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  61. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  62. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  63. package/dist/assets/index-DfR9xEkp.css +32 -0
  64. package/dist/assets/index-DvlVn6Eb.js +1231 -0
  65. package/dist/assets/vendor-codemirror-CJLzwpLB.js +39 -0
  66. package/dist/assets/vendor-react-DcyRfQm3.js +59 -0
  67. package/dist/assets/vendor-xterm-DfaPXD3y.js +66 -0
  68. package/dist/clear-cache.html +85 -0
  69. package/dist/convert-icons.md +53 -0
  70. package/dist/favicon.png +0 -0
  71. package/dist/favicon.svg +9 -0
  72. package/dist/generate-icons.js +49 -0
  73. package/dist/icons/claude-ai-icon.svg +1 -0
  74. package/dist/icons/codex-white.svg +3 -0
  75. package/dist/icons/codex.svg +3 -0
  76. package/dist/icons/cursor-white.svg +12 -0
  77. package/dist/icons/cursor.svg +1 -0
  78. package/dist/icons/generate-icons.md +19 -0
  79. package/dist/icons/icon-128x128.png +0 -0
  80. package/dist/icons/icon-128x128.svg +12 -0
  81. package/dist/icons/icon-144x144.png +0 -0
  82. package/dist/icons/icon-144x144.svg +12 -0
  83. package/dist/icons/icon-152x152.png +0 -0
  84. package/dist/icons/icon-152x152.svg +12 -0
  85. package/dist/icons/icon-192x192.png +0 -0
  86. package/dist/icons/icon-192x192.svg +12 -0
  87. package/dist/icons/icon-384x384.png +0 -0
  88. package/dist/icons/icon-384x384.svg +12 -0
  89. package/dist/icons/icon-512x512.png +0 -0
  90. package/dist/icons/icon-512x512.svg +12 -0
  91. package/dist/icons/icon-72x72.png +0 -0
  92. package/dist/icons/icon-72x72.svg +12 -0
  93. package/dist/icons/icon-96x96.png +0 -0
  94. package/dist/icons/icon-96x96.svg +12 -0
  95. package/dist/icons/icon-template.svg +12 -0
  96. package/dist/index.html +52 -0
  97. package/dist/logo-128.png +0 -0
  98. package/dist/logo-256.png +0 -0
  99. package/dist/logo-32.png +0 -0
  100. package/dist/logo-512.png +0 -0
  101. package/dist/logo-64.png +0 -0
  102. package/dist/logo.svg +17 -0
  103. package/dist/manifest.json +61 -0
  104. package/dist/screenshots/cli-selection.png +0 -0
  105. package/dist/screenshots/desktop-main.png +0 -0
  106. package/dist/screenshots/mobile-chat.png +0 -0
  107. package/dist/screenshots/tools-modal.png +0 -0
  108. package/dist/sw.js +107 -0
  109. package/package.json +120 -0
  110. package/server/claude-sdk.js +721 -0
  111. package/server/cli.js +469 -0
  112. package/server/cursor-cli.js +267 -0
  113. package/server/database/db.js +554 -0
  114. package/server/database/init.sql +54 -0
  115. package/server/index.js +2120 -0
  116. package/server/middleware/auth.js +161 -0
  117. package/server/openai-codex.js +389 -0
  118. package/server/orchestrator/client.js +989 -0
  119. package/server/orchestrator/github-auth.js +308 -0
  120. package/server/orchestrator/index.js +216 -0
  121. package/server/orchestrator/protocol.js +299 -0
  122. package/server/orchestrator/proxy.js +364 -0
  123. package/server/orchestrator/status-tracker.js +226 -0
  124. package/server/projects.js +1604 -0
  125. package/server/routes/agent.js +1230 -0
  126. package/server/routes/auth.js +135 -0
  127. package/server/routes/cli-auth.js +341 -0
  128. package/server/routes/codex.js +345 -0
  129. package/server/routes/commands.js +521 -0
  130. package/server/routes/cursor.js +795 -0
  131. package/server/routes/git.js +1128 -0
  132. package/server/routes/mcp-utils.js +48 -0
  133. package/server/routes/mcp.js +650 -0
  134. package/server/routes/projects.js +378 -0
  135. package/server/routes/settings.js +178 -0
  136. package/server/routes/taskmaster.js +1963 -0
  137. package/server/routes/user.js +106 -0
  138. package/server/utils/commandParser.js +303 -0
  139. package/server/utils/gitConfig.js +24 -0
  140. package/server/utils/mcp-detector.js +198 -0
  141. package/server/utils/taskmaster-websocket.js +129 -0
  142. package/shared/modelConstants.js +65 -0
package/README.md ADDED
@@ -0,0 +1,414 @@
1
+ <div align="center">
2
+ <img src="public/logo.svg" alt="Claude Code UI" width="64" height="64">
3
+ <h1>Cloud CLI (aka Claude Code UI)</h1>
4
+ </div>
5
+
6
+ > **Note:** This is a fork of [siteboon/claudecodeui](https://github.com/siteboon/claudecodeui), the original Claude Code UI project created by the Siteboon team. This fork is published to npm under the `@epiphytic` scope for convenience.
7
+
8
+ 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) and [Codex](https://developers.openai.com/codex). You can use it locally or remotely to view your active projects and sessions in Claude Code, Cursor, or Codex and make changes to them from everywhere (mobile or desktop). This gives you a proper interface that works everywhere.
9
+
10
+ ## Screenshots
11
+
12
+ <div align="center">
13
+
14
+ <table>
15
+ <tr>
16
+ <td align="center">
17
+ <h3>Desktop View</h3>
18
+ <img src="public/screenshots/desktop-main.png" alt="Desktop Interface" width="400">
19
+ <br>
20
+ <em>Main interface showing project overview and chat</em>
21
+ </td>
22
+ <td align="center">
23
+ <h3>Mobile Experience</h3>
24
+ <img src="public/screenshots/mobile-chat.png" alt="Mobile Interface" width="250">
25
+ <br>
26
+ <em>Responsive mobile design with touch navigation</em>
27
+ </td>
28
+ </tr>
29
+ <tr>
30
+ <td align="center" colspan="2">
31
+ <h3>CLI Selection</h3>
32
+ <img src="public/screenshots/cli-selection.png" alt="CLI Selection" width="400">
33
+ <br>
34
+ <em>Select between Claude Code, Cursor CLI and Codex</em>
35
+ </td>
36
+ </tr>
37
+ </table>
38
+
39
+ </div>
40
+
41
+ ## Features
42
+
43
+ - **Responsive Design** - Works seamlessly across desktop, tablet, and mobile so you can also use Claude Code, Cursor, or Codex from mobile
44
+ - **Interactive Chat Interface** - Built-in chat interface for seamless communication with Claude Code, Cursor, or Codex
45
+ - **Integrated Shell Terminal** - Direct access to Claude Code, Cursor CLI, or Codex through built-in shell functionality
46
+ - **File Explorer** - Interactive file tree with syntax highlighting and live editing
47
+ - **Git Explorer** - View, stage and commit your changes. You can also switch branches
48
+ - **Session Management** - Resume conversations, manage multiple sessions, and track history
49
+ - **TaskMaster AI Integration** _(Optional)_ - Advanced project management with AI-powered task planning, PRD parsing, and workflow automation
50
+ - **Model Compatibility** - Works with Claude Sonnet 4.5, Opus 4.5, and GPT-5.2
51
+
52
+ ## Quick Start
53
+
54
+ ### Prerequisites
55
+
56
+ - [Node.js](https://nodejs.org/) v20 or higher
57
+ - [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) installed and configured, and/or
58
+ - [Cursor CLI](https://docs.cursor.com/en/cli/overview) installed and configured, and/or
59
+ - [Codex](https://developers.openai.com/codex) installed and configured
60
+
61
+ ### One-click Operation (Recommended)
62
+
63
+ No installation required, direct operation:
64
+
65
+ ```bash
66
+ # Using @epiphytic fork
67
+ npx @epiphytic/claudecodeui
68
+
69
+ # Or using original @siteboon package
70
+ npx @siteboon/claude-code-ui
71
+ ```
72
+
73
+ The server will start and be accessible at `http://localhost:3001` (or your configured PORT).
74
+
75
+ **To restart**: Simply run the same `npx` command again after stopping the server
76
+
77
+ ### Global Installation (For Regular Use)
78
+
79
+ For frequent use, install globally once:
80
+
81
+ ```bash
82
+ # Using @epiphytic fork
83
+ npm install -g @epiphytic/claudecodeui
84
+
85
+ # Or using original @siteboon package
86
+ npm install -g @siteboon/claude-code-ui
87
+ ```
88
+
89
+ Then start with a simple command:
90
+
91
+ ```bash
92
+ claude-code-ui
93
+ ```
94
+
95
+ **To restart**: Stop with Ctrl+C and run `claude-code-ui` again.
96
+
97
+ **To update**:
98
+
99
+ ```bash
100
+ cloudcli update
101
+ ```
102
+
103
+ ### CLI Usage
104
+
105
+ After global installation, you have access to both `claude-code-ui` and `cloudcli` commands:
106
+
107
+ | Command / Option | Short | Description |
108
+ | ------------------------------ | ----- | ------------------------------------- |
109
+ | `cloudcli` or `claude-code-ui` | | Start the server (default) |
110
+ | `cloudcli start` | | Start the server explicitly |
111
+ | `cloudcli status` | | Show configuration and data locations |
112
+ | `cloudcli update` | | Update to the latest version |
113
+ | `cloudcli help` | | Show help information |
114
+ | `cloudcli version` | | Show version information |
115
+ | `--port <port>` | `-p` | Set server port (default: 3001) |
116
+ | `--database-path <path>` | | Set custom database location |
117
+
118
+ **Examples:**
119
+
120
+ ```bash
121
+ cloudcli # Start with defaults
122
+ cloudcli -p 8080 # Start on custom port
123
+ cloudcli status # Show current configuration
124
+ ```
125
+
126
+ ### Run as Background Service (Recommended for Production)
127
+
128
+ For production use, run Claude Code UI as a background service using PM2 (Process Manager 2):
129
+
130
+ #### Install PM2
131
+
132
+ ```bash
133
+ npm install -g pm2
134
+ ```
135
+
136
+ #### Start as Background Service
137
+
138
+ ```bash
139
+ # Start the server in background
140
+ pm2 start claude-code-ui --name "claude-code-ui"
141
+
142
+ # Or using the shorter alias
143
+ pm2 start cloudcli --name "claude-code-ui"
144
+
145
+ # Start on a custom port
146
+ pm2 start cloudcli --name "claude-code-ui" -- --port 8080
147
+ ```
148
+
149
+ #### Auto-Start on System Boot
150
+
151
+ To make Claude Code UI start automatically when your system boots:
152
+
153
+ ```bash
154
+ # Generate startup script for your platform
155
+ pm2 startup
156
+
157
+ # Save current process list
158
+ pm2 save
159
+ ```
160
+
161
+ ### Local Development Installation
162
+
163
+ 1. **Clone the repository:**
164
+
165
+ ```bash
166
+ # Clone this fork
167
+ git clone https://github.com/Epiphytic/claudecodeui.git
168
+ cd claudecodeui
169
+
170
+ # Or clone the original upstream repository
171
+ git clone https://github.com/siteboon/claudecodeui.git
172
+ cd claudecodeui
173
+ ```
174
+
175
+ 2. **Install dependencies:**
176
+
177
+ ```bash
178
+ npm install
179
+ ```
180
+
181
+ 3. **Configure environment:**
182
+
183
+ ```bash
184
+ cp .env.example .env
185
+ # Edit .env with your preferred settings
186
+ ```
187
+
188
+ 4. **Start the application:**
189
+
190
+ ```bash
191
+ # Development mode (with hot reload)
192
+ npm run dev
193
+
194
+ ```
195
+
196
+ The application will start at the port you specified in your .env
197
+
198
+ 5. **Open your browser:**
199
+ - Development: `http://localhost:3001`
200
+
201
+ ## Security & Tools Configuration
202
+
203
+ **🔒 Important Notice**: All Claude Code tools are **disabled by default**. This prevents potentially harmful operations from running automatically.
204
+
205
+ ### Enabling Tools
206
+
207
+ To use Claude Code's full functionality, you'll need to manually enable tools:
208
+
209
+ 1. **Open Tools Settings** - Click the gear icon in the sidebar
210
+ 2. **Enable Selectively** - Turn on only the tools you need
211
+ 3. **Apply Settings** - Your preferences are saved locally
212
+
213
+ <div align="center">
214
+
215
+ ![Tools Settings Modal](public/screenshots/tools-modal.png)
216
+ _Tools Settings interface - enable only what you need_
217
+
218
+ </div>
219
+
220
+ **Recommended approach**: Start with basic tools enabled and add more as needed. You can always adjust these settings later.
221
+
222
+ ## TaskMaster AI Integration _(Optional)_
223
+
224
+ 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.
225
+
226
+ It provides
227
+
228
+ - AI-powered task generation from PRDs (Product Requirements Documents)
229
+ - Smart task breakdown and dependency management
230
+ - Visual task boards and progress tracking
231
+
232
+ **Setup & Documentation**: Visit the [TaskMaster AI GitHub repository](https://github.com/eyaltoledano/claude-task-master) for installation instructions, configuration guides, and usage examples.
233
+ After installing it you should be able to enable it from the Settings
234
+
235
+ ## Orchestrator Client Mode _(Optional)_
236
+
237
+ Claude Code UI supports connecting to a central **[Duratii](https://github.com/Epiphytic/duratii)** orchestrator server for remote access and management. This enables:
238
+
239
+ - Access all Claude Code UI instances from a single dashboard
240
+ - Authenticate once at the orchestrator level via GitHub OAuth
241
+ - View real-time status (idle/active/busy) of each instance
242
+ - Use the full web interface through a reverse proxy
243
+
244
+ **Setup & Documentation**: See the [Orchestrator Client documentation](docs/Orchestrator-Client.md) for configuration details, or visit the [Duratii GitHub repository](https://github.com/Epiphytic/duratii) for the orchestrator server setup.
245
+
246
+ ## Usage Guide
247
+
248
+ ### Core Features
249
+
250
+ #### Project Management
251
+
252
+ It automatically discovers Claude Code, Cursor or Codex sessions when available and groups them together into projects
253
+ session counts
254
+
255
+ - **Project Actions** - Rename, delete, and organize projects
256
+ - **Smart Navigation** - Quick access to recent projects and sessions
257
+ - **MCP support** - Add your own MCP servers through the UI
258
+
259
+ #### Chat Interface
260
+
261
+ - **Use responsive chat or Claude Code/Cursor CLI/Codex CLI** - You can either use the adapted chat interface or use the shell button to connect to your selected CLI.
262
+ - **Real-time Communication** - Stream responses from your selected CLI (Claude Code/Cursor/Codex) with WebSocket connection
263
+ - **Session Management** - Resume previous conversations or start fresh sessions
264
+ - **Message History** - Complete conversation history with timestamps and metadata
265
+ - **Multi-format Support** - Text, code blocks, and file references
266
+
267
+ #### File Explorer & Editor
268
+
269
+ - **Interactive File Tree** - Browse project structure with expand/collapse navigation
270
+ - **Live File Editing** - Read, modify, and save files directly in the interface
271
+ - **Syntax Highlighting** - Support for multiple programming languages
272
+ - **File Operations** - Create, rename, delete files and directories
273
+
274
+ #### Git Explorer
275
+
276
+ #### TaskMaster AI Integration _(Optional)_
277
+
278
+ - **Visual Task Board** - Kanban-style interface for managing development tasks
279
+ - **PRD Parser** - Create Product Requirements Documents and parse them into structured tasks
280
+ - **Progress Tracking** - Real-time status updates and completion tracking
281
+
282
+ #### Session Management
283
+
284
+ - **Session Persistence** - All conversations automatically saved
285
+ - **Session Organization** - Group sessions by project and timestamp
286
+ - **Session Actions** - Rename, delete, and export conversation history
287
+ - **Cross-device Sync** - Access sessions from any device
288
+
289
+ ### Mobile App
290
+
291
+ - **Responsive Design** - Optimized for all screen sizes
292
+ - **Touch-friendly Interface** - Swipe gestures and touch navigation
293
+ - **Mobile Navigation** - Bottom tab bar for easy thumb navigation
294
+ - **Adaptive Layout** - Collapsible sidebar and smart content prioritization
295
+ - **Add shortcut to Home Screen** - Add a shortcut to your home screen and the app will behave like a PWA
296
+
297
+ ## Architecture
298
+
299
+ ### System Overview
300
+
301
+ ```
302
+ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
303
+ │ Frontend │ │ Backend │ │ Agent │
304
+ │ (React/Vite) │◄──►│ (Express/WS) │◄──►│ Integration │
305
+ │ │ │ │ │ │
306
+ └─────────────────┘ └─────────────────┘ └─────────────────┘
307
+ ```
308
+
309
+ ### Backend (Node.js + Express)
310
+
311
+ - **Express Server** - RESTful API with static file serving
312
+ - **WebSocket Server** - Communication for chats and project refresh
313
+ - **Agent Integration (Claude Code / Cursor CLI / Codex)** - Process spawning and management
314
+ - **File System API** - Exposing file browser for projects
315
+
316
+ ### Frontend (React + Vite)
317
+
318
+ - **React 18** - Modern component architecture with hooks
319
+ - **CodeMirror** - Advanced code editor with syntax highlighting
320
+
321
+ ### Contributing
322
+
323
+ We welcome contributions! Please follow these guidelines:
324
+
325
+ #### Getting Started
326
+
327
+ 1. **Fork** the repository
328
+ 2. **Clone** your fork: `git clone <your-fork-url>`
329
+ 3. **Install** dependencies: `npm install`
330
+ 4. **Create** a feature branch: `git checkout -b feature/amazing-feature`
331
+
332
+ #### Development Process
333
+
334
+ 1. **Make your changes** following the existing code style
335
+ 2. **Test thoroughly** - ensure all features work correctly
336
+ 3. **Run quality checks**: `npm run lint && npm run format`
337
+ 4. **Commit** with descriptive messages following [Conventional Commits](https://conventionalcommits.org/)
338
+ 5. **Push** to your branch: `git push origin feature/amazing-feature`
339
+ 6. **Submit** a Pull Request with:
340
+ - Clear description of changes
341
+ - Screenshots for UI changes
342
+ - Test results if applicable
343
+
344
+ #### What to Contribute
345
+
346
+ - **Bug fixes** - Help us improve stability
347
+ - **New features** - Enhance functionality (discuss in issues first)
348
+ - **Documentation** - Improve guides and API docs
349
+ - **UI/UX improvements** - Better user experience
350
+ - **Performance optimizations** - Make it faster
351
+
352
+ ## Troubleshooting
353
+
354
+ ### Common Issues & Solutions
355
+
356
+ #### "No Claude projects found"
357
+
358
+ **Problem**: The UI shows no projects or empty project list
359
+ **Solutions**:
360
+
361
+ - Ensure [Claude Code](https://docs.anthropic.com/en/docs/claude-code) is properly installed
362
+ - Run `claude` command in at least one project directory to initialize
363
+ - Verify `~/.claude/projects/` directory exists and has proper permissions
364
+
365
+ #### File Explorer Issues
366
+
367
+ **Problem**: Files not loading, permission errors, empty directories
368
+ **Solutions**:
369
+
370
+ - Check project directory permissions (`ls -la` in terminal)
371
+ - Verify the project path exists and is accessible
372
+ - Review server console logs for detailed error messages
373
+ - Ensure you're not trying to access system directories outside project scope
374
+
375
+ ## License
376
+
377
+ GNU General Public License v3.0 - see [LICENSE](LICENSE) file for details.
378
+
379
+ This project is open source and free to use, modify, and distribute under the GPL v3 license.
380
+
381
+ ## Acknowledgments
382
+
383
+ ### Original Project
384
+
385
+ This project is a fork of **[siteboon/claudecodeui](https://github.com/siteboon/claudecodeui)**, created and maintained by the [Siteboon](https://siteboon.ai) team. We are grateful for their work in creating this excellent tool for the Claude Code community.
386
+
387
+ ### Built With
388
+
389
+ - **[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** - Anthropic's official CLI
390
+ - **[Cursor CLI](https://docs.cursor.com/en/cli/overview)** - Cursor's official CLI
391
+ - **[Codex](https://developers.openai.com/codex)** - OpenAI Codex
392
+ - **[React](https://react.dev/)** - User interface library
393
+ - **[Vite](https://vitejs.dev/)** - Fast build tool and dev server
394
+ - **[Tailwind CSS](https://tailwindcss.com/)** - Utility-first CSS framework
395
+ - **[CodeMirror](https://codemirror.net/)** - Advanced code editor
396
+ - **[TaskMaster AI](https://github.com/eyaltoledano/claude-task-master)** _(Optional)_ - AI-powered project management and task planning
397
+
398
+ ## Support & Community
399
+
400
+ ### Stay Updated
401
+
402
+ - **Star** this repository to show support
403
+ - **Watch** for updates and new releases
404
+ - **Follow** the project for announcements
405
+
406
+ ### Sponsors
407
+
408
+ - [Siteboon - AI powered website builder](https://siteboon.ai)
409
+
410
+ ---
411
+
412
+ <div align="center">
413
+ <strong>Made with care for the Claude Code, Cursor and Codex community.</strong>
414
+ </div>