Files
gh-greyhaven-ai-claude-code…/skills/project-structure/checklists/project-setup-checklist.md
2025-11-29 18:29:15 +08:00

5.1 KiB

Project Setup Checklist

Use when creating new Grey Haven projects.

Initial Setup

Choose Template

  • Frontend: Use cvi-template (TanStack Start + React 19)
  • Backend: Use cvi-backend-template (FastAPI + Python)
  • Clone from Grey Haven GitHub organization
  • Remove .git directory and re-initialize

Environment Configuration

  • Copy .env.example to .env
  • Set up Doppler project (dev, test, staging, production)
  • Add required secrets to Doppler
  • Test Doppler access: doppler run --config dev -- echo "Working"
  • Add .env to .gitignore (verify)

Frontend Setup (TanStack Start)

Directory Structure

  • Verify src/routes/ structure (file-based routing)
  • Verify src/lib/ organization (components, server, config, etc.)
  • Verify public/ for static assets
  • Verify migrations/ for Drizzle migrations

Configuration Files

  • Update tsconfig.json (verify ~/* path alias)
  • Update package.json (project name, description)
  • Verify .prettierrc (90 char line length, double quotes)
  • Verify .eslintrc (any allowed, strict off)
  • Update commitlint.config.cjs (100 char header)
  • Update vite.config.ts (project-specific settings)
  • Update vitest.config.ts (coverage thresholds >80%)

Dependencies

  • Run bun install (NOT npm!)
  • Verify Drizzle ORM installed
  • Verify better-auth installed
  • Verify TanStack Start/Query/Router installed
  • Verify Shadcn UI components

Database Setup

  • Create PostgreSQL database (PlanetScale)
  • Add DATABASE_URL to Doppler
  • Add DATABASE_URL_ADMIN to Doppler
  • Generate initial migration: bun run db:generate
  • Apply migration: doppler run --config dev -- bun run db:migrate

Authentication

  • Configure better-auth in src/lib/server/auth.ts
  • Add BETTER_AUTH_SECRET to Doppler
  • Add BETTER_AUTH_URL to Doppler
  • Set up OAuth providers (if needed)
  • Test auth flow locally

Backend Setup (FastAPI)

Directory Structure

  • Verify app/ structure (routers, services, db, etc.)
  • Verify tests/ organization (unit, integration, e2e)
  • Verify alembic/ for migrations

Configuration Files

  • Update pyproject.toml (project name, dependencies)
  • Verify Ruff configuration (130 char line length)
  • Verify mypy configuration (strict type checking)
  • Verify pytest configuration (markers, coverage >80%)
  • Update alembic.ini (database URL from Doppler)
  • Create Taskfile.yml (common commands)

Dependencies

  • Create virtual environment: python -m venv venv
  • Activate venv: source venv/bin/activate
  • Install deps: pip install -r requirements.txt
  • Install dev deps: pip install -r requirements-dev.txt
  • Verify SQLModel installed
  • Verify FastAPI installed
  • Verify Alembic installed

Database Setup

  • Create PostgreSQL database (PlanetScale)
  • Add DATABASE_URL to Doppler
  • Add DATABASE_URL_ADMIN to Doppler
  • Generate initial migration: alembic revision --autogenerate -m "Initial"
  • Apply migration: doppler run --config dev -- alembic upgrade head

GitHub Setup

Repository

  • Create GitHub repository
  • Push initial commit
  • Set up branch protection rules (main branch)
  • Require PR before merging
  • Require 1 approval
  • Require status checks to pass

GitHub Actions

  • Add DOPPLER_TOKEN to repository secrets
  • Add CLOUDFLARE_API_TOKEN to repository secrets (if deploying)
  • Verify .github/workflows/ci.yml
  • Verify .github/workflows/deploy.yml
  • Test CI/CD pipeline

Testing

Frontend Testing

  • Run unit tests: bun test
  • Run integration tests: bun test:integration
  • Run E2E tests: bun test:e2e
  • Verify coverage >80%

Backend Testing

  • Run unit tests: pytest -m unit
  • Run integration tests: pytest -m integration
  • Run E2E tests: pytest -m e2e
  • Verify coverage >80%

Documentation

README.md

  • Update project name and description
  • Document getting started steps
  • Document Doppler setup
  • Document database setup
  • Document testing commands
  • Document deployment process

Additional Docs

  • Create API documentation (if applicable)
  • Document architecture decisions
  • Document multi-tenant setup
  • Create onboarding guide

Deployment

Cloudflare Workers (Frontend)

  • Create wrangler.toml files (dev, staging, production)
  • Create KV namespaces
  • Create R2 buckets (if needed)
  • Configure custom domains
  • Test deployment to staging

Production Readiness

  • Set up monitoring (Sentry, Axiom)
  • Configure error tracking
  • Set up performance monitoring
  • Configure rate limiting
  • Set up backup strategy
  • Document rollback procedure

Post-Setup

Team Onboarding

  • Share Doppler access with team
  • Share repository access
  • Document local setup process
  • Schedule team walkthrough

Maintenance

  • Set up dependency update schedule
  • Set up security scanning
  • Schedule regular code reviews
  • Document support procedures