Forge Svelte Themes

Forge

Forge is a modern in-browser IDE that lets you write, run, and preview Node.js and other modern webframeworks like react, vue, svelte. no local setup required.

Forge

A real in-browser IDE powered by WebContainers. Code, build, and run projects directly in your browser with zero setup.

✨ Features

  • šŸš€ Instant Start - Pick a framework and start coding immediately. No configuration needed.
  • šŸ“¦ Multiple Frameworks - Support for React, Vue, Svelte, and Node.js projects
  • šŸ’» Monaco Editor - VS Code-like editing experience with syntax highlighting
  • šŸ–„ļø Integrated Terminal - Full terminal with xterm.js integration
  • šŸ‘ļø Live Preview - See your changes in real-time with HMR support
  • šŸ“ File Explorer - Navigate and manage project files with ease
  • ā¬‡ļø Download Projects - Export your project as a zip file
  • 🌐 Runs Entirely in Browser - Powered by WebContainers, no server required

šŸ› ļø Tech Stack

  • Frontend: React 19, TypeScript, TailwindCSS 4
  • Editor: Monaco Editor
  • Terminal: xterm.js
  • Runtime: WebContainers API
  • Build: Vite 7
  • Animations: Framer Motion
  • State Management: Jotai
  • Routing: React Router v7

šŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or pnpm

Installation

# Clone the repository
git clone https://github.com/yourusername/forge.git
cd forge

# Install dependencies
npm install

# Start development server
npm run dev

The app will be available at http://localhost:5173

Build for Production

npm run build
npm run preview

šŸ“ Project Structure

src/
ā”œā”€ā”€ components/              # React components
│   ā”œā”€ā”€ ui/                  # Reusable UI components
│   ā”œā”€ā”€ CodeEditor.tsx       # Monaco editor wrapper
│   ā”œā”€ā”€ Terminal.tsx         # xterm.js terminal
│   ā”œā”€ā”€ Sidebar.tsx          # File explorer sidebar
│   ā”œā”€ā”€ IdeHeader.tsx        # IDE top navigation
│   ā”œā”€ā”€ IdeFooter.tsx        # IDE status bar
│   ā”œā”€ā”€ PreviewFrame.tsx     # Live preview iframe
│   ā”œā”€ā”€ HeroSection.tsx      # Landing hero section
│   ā”œā”€ā”€ FeaturesSection.tsx  # Landing features section
│   └── FrameworkSection.tsx # Framework picker
ā”œā”€ā”€ lib/                     # Core libraries
│   ā”œā”€ā”€ webContainerRuntime.ts  # WebContainer setup & commands
│   ā”œā”€ā”€ webContainerManager.ts  # WebContainer instance management
│   ā”œā”€ā”€ projectFiles.ts         # Framework templates
│   ā”œā”€ā”€ terminalSingleton.ts    # Terminal instance
│   ā”œā”€ā”€ atoms.ts                # Jotai state atoms
│   ā”œā”€ā”€ store.ts                # Global store
│   ā”œā”€ā”€ types.ts                # TypeScript types
│   └── utils.ts                # Utility functions
ā”œā”€ā”€ pages/                   # Page components
│   ā”œā”€ā”€ LandingPage.tsx
│   └── IDEpage.tsx
└── main.tsx                 # App entry point

šŸŽØ Supported Frameworks

Framework Status Description
React āœ… Available Build interactive UIs with Vite
Vue āœ… Available Progressive framework with Vite
Svelte āœ… Available Cybernetically enhanced apps
Node.js āœ… Available Server-side JavaScript
Next.js šŸ”œ Coming Soon Full-stack React framework
Remix šŸ”œ Coming Soon Full stack web framework

šŸ”§ Configuration

The IDE uses sensible defaults, but you can customize:

  • Terminal scrollback: Configured in terminalSingleton.ts
  • Editor theme: Monaco editor settings in CodeEditor.tsx
  • Project templates: Add new frameworks in projectFiles.ts

šŸ“ License

MIT License - feel free to use this project for personal or commercial purposes.

šŸ¤ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


Built with ā¤ļø using WebContainers

Top categories

Loading Svelte Themes