Command Line

QuickDapp provides CLI commands for development, building, testing, and database management. All commands run through bun run.

Quick Reference

CommandDescription
bun run devStart development server with hot reload
bun run buildBuild for production
bun run prodRun production server
bun run testRun test suite
bun run test:e2eRun Playwright E2E tests
bun run genGenerate types and migrations
bun run lintType check and lint
bun run lint:fixAuto-fix lint issues
bun run formatFormat code
bun run db pushPush schema to database
bun run db migrateRun migrations

Development

bun run dev              # Start with hot reload
bun run dev --verbose    # Detailed startup logging

The development server runs ElysiaJS on port 3000 with Vite on port 5173 (proxied through 3000). Both frontend and backend support hot reloading.

Building

bun run build            # Production build with binaries

Creates optimized bundles in dist/client/, server code in dist/server/, and cross-platform binaries in dist/binaries/.

Testing

bun run test                    # Run all tests
bun run test --pattern auth     # Run matching tests
bun run test --watch            # Watch mode
bun run test --verbose          # Debug logging

Tests run with isolated database state. The test database is reset before each run.

Code Generation

bun run gen              # Generate all types

Generates GraphQL TypeScript types and DrizzleORM migration files.

Code Quality

bun run lint             # Check types and lint
bun run lint:fix         # Auto-fix issues
bun run format           # Format with Biome

Database

bun run db push          # Push schema (development)
bun run db push --force  # Force push (destructive)
bun run db generate      # Generate migration files
bun run db migrate       # Apply migrations (production)

Use push during development for quick iteration. Use migrate in production for safe, versioned changes.

Environment

Commands detect environment automatically. Override with NODE_ENV:

NODE_ENV=production bun run build
NODE_ENV=test bun run db push

Environment files load in order: .env.env.{NODE_ENV}.env.local.