Skip to content

TaylorChen/claude-studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CLAUDE-STUDIO

Version License Electron Monaco Editor

An AI-First IDE powered by Claude AI

A modern code editor designed for AI-assisted development, built with Electron and Monaco Editor.

Features β€’ Installation β€’ Usage β€’ Contributing β€’ License


✨ Features

🎨 Modern Editor

  • Monaco Editor - The same editor that powers VS Code
  • Multi-Tab Support - Work on multiple files with keyboard shortcuts (Cmd+Tab, Cmd+Shift+Tab)
  • Smart Tab Management - Close tabs with Cmd+W, automatic next tab selection
  • Tab Context Menu - Right-click menu on tabs with 10+ operations (close, copy path, split, etc.)
  • Syntax Highlighting - Support for 100+ programming languages
  • IntelliSense - Intelligent code completion and suggestions
  • Real-time Status Bar - Line/column position, file type, cursor tracking
  • Breadcrumb Navigation - Quick path navigation in opened files

πŸ€– AI-Powered Features

  • AI Chat Panel - Integrated Claude AI assistance (Cmd+Shift+L)
  • Inline Editing - AI-powered code editing with diff preview (Cmd+K)
  • Smart Code Completion - Context-aware AI suggestions with Tab acceptance
  • Session Management - Save and restore AI chat sessions with IndexedDB persistence
  • Multi-Model Support - Switch between Claude models (Opus 4.1, Sonnet 3.5, Haiku)
  • Chat History - Automatic conversation saving, search, and restore
  • File Attachments - Upload and analyze files, images, code with AI
  • Right-Click Integration - Quick file context menu for attachment handling
  • Slash Commands - /help, /clear, /model and more
  • Command Auto-completion - Smart suggestions for slash commands
  • Error Diagnostics - AI-powered error detection and auto-fix suggestions
  • Context-Aware - Automatically includes file context in AI requests

πŸ“ File & Project Management

  • Project Explorer - Hierarchical file tree with real-time updates
  • Quick File Search - Instant file access (Cmd+P)
  • Advanced Search - Full-text search with regex support (Cmd+Shift+F)
  • Search Options - Case-sensitive, whole-word matching, regex patterns
  • File Click Navigation - Click search results to open in editor
  • File Operations - Create, edit, delete files and folders
  • Workspace State Memory - Automatically saves and restores open files and layouts
  • Project Path Tracking - Persistent project directory

πŸ› οΈ Developer Tools

  • Integrated Terminal - Built-in terminal with xterm.js, full shell support
  • Terminal Features - 50,000 line scrollback, mouse wheel support, multi-terminal
  • Code Checkpoints - Version control for code editing with diff preview
  • Resizable Panels - Drag-to-resize sidebar and AI panel
  • Toast Notifications - Non-intrusive status messages
  • Customizable Layout - Panel visibility toggles
  • Keyboard Shortcuts - Complete keyboard navigation
  • Multi-Window Support - Open multiple projects independently

🎯 User Experience

  • Auto-Save - Work state saved every 30 seconds
  • Session Restore - Recover your workspace on restart
  • Dark Theme - Eye-friendly interface
  • Smooth Animations - Polished UI transitions
  • Diff Preview - Visual code change comparison
  • Markdown Support - Formatted AI responses
  • Chinese Localization - Full Chinese UI support for menus and commands

πŸš€ Installation

Prerequisites

  • Node.js 16.x or higher
  • npm 7.x or higher
  • Claude CLI (optional) - For AI features

Quick Start

# Clone the repository
git clone https://github.com/TaylorChen/claude-studio.git
cd claude-studio

# Install dependencies
npm install

# Rebuild native modules (required for terminal)
npm rebuild node-pty

# Start development mode
npm run dev

For Anthropic API Users

If using custom Anthropic API endpoints:

# Set environment variables
export ANTHROPIC_BASE_URL="https://your-api-endpoint"
export ANTHROPIC_AUTH_TOKEN="your-token-here"

# Start with environment
npm run dev:anthropic

Or use the startup script:

# Edit start-with-anthropic.sh with your credentials
./start-with-anthropic.sh

πŸ’» Usage

Development

# Start with DevTools
npm run dev

# Start with Anthropic custom endpoint
npm run dev:anthropic

Build for Production

# Build for current platform
npm run build

# Output location:
# - macOS: dist/mac/CLAUDE-STUDIO.app
# - Windows: dist/win/CLAUDE-STUDIO.exe
# - Linux: dist/linux/claude-studio

Keyboard Shortcuts

General

Shortcut Action
Cmd+O Open project
Cmd+P Quick file search
Cmd+S Save file
Cmd+Shift+L Toggle AI panel
Cmd+` Toggle terminal
Cmd+L Focus AI input (when AI panel open)

Tab Management

Shortcut Action
Cmd+W Close current tab
Cmd+Tab Switch to next tab
Cmd+Shift+Tab Switch to previous tab

AI Features

Shortcut Action
Cmd+K Inline edit selected code
Cmd+Shift+F Open advanced search
Cmd+Shift+A Add file attachment
Cmd+Shift+I Add image attachment
Cmd+R Search command history
Tab Accept AI code suggestion / auto-complete
Esc Dismiss AI suggestion
/ Open slash command menu

🎯 AI Features Guide

Chat Panel (Cmd+Shift+L)

  • Ask questions about your code
  • Get explanations and suggestions
  • All conversations automatically saved with IndexedDB
  • Access chat history with πŸ“š button
  • Support for Markdown-formatted responses

File Attachments

  • Upload Files: Click πŸ“Ž button or drag-and-drop files into chat
  • Add from Explorer: Right-click files β†’ "Add as Attachment"
  • Image Support: Upload images for Claude to analyze
  • Multi-attachment: Add multiple files to a single message
  • Smart Paths: Automatic path resolution for local files
  • Context Menu: Three attachment options:
    • "Add as Attachment" - Add to current chat
    • "Add as Attachment (New Chat)" - Create new session with attachment
    • "Add as Image Attachment" - Mark as image type for analysis

Inline Editing (Cmd+K)

  1. Select code in editor
  2. Press Cmd+K
  3. Describe changes (e.g., "add error handling")
  4. Review diff and apply changes

Session Management

  • Click πŸ“‹ button to view sessions
  • Restore previous conversations
  • Delete unwanted sessions
  • Rename sessions for better organization
  • Sessions persist across restarts via IndexedDB
  • Create new sessions with + button

Model Selection

  • Click βš™οΈ button to switch AI models
  • Available: Opus 4.1 (latest), Sonnet 3.5, Haiku
  • Model selection persists across sessions

Slash Commands

  • /help - Show available commands
  • /clear - Clear current conversation
  • /model - Check or switch models
  • /exit - Close chat session
  • Auto-completion for commands with arrow keys

Search Features

  • Current File Search: Search in currently open file
  • Project Search: Search across all project files
  • Result Navigation: Click results to jump to file/location
  • Case-Sensitive: Toggle for case-sensitive matching
  • Regex Support: Use regular expressions for advanced patterns

Error Diagnostics

  • Automatic error detection
  • AI-powered fix suggestions
  • One-click apply with diff preview
  • Non-intrusive notifications

Workspace Memory

  • Open files remembered on restart
  • UI layout preserved
  • Manual save/restore via πŸ’Ύ button
  • Automatic saves every 30 seconds

πŸ—οΈ Architecture

Technology Stack

Component Technology
Framework Electron 27.0
Editor Monaco Editor 0.44
Terminal xterm.js 5.3
AI Claude API / Claude CLI
Process node-pty 1.0
Storage IndexedDB + localStorage

Project Structure

claude-studio/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main.js                    # Electron main process
β”‚   β”œβ”€β”€ preload.js                 # Context bridge
β”‚   β”œβ”€β”€ renderer/
β”‚   β”‚   └── app.js                 # Renderer entry point (all-in-one)
β”‚   β”œβ”€β”€ modules/
β”‚   β”‚   β”œβ”€β”€ ai/
β”‚   β”‚   β”‚   β”œβ”€β”€ ClaudeService.js   # AI service manager
β”‚   β”‚   β”‚   β”œβ”€β”€ ChatHistoryManager.js  # Conversation history
β”‚   β”‚   β”‚   β”œβ”€β”€ CommandParser.js   # Slash command parser
β”‚   β”‚   β”‚   β”œβ”€β”€ CommandRegistry.js # Command definitions
β”‚   β”‚   β”‚   β”œβ”€β”€ CommandExecutor.js # Command execution
β”‚   β”‚   β”‚   └── ErrorDiagnostics.js    # Error analysis & fixes
β”‚   β”‚   β”œβ”€β”€ attachments/
β”‚   β”‚   β”‚   β”œβ”€β”€ AttachmentManager.js    # Attachment handling
β”‚   β”‚   β”‚   β”œβ”€β”€ FileValidator.js        # File validation
β”‚   β”‚   β”‚   └── AttachmentProcessor.js  # Attachment processing
β”‚   β”‚   β”œβ”€β”€ files/
β”‚   β”‚   β”‚   └── FileManager.js     # File operations
β”‚   β”‚   └── storage/
β”‚   β”‚       β”œβ”€β”€ WorkspaceState.js  # Workspace persistence
β”‚   β”‚       └── IndexedDBManager.js # IndexedDB operations
β”‚   β”œβ”€β”€ components/                # Reusable UI components
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ MarkdownRenderer.js    # Markdown rendering
β”‚   β”‚   └── Shortcuts.js           # Keyboard shortcuts
β”‚   └── ui/styles/                 # Stylesheets
β”œβ”€β”€ index.html                     # Main HTML
β”œβ”€β”€ package.json
└── start-with-anthropic.sh        # Custom API startup script

For detailed architecture documentation, see ARCHITECTURE.md.


πŸ”§ Configuration

AI Setup

Option 1: Claude CLI (Recommended)

# Install Claude CLI
npm install -g @anthropics/claude-cli

# Login
claude login

# Start CLAUDE-STUDIO
npm run dev

Option 2: Custom API Endpoint

# Set environment variables
export ANTHROPIC_BASE_URL="https://your-endpoint"
export ANTHROPIC_AUTH_TOKEN="your-token"

# Start
npm run dev:anthropic

Option 3: API Key

Configure in Settings panel (βš™οΈ) with your Anthropic API key.

Terminal Configuration

The terminal uses your system's default shell:

  • macOS/Linux: /bin/bash or /bin/zsh
  • Windows: cmd.exe or PowerShell

Workspace State

State is automatically saved to:

~/Library/Application Support/claude-studio/workspace-state.json

You can manually manage via πŸ’Ύ button in top bar.


🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Quick Contributing Guide

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ Changelog

See CHANGELOG.md for detailed version history and updates.

Latest: v2.3.0 - Multi-window support, PHP highlighting, Terminal enhancements, Checkpoints


πŸ› Known Issues & Solutions

macOS

  1. Menu bar shows "Electron" - Fixed in production build only
  2. Global shortcuts not working - Use the button alternatives

Windows

  1. Terminal requires Build Tools - Install Visual Studio Build Tools and Python

Linux

  1. Permission issues - May need chmod +x for scripts

For more issues, check the Issues page.


πŸ“š Documentation


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


πŸ“§ Support


πŸ—ΊοΈ Roadmap

βœ… Completed Phases

Phase 1: Session Management

  • Multi-session chat support with tabs
  • Session persistence with IndexedDB
  • Session history search and restore
  • Session export/import

Phase 2: System Prompt Customization

  • Custom AI behavior and roles
  • Multiple preset templates
  • Real-time prompt switching

Phase 3: Slash Command System

  • Command parser and registry
  • Built-in commands (/help, /clear, /model, /exit)
  • Command auto-completion
  • Command history search (Ctrl+R / Cmd+R)

Phase 4: Code Checkpoints

  • Automatic checkpoint creation
  • Manual checkpoint creation
  • Checkpoint comments and descriptions
  • Checkpoint history and diff preview
  • Rollback functionality

Phase 5: Tab Menu & Localization

  • Tab context menu (10+ operations)
  • File tree context menu
  • Chinese localization
  • Menu translations

Additional: Multi-Window & Enhancements

  • Multi-window project support (completely isolated)
  • PHP syntax highlighting
  • Multi-language support (90+ languages)
  • Terminal enhancements (50,000 line scrollback)
  • xterm.js full integration

πŸš€ Upcoming Phases

Phase 6: Permission Management (Planned)

  • Tool permission control
  • AI capability restrictions
  • User role management
  • Audit logging

Phase 7: Extended Features (Planned)

  • Multi-line input
  • Enhanced bash integration
  • Image support improvements
  • Keyboard customization

Phase 8: Performance Optimization (Planned)

  • Large file handling
  • Virtual scrolling
  • Memory optimization
  • Startup time optimization

Other Long-term Features

  • Git integration (status, commit, push/pull)
  • Split editor view
  • Cloud sync for workspace settings
  • Team collaboration features
  • More AI models support
  • Plugin system

Made with ❀️ by the Claude Studio Team

⭐ Star us on GitHub if you find this project useful!

Report Bug β€’ Request Feature β€’ Documentation

About

A modern code editor designed for AI-assisted development, built with Electron and Monaco Editor.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors