Skip to main content
The monorepo includes various scripts for development, testing, and automation.

Core scripts

Development

# Start all apps in development mode
bun run dev

# Start with databases (PostgreSQL, Redis, etc.)
bun run dev:with:dbs

Testing

# Run all tests
bun run test

# Run tests in watch mode
bun run test:watch

Code quality

# Lint with Biome
bun run lint

# Lint and fix issues
bun run lint:fix

Continuous integration

The ci script runs all checks required for CI:
bun run ci
This runs:
  1. bun run lint - Lint code
  2. bun run typecheck - Type-check TypeScript
  3. bun run test - Run tests

Utility scripts

Setup and configuration

# Setup development context
bun run setup:context

# Install dependencies
bun run i

Development tools

# Start ngrok tunnel for local development
bun run ngrok

Data management

# Expand community server data
bun run expand-servers

Cleanup

# Clean all node_modules and build artifacts
bun run clean

Turbo filters

Run scripts for specific packages using Turbo filters:
# Type-check only main-site
turbo run typecheck --filter=@packages/main-site

# Build discord-bot and its dependencies
turbo run build --filter=@packages/discord-bot

# Run tests excluding specific packages
turbo run test --filter='!@packages/convex-test' --filter='!@apps/bot-e2e'

Custom scripts

Many packages include their own scripts. Check package.json in each package:

Database package

# Generate Convex types
bun run codegen

# Deploy to production
bun run deploy

# Run development server
bun run dev

Main site package

# Development with specific environment
bun run dev:prod

# Build with production environment
bun run build:prod

Git hooks

Pre-commit hooks automatically format staged files:
"lint-staged": {
  "*": ["biome format --write"]
}
Managed by Husky, configured in the prepare script.

Package manager

The repository uses Bun 1.3.3 as specified in package.json:
"packageManager": "bun@1.3.3"
Ensure you have the correct version installed for compatibility.