Phase 1 complete
This commit is contained in:
180
justfile
Normal file
180
justfile
Normal file
@@ -0,0 +1,180 @@
|
||||
# DreamChat Justfile
|
||||
# https://just.systems/
|
||||
#
|
||||
# Installation:
|
||||
# cargo install just
|
||||
# OR
|
||||
# brew install just (macOS)
|
||||
# OR
|
||||
# apt install just (Ubuntu/Debian)
|
||||
#
|
||||
# Usage:
|
||||
# just # Show available commands
|
||||
# just dev # Start development servers
|
||||
# just build # Build all packages
|
||||
# just generate-api # Regenerate OpenAPI spec and API client
|
||||
|
||||
# Default recipe - show available commands
|
||||
default:
|
||||
@just --list
|
||||
|
||||
# =============================================================================
|
||||
# Build Commands
|
||||
# =============================================================================
|
||||
|
||||
# Build all packages and apps
|
||||
build:
|
||||
pnpm build
|
||||
|
||||
# Build backend only
|
||||
build-backend:
|
||||
cd apps/backend && pnpm build
|
||||
|
||||
# Build frontend only
|
||||
build-frontend:
|
||||
cd apps/frontend && pnpm build
|
||||
|
||||
# Build shared package only
|
||||
build-shared:
|
||||
cd packages/shared && pnpm build
|
||||
|
||||
# Clean all build artifacts
|
||||
clean:
|
||||
pnpm -r clean
|
||||
|
||||
# =============================================================================
|
||||
# Development Commands
|
||||
# =============================================================================
|
||||
|
||||
# Start development servers (backend + frontend)
|
||||
dev:
|
||||
pnpm dev
|
||||
|
||||
# Start backend development server
|
||||
dev-backend:
|
||||
cd apps/backend && pnpm dev
|
||||
|
||||
# Start frontend development server
|
||||
dev-frontend:
|
||||
cd apps/frontend && pnpm dev
|
||||
|
||||
# =============================================================================
|
||||
# API & Code Generation
|
||||
# =============================================================================
|
||||
|
||||
# Generate OpenAPI spec from backend
|
||||
openapi-generate:
|
||||
cd apps/backend && pnpm run openapi:generate
|
||||
|
||||
# Generate frontend API client from OpenAPI spec
|
||||
api-client-generate:
|
||||
cd apps/frontend && pnpm run api:generate
|
||||
|
||||
# Generate both OpenAPI spec and API client
|
||||
generate-api: openapi-generate api-client-generate
|
||||
|
||||
# =============================================================================
|
||||
# Database Commands
|
||||
# =============================================================================
|
||||
|
||||
# Generate Prisma client
|
||||
db-generate:
|
||||
cd apps/backend && pnpm run db:generate
|
||||
|
||||
# Run database migrations
|
||||
db-migrate:
|
||||
cd apps/backend && pnpm run db:migrate
|
||||
|
||||
# Reset database (destructive!)
|
||||
db-reset:
|
||||
cd apps/backend && npx prisma migrate reset --force
|
||||
|
||||
# Open Prisma Studio
|
||||
db-studio:
|
||||
cd apps/backend && npx prisma studio
|
||||
|
||||
# Seed database
|
||||
db-seed:
|
||||
cd apps/backend && pnpm run db:seed
|
||||
|
||||
# =============================================================================
|
||||
# Testing Commands
|
||||
# =============================================================================
|
||||
|
||||
# Run all tests
|
||||
test:
|
||||
pnpm test
|
||||
|
||||
# Run backend tests
|
||||
test-backend:
|
||||
cd apps/backend && pnpm test
|
||||
|
||||
# Run frontend tests
|
||||
test-frontend:
|
||||
cd apps/frontend && pnpm test
|
||||
|
||||
# Run tests in watch mode (backend)
|
||||
test-backend-watch:
|
||||
cd apps/backend && pnpm run test:watch
|
||||
|
||||
# =============================================================================
|
||||
# Linting & Code Quality
|
||||
# =============================================================================
|
||||
|
||||
# Run linter on all packages
|
||||
lint:
|
||||
pnpm lint
|
||||
|
||||
# Run linter on backend
|
||||
lint-backend:
|
||||
cd apps/backend && pnpm lint
|
||||
|
||||
# Run linter on frontend
|
||||
lint-frontend:
|
||||
cd apps/frontend && pnpm lint
|
||||
|
||||
# =============================================================================
|
||||
# Installation & Dependencies
|
||||
# =============================================================================
|
||||
|
||||
# Install all dependencies
|
||||
install:
|
||||
pnpm install
|
||||
|
||||
# Update all dependencies
|
||||
update:
|
||||
pnpm update
|
||||
|
||||
# =============================================================================
|
||||
# Docker Commands
|
||||
# =============================================================================
|
||||
|
||||
# Start all Docker services (db, redis, etc.)
|
||||
docker-up:
|
||||
docker-compose up -d
|
||||
|
||||
# Stop all Docker services
|
||||
docker-down:
|
||||
docker-compose down
|
||||
|
||||
# View Docker logs
|
||||
docker-logs:
|
||||
docker-compose logs -f
|
||||
|
||||
# =============================================================================
|
||||
# Utility Commands
|
||||
# =============================================================================
|
||||
|
||||
# Format code with prettier (if installed)
|
||||
format:
|
||||
npx prettier --write "**/*.{ts,tsx,js,jsx,json,md}"
|
||||
|
||||
# Check TypeScript types
|
||||
typecheck:
|
||||
pnpm -r typecheck 2>/dev/null || echo "Type checking..."
|
||||
cd apps/backend && npx tsc --noEmit
|
||||
cd apps/frontend && npx tsc --noEmit
|
||||
|
||||
# Full CI check - build, lint, test
|
||||
ci: build lint test
|
||||
@echo "✅ All CI checks passed!"
|
||||
Reference in New Issue
Block a user