Easily edit and preview your React pages in real-time using this TypeScript-based page editor.
This project provides a real-time collaborative React page editor built with TypeScript and powered by Cloudflare Workers. It enables developers to edit and preview React components in real-time, with built-in collaboration features.
📚 View the Documentation Cheatsheet
- Node.js (LTS version)
- Yarn
- Git
- Clone the repository:
git clone https://github.com/zerdos/spike.land.git
cd spike.land
- Install dependencies:
yarn install
- Start the development environment:
# Start everything (frontend + workers)
yarn dev
# Or start components individually:
yarn dev:fe # Frontend only
yarn dev:workers # Workers only
The project uses a comprehensive build system with the following main commands:
yarn dev
- Start all development servers (frontend + workers)yarn dev:fe
- Start frontend development server onlyyarn dev:workers
- Start Cloudflare Workers in development mode
yarn build:all
- Build all packagesyarn build:fe
- Build frontend onlyyarn build:workers
- Build workers only
yarn deploy:dev
- Deploy to development environmentyarn deploy:prod
- Deploy to production environment
yarn test
- Run all testsyarn test:e2e
- Run end-to-end testsyarn lint
- Run lintingyarn fmt
- Format codeyarn types:check
- Type check all packages
This project is organized as a monorepo with the following structure:
/packages
├── code/ # Frontend React application
│ ├── dev scripts: # - yarn dev (Vite + TypeScript + Workers)
│ └── build scripts: # - yarn build (Production build with type checking)
│
├── spike.land/ # Main Cloudflare Worker backend
│ ├── dev scripts: # - yarn dev (Local) or yarn dev:remote (Remote)
│ └── deploy scripts: # - yarn deploy:dev/prod (Environment-specific)
│
├── js.spike.land/ # Transpiler Worker
│ ├── dev scripts: # - yarn dev (Local development)
│ └── deploy scripts: # - yarn deploy:dev/prod (Environment-specific)
│
└── spike-land-renderer/ # Page rendering engine
├── dev scripts: # - yarn dev (Local development)
└── deploy scripts: # - yarn deploy (Production deployment)
The project includes several development container configurations in the /devcontainers
directory for consistent development environments:
- bookworm-devcontainer
- jammy-devcontainer
- lunar-devcontainer
- trixie-devcontainer
- node-chrome
You can explore the entire repository using Gitpod:
After opening in Gitpod, you can access a full Ubuntu + Xfce environment:
startx # Launches Xfce desktop environment
# Access the remote desktop on port :6080 in your browser
Contributions are welcome! Please read our Contributing Guidelines for details on submitting pull requests.
This project is licensed under the terms of the license found in LICENSE.md.
For security concerns, please see our Security Policy.