VersaCode is a free, open-source, and feature-rich web-based Integrated Development Environment (IDE) designed for the modern developer. It combines the power and familiar interface of desktop editors like VS Code with the accessibility of a web app and the intelligence of generative AI.
- AI-Powered Tools: Leverage generative AI for code generation from prompts, context-aware code suggestions, and a conversational AI Assistant panel to refactor code or answer questions.
- Full IDE Experience: A complete, VS Code-like interface including a file explorer, multi-tab editor, integrated client-side terminal, and a problems/output panel.
- Customizable Workspace: A beautiful, responsive layout with resizable and collapsible panels, light and dark themes, and persisted UI state to remember your setup.
- Complete File Management: Full file and folder management within the browser's high-performance Origin Private File System (OPFS), including create, rename, delete, drag-and-drop, and the ability to upload your own projects.
- Monaco-Powered Editor: A professional code editor with multi-tab support, syntax highlighting, auto-save, per-file undo/redo history, and rich context menus.
- Keyboard-Driven Workflow: Access all major functions through a Command Palette (
Ctrl+Shift+P) and standard keyboard shortcuts. - Simulated Source Control: A fully interactive source control panel that allows you to stage, unstage, and commit changes within the IDE's virtual file system.
- Framework: Next.js (App Router)
- Language: TypeScript
- UI Components: ShadCN/UI
- Styling: Tailwind CSS
- Code Editor: Monaco Editor (The editor that powers VS Code)
- Generative AI: Genkit (with Google AI Plugin)
- State Persistence: Browser Origin Private File System (OPFS) &
localStoragefor UI state. - Testing: Playwright for End-to-End tests.
To get a local instance of VersaCode running for development:
- Clone the repository:
git clone https://github.com/jay-ksolves/VersaCode-Editor.git
- Navigate to the project directory:
cd VersaCode-Editor - Install dependencies:
npm install
- Run the development server:
npm run dev
The application will be available at http://localhost:9002. The main IDE interface is located at the /editor route.
This project uses Playwright for end-to-end testing. To run the tests:
- Install Playwright browsers:
npx playwright install
- Run the E2E tests:
npm run test:e2e
VersaCode is a community-driven project, and contributions are welcome! Please check out the CONTRIBUTING.md file and the /docs directory to learn more about the project architecture, feature specifications, and how to get involved.
This project is licensed under the MIT License. See the LICENSE file for details.
