Expert guidance for developing and maintaining the ClaudeWebUI-Docker project - a Docker-containerized Claude Web UI application with React frontend, Express backend, WebSocket communication, and integrated terminal/file management.
Expert guidance for the ClaudeWebUI-Docker repository - a containerized web interface for Claude Code with real-time chat, file management, terminal access, and git integration.
This is a full-stack web application that provides a browser-based interface for Claude Code, featuring:
When the user requests development tasks, use these patterns:
```bash
npm run dev
npm run server # Backend only (Express + WebSocket)
npm run client # Frontend only (Vite dev server)
```
```bash
npm run build
npm run start
npm run preview
```
```bash
cp .env.example .env
npm install
node --version
```
- `ChatInterface.jsx` - Claude Code interaction with streaming WebSocket
- `FileTree.jsx` - Interactive file explorer with live editing
- `Shell.jsx` - Terminal interface using XTerm.js and node-pty
- `GitPanel.jsx` - Git operations and diff viewing
- `MainContent.jsx` - Tabbed content area coordinator
- `claude-cli.js` - Claude Code CLI integration and process management
- `projects.js` - Project discovery and session management
- `database/db.js` - SQLite authentication and user management
- `/ws` - Chat interface communication
- `/shell` - Terminal interface for direct CLI access
The application implements sophisticated session protection:
When working with state, follow these patterns:
When implementing file operations:
**CRITICAL SECURITY RULES:**
1. **Claude Code Tools**: Disabled by default for security - must be manually enabled through UI
2. **Authentication**: JWT-based with SQLite storage, bcrypt password hashing
3. **File Access**: Scope limited to discovered Claude projects with permission checking
4. **WebSocket Auth**: Query parameter-based authentication required
**Frontend:**
**Backend:**
**Authentication:**
When working with Claude CLI integration:
When implementing WebSocket features:
When debugging issues, check:
1. **Project Discovery**: Ensure Claude CLI is initialized in at least one project
2. **File Permissions**: Verify project directory access and permissions
3. **WebSocket Connection**: Check port configuration and firewall settings
4. **Tool Access**: Remember tools are disabled by default for security
When deploying to production:
1. Vite builds frontend to `/dist` directory
2. Express serves static files and API endpoints
3. SQLite database initialization on first run
4. WebSocket server setup with authentication
5. Configure ports via environment variables
6. Set up CORS for cross-origin requests
The application includes:
When working on this project:
1. **Always check architecture** before making changes to understand component relationships
2. **Follow security patterns** - especially tool access and authentication
3. **Use provided scripts** rather than inventing new commands
4. **Respect session protection** - coordinate WebSocket updates carefully
5. **Test WebSocket changes** thoroughly as they affect real-time communication
6. **Preserve mobile compatibility** when updating UI components
7. **Maintain backward compatibility** with existing session files and database schema
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/claude-web-ui-docker-development/raw