Skip to main content
If the video doesn’t display, you can also watch it on 哔哩哔哩.

Prerequisites

Before you begin, make sure you have the following installed:
  • Node.js 20+ (LTS recommended)
  • pnpm 9.0+
  • PostgreSQL (for database)
  • Git

Setup Instructions

Clone the Softmaple repository from GitHub:
Install all dependencies using pnpm:
This will install dependencies for all workspaces in the monorepo.
Copy the web and database environment files and configure them:
Edit apps/web/.env with your configuration:
Add the same database connection values to packages/db/.env so Prisma commands can connect when run from the database package:
Create apps/collab-nitro/.env.local from its example, then provide DATABASE_URL, SUPABASE_URL, SUPABASE_PUBLISHABLE_KEY, and COLLAB_ALLOWED_ORIGINS. Local development defaults to the in-memory realtime adapter; Vercel deployments require REDIS_URL.
Generate Prisma client and run migrations:
Stock next dev does not forward /collab/* WebSocket upgrades. For a working same-origin collaboration path locally, run the collab service, Next.js on an internal port, and the Upgrade-capable router on port 3000:
Terminal 1 — collaboration service
Terminal 2 — Next.js (internal)
Terminal 3 — same-origin /collab router
Open http://localhost:3000. Set COLLAB_ALLOWED_ORIGINS="http://localhost:3000" in apps/collab-nitro/.env.local.Alternatively, use vercel dev from the repository root so the Services routing in vercel.json serves /collab/* from apps/collab-nitro.
The local router is not a release-equivalent test of Vercel Services WebSocket routing. Verify document and Presence handshakes on a real Preview deployment before promoting.

Development Workflow

Use pnpm filters to run commands for specific packages:
Run tests for specific packages:
Follow the branch naming convention:

Next Steps

Explore the key features and start building with Softmaple:

Monorepo Structure

Learn about the project structure and package organization.

API Reference

Explore the API endpoints for documents and workspaces.

Live Demo

Try Softmaple online without installing locally.

Community Support

Get help and connect with other developers.