Skip to content

navyabansal21/Tessera.io

 
 

Repository files navigation

⚡ Tessera.io: The Collaborative Developer Sandbox

License: MIT PRs Welcome TypeScript

Tessera.io is an open-source, real-time collaborative IDE engine. It provides the raw infrastructure needed to build next-generation development tools: zero-latency CRDT document synchronization, a secure remote code execution environment, and an architecture designed natively for AI integration.

Standard cloud IDEs are built for humans. Tessera.io is built for the future: a secure arena where human developers and AI agents can write, test, and debug code together in real time.


🚀 Current State: The MVP

The current repository is the foundational MVP. We have established the core plumbing to allow real-time collaborative typing and remote code execution.

  • Real-Time Collaboration: Powered by Yjs (CRDTs) and Socket.io, ensuring deterministic, conflict-free state resolution across clients.
  • The Editor: React + TailwindCSS utilizing @monaco-editor/react for a native VS Code-like typing experience.
  • Secure Execution Engine: A Node.js worker utilizing BullMQ and the Docker Engine API to run untrusted code safely in isolated, ephemeral containers (with optional gVisor support).
  • AI Service Foundation: A lightweight Python/FastAPI service hooked into the Model Context Protocol (MCP) and MongoDB Atlas Vector Search for RAG pipelines.

🏗️ Architecture & Monorepo Structure

Tessera.io uses a strict Turborepo monorepo via npm workspaces. This modular design allows open-source contributors to work on the exact layer they specialize in without needing to understand the entire stack.

Tessera.io/
├── apps/
│   ├── web/                # React, Vite, Monaco Editor client
│   ├── sync-server/        # Node.js, Express, Socket.io, Yjs backend
│   ├── execution-engine/   # Node.js, BullMQ worker, Docker API sandbox
│   └── ai-service/         # Python, FastAPI microservice
└── packages/
    ├── shared-types/       # Common TypeScript definitions and DTOs
    ├── collaboration/      # Shared CRDT utilities and types
    └── ui-components/      # Reusable UI component library

🛠️ Local Development Setup

Prerequisites

  • Node.js ≥ 20.0.0 and npm ≥ 10.0.0
  • Docker (for the execution engine)
  • Redis (for BullMQ task queues)
  • MongoDB (for AI service RAG storage)
  • Python ≥ 3.11 (for the AI microservice)

Optional:

  • gVisor (runsc) for enhanced kernel isolation in the execution engine.

If the execution engine cannot reach Docker, hits WSL mount errors, or leaves behind interrupted sandbox containers, see the Docker Sandbox Troubleshooting guide.

Quick Start

  1. Clone the repository:
git clone git@github.com:Kushaal-k/Tessera.io.git
cd Tessera.io
  1. Install all workspace dependencies:
npm install
  1. Start infrastructure services (Redis & MongoDB):
# Start Redis (if not already running)
docker run -d --name tessera-redis -p 6379:6379 redis:7-alpine

# Start MongoDB (if not already running)
docker run -d --name tessera-mongo -p 27017:27017 mongo:7
  1. Set up the Python AI service:
cd apps/ai-service
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cd ../..
  1. Start all services in development mode:
npm run dev

This single command will concurrently spin up the React frontend, the Socket.io sync server, the FastAPI service, and the BullMQ execution worker via Turborepo.

🗺️ Roadmap & Future Plans

We are actively building out the next phases of Tessera.io. If you are looking to contribute, these are our major upcoming milestones:

🎓 Phase 2: The "Socratic Mentor" AI Layer

To combat the rise of "vibe coding" (where developers blindly copy-paste AI code), we are building a deeply integrated, learning-focused AI mode.

  • Interactive Scaffolding: The AI will refuse to write complete solutions. Instead, it will generate code skeletons with missing logic gates and interactive // TODO comments via the CRDT stream.
  • Live Runtime Interrogation: When code fails in the Docker sandbox, the AI will intercept the logs and ask the user guiding questions about their variables rather than just printing the fix.

🌐 Phase 3: Integrated WebRTC

  • Adding an A/V Selective Forwarding Unit (SFU) to enable seamless audio and video conferencing directly inside the collaborative workspace.
  • Interactive multi-player whiteboard integration synced alongside the Monaco editor.

🐙 Phase 4: GitHub Integration

  • Native OAuth GitHub app integration to fetch repositories, map file trees, and sync PRs and Issues directly into the workspace.

🤝 Contributing

Tessera.io is an early-stage open-source project, and we are aggressively looking for contributors! Whether you are a React developer, a DevOps engineer (Docker/gVisor), or an AI researcher, there is a place for you here.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make changes in the relevant workspace(s)
  4. Run npm run typecheck and npm run build from the root
  5. Submit a pull request

Please read our CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us. Look for issues tagged good first issue to get your feet wet.

📄 License

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

About

An open-source collaborative developer sandbox. Features real-time CRDT synchronization and secure remote code execution for human-AI pair programming.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 82.1%
  • Python 12.6%
  • Dockerfile 2.5%
  • CSS 1.5%
  • HTML 1.3%