Prerequisite: You should have installed Node.js
(version 20 or higher).
Installation
Step 1. Install bun on your machine (if you don’t already have it yet), by running the following command: macOS/Linux:Why Bun?
We chose bun as our runtime and package manager based on its design goals, which align perfectly with our platform’s needs:- 4x Faster Startup: Bun processes start significantly faster than Node.js, improving development experience and CI/CD performance
- Built-in TypeScript & JSX Support: No need for additional transpilation setup - bun natively executes
.ts
,.tsx
, and.jsx
files - All-in-One Toolkit: Combines runtime, package manager, bundler, test runner, and script runner in a single executable
- Web Standards Compatibility: Implements modern Web APIs like
fetch
,WebSocket
, andReadableStream
out of the box - Node.js Compatibility: Drop-in replacement for Node.js with full compatibility for existing projects
- Better Performance: Powered by JavaScriptCore engine with reduced memory usage and faster execution
This step is no longer needed.
If you’re using VS Code, you can install following the recommended extensions
that will help you with the development process:
ESLint,
Prettier,
Vitest,
Tailwind CSS
IntelliSense,
Version
Lens,
Error
Lens,
Pretty TypeScript
Errors,
Material Icon
Theme.
Development
Start Next.js apps
To develop all apps and packages (without requiring a local setup), run the following command:bun
This command will start all Next.js apps in development mode. You can access
the apps by visiting the following URL: http://localhost:7803
Start Local Supabase Instance
To start a local supabase instance (database), run the following command:bun
This command will start a local supabase instance on your machine. You can
access the supabase instance by visiting the following URL:
http://localhost:8003
You need to have Docker installed and running on your machine to start a local
supabase instance.
Stop Local Supabase Instance
To stop the local supabase instance, run the following command:Better Development Experience
In case you want to run all local development servers, run the following command:bun
Running
devx
will:- Stop the currently running supabase instance and save current data as backup (if there is any)
- Install all dependencies
- Start a new supabase instance (using backed up data)
- Start all Next.js apps in development mode
bun devrs
instead. This will:- Stop the currently running supabase instance (if there is any)
- Install all dependencies
- Start a new supabase instance (with clean data from seed.sql)
- Start all Next.js apps in development mode
In case you don’t want to run a local supabase instance, you can run
bun dev
instead.Local development
Seed accounts
There are 5 seed accounts that are already set up for local development: You can use any of these accounts to log in to the app and quickly test the functionality of the app, since they are already set up with the necessary data.Authentication
A local mail server (InBucket) is automatically set up by Supabase to handle authentication emails.You can access the mail server by visiting the following URL:
http://localhost:8004
Build
To build all apps and packages, run the following command:bun
Test
To run all tests, run the following command:bun
Tests are still a work in progress. We’re currently working on adding tests to all packages to ensure the best quality possible.