Skip to content

codeforge-ide/codeforge_ide

Repository files navigation

CodeForge IDE

A next-generation code editor built for modern developers

License: MIT Build Status Version TypeScript Rust React Tauri

Download β€’ Documentation β€’ Contributing β€’ Roadmap

πŸš€ Overview

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.

✨ Key Features

  • 🏎️ 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

πŸ› οΈ Technology Stack

  • 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

🎯 Project Status

Currently in Phase 1 - Foundation development. See our detailed roadmap for upcoming features and milestones.

Completed βœ…

  • Project initialization and setup
  • Basic Tauri + React integration
  • TypeScript configuration
  • Development guidelines and architecture

In Progress 🚧

  • Core component library
  • File system integration
  • Basic editor functionality
  • Theme system

Planned πŸ“‹

  • Extension system
  • Git integration
  • Language server support
  • Debugging tools

πŸš€ Quick Start

Prerequisites

  • 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)

Installation

  1. Clone the repository

    git clone https://github.com/codeforge/codeforge-ide.git
    cd codeforge-ide
  2. Install dependencies

    pnpm install
  3. Start development server

    pnpm tauri dev
  4. Build for production

    pnpm tauri build

πŸ“– Development

Project Structure

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

Code Quality Guidelines

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

Scripts

# 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

πŸ§ͺ Testing

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

🎨 Theming & Customization

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

πŸ”§ Configuration

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

🀝 Contributing

We welcome contributions! Please read our Contributing Guide for details on:

  • Code of conduct
  • Development setup
  • Pull request process
  • Issue reporting guidelines
  • Architecture decisions

Development Workflow

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

πŸ“š Documentation

πŸ› Issues & Support

πŸ“Š Performance

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

πŸ—ΊοΈ Roadmap

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.

πŸ“„ License

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

πŸ™ Acknowledgments

  • 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

πŸ“ž Contact


Built with ❀️ by the CodeForge team

⭐ Star us on GitHub β€’ 🐦 Follow on Twitter β€’ πŸ’¬ Join Discord

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published