A next-generation code editor built for modern developers
Download β’ Documentation β’ Contributing β’ Roadmap
CodeForge IDE is a modern, fast, and extensible code editor that aims to rival VS Code while providing native performance through Tauri and a beautiful, responsive UI built with React. Designed with radical modularity principles, every component is crafted for maintainability, testability, and extensibility.
- ποΈ Native Performance: Built on Tauri for blazing-fast startup and minimal resource usage
- π¨ Modern UI: Beautiful, responsive interface built with React and TypeScript
- π§ Highly Extensible: Plugin architecture supporting custom extensions and themes
- π Multi-Language Support: Advanced language server protocol integration
- π Intelligent Search: Global search, quick open, and symbol navigation
- π₯οΈ Integrated Terminal: Full terminal integration with multiple shell support
- π Git Integration: Built-in version control with visual diff and merge tools
- π Customizable: Themes, layouts, and keybindings tailored to your workflow
- π± Cross-Platform: Windows, macOS, and Linux support
- Frontend: React 18 + TypeScript + Vite
- Backend: Rust + Tauri 2.0
- State Management: Redux Toolkit
- Styling: CSS Modules
- Testing: Jest + React Testing Library + Playwright
- Code Quality: ESLint + Prettier + Husky
Currently in Phase 1 - Foundation development. See our detailed roadmap for upcoming features and milestones.
- Project initialization and setup
- Basic Tauri + React integration
- TypeScript configuration
- Development guidelines and architecture
- Core component library
- File system integration
- Basic editor functionality
- Theme system
- Extension system
- Git integration
- Language server support
- Debugging tools
- Node.js (v18 or later)
- pnpm (recommended) or npm
- Rust (latest stable)
- Platform-specific dependencies:
- Windows: Microsoft Visual Studio C++ Build Tools
- macOS: Xcode Command Line Tools
- Linux: Development packages (see Tauri prerequisites)
-
Clone the repository
git clone https://github.com/codeforge/codeforge-ide.git cd codeforge-ide
-
Install dependencies
pnpm install
-
Start development server
pnpm tauri dev
-
Build for production
pnpm tauri build
codeforge2/
βββ src/ # React frontend source
β βββ components/ # Reusable UI components
β βββ features/ # Feature-specific modules
β βββ hooks/ # Custom React hooks
β βββ services/ # Business logic services
β βββ types/ # TypeScript type definitions
β βββ utils/ # Utility functions
βββ src-tauri/ # Rust backend source
β βββ src/ # Rust source code
β βββ capabilities/ # Tauri capabilities
β βββ icons/ # Application icons
βββ public/ # Static assets
βββ docs/ # Documentation
We follow strict modularity principles outlined in AGENTS.md:
- Maximum file size: 200 lines
- Function length: Maximum 30 lines
- Single responsibility: Each module has one clear purpose
- Comprehensive testing: 80%+ test coverage required
# Development
pnpm dev # Start frontend development server
pnpm tauri dev # Start full application in development mode
# Building
pnpm build # Build frontend for production
pnpm tauri build # Build complete application
# Code Quality
pnpm lint # Run ESLint
pnpm format # Format code with Prettier
pnpm test # Run tests
pnpm test:e2e # Run end-to-end tests
# Type Checking
pnpm type-check # Run TypeScript compiler check
Our testing strategy includes:
- Unit Tests: Jest + React Testing Library for component testing
- Integration Tests: API and service integration testing
- E2E Tests: Playwright for full application testing
- Performance Tests: Benchmarking and memory usage testing
# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Run tests with coverage
pnpm test:coverage
# Run E2E tests
pnpm test:e2e
CodeForge supports extensive customization:
- Themes: Dark, light, and custom color schemes
- Layouts: Customizable panel arrangements
- Keybindings: Fully customizable keyboard shortcuts
- Extensions: Plugin system for additional functionality
Application settings are managed through:
- User Settings: Global preferences (
~/.codeforge/settings.json
) - Workspace Settings: Project-specific configurations (
.codeforge/settings.json
) - Extension Settings: Plugin-specific configurations
We welcome contributions! Please read our Contributing Guide for details on:
- Code of conduct
- Development setup
- Pull request process
- Issue reporting guidelines
- Architecture decisions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Follow our coding standards and write tests
- Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- User Guide - How to use CodeForge IDE
- Developer Documentation - Technical implementation details
- API Reference - Extension development API
- Architecture Guide - System design and principles
- Roadmap - Feature development timeline
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Community: Discord Server
- Documentation: Official Docs
CodeForge is designed for performance:
- Startup Time: < 3 seconds cold start
- Memory Usage: < 200MB baseline
- File Opening: < 500ms for files up to 10MB
- Large Files: Efficient handling up to 100MB
Our development is organized into phases:
- Phase 1: Core Infrastructure & Foundation (Current)
- Phase 2: File Management & Explorer
- Phase 3: Code Editor Core
- Phase 4: Search & Navigation
- Phase 5: Terminal Integration
See the complete development roadmap for detailed milestones.
This project is licensed under the MIT License - see the LICENSE file for details.
- VS Code: Inspiration for features and user experience
- Tauri: Amazing framework for building native applications
- Monaco Editor: Powerful code editing component
- Rust Community: Excellent ecosystem and tools
- React Community: Modern UI development practices
- Website: codeforge.dev
- Twitter: @CodeForgeIDE
- Email: hello@codeforge.dev
Built with β€οΈ by the CodeForge team
β Star us on GitHub β’ π¦ Follow on Twitter β’ π¬ Join Discord