Skip to main content

Development Setup

Set up your local environment for DaoFlow development.

Prerequisites

  • Bun 1.3.9 — Install to match the repo packageManager pin
  • Docker 20.10+ with Docker Compose v2
  • Node.js 18+ (for Playwright tests)
  • Git

Steps

# 1. Clone the repository
git clone https://github.com/DaoFlow-dev/DaoFlow.git
cd DaoFlow

# 2. Install dependencies
bun install

# 3. Start infrastructure
docker compose -f docker-compose.dev.yml up -d

# 4. Run database migrations
bun run db:migrate

# 5. Seed demo data
bun run db:seed

# 6. Start the dev server
bun run dev

The dashboard runs on http://localhost:3000.

Package Scripts

ScriptDescription
bun run devStart dev server (API + client)
bun run buildProduction build
bun run startStart production server
bun run db:migrateRun database migrations
bun run db:seedSeed demo data
bun run typecheckTypeScript type checking
bun run lintESLint
bun run testUnit tests
bun run test:e2eEnd-to-end tests using docker-compose.dev.yml

Monorepo Structure

daoflow/
├── packages/
│ ├── server/ # API server (tRPC, auth, DB)
│ ├── client/ # Web dashboard (React, Vite)
│ ├── cli/ # CLI tool (Commander)
│ └── shared/ # Shared types, scopes, utils
├── e2e/ # Playwright E2E tests
├── docs/ # Docusaurus documentation
└── AGENTS.md # Operating charter

Useful Commands

# Type-check all packages
bun run typecheck

# Run E2E tests
bun run test:e2e

# Run docs E2E tests
bunx playwright test --config playwright-docs.config.ts

# Build CLI binary
cd packages/cli && bun run build