This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the SeaWatts Startup Template - a production-ready full-stack TypeScript monorepo using Turborepo, designed for building scalable applications with multiple frontend and backend services sharing common packages. Optimized for AI code generation workflows.
# Install dependencies
bun install
# Start development for all packages
bun dev
# Start only the web app
bun dev:next
# Run tests
bun test
# Type check everything
bun typecheck
# Format code
bun format:fix
# Clean all workspaces
bun clean:ws# Open database studio
bun db:studio
# Push schema changes
bun db:push
# Generate migrations
bun db:gen-migration
# Run migrations
bun db:migrate
# Seed database
bun db:seed# Build all packages
bun build
# Publish CLI and client packages
bun publish
# Add UI components
bun ui-add/apps/*- Applications (web-app, expo, cli, extensions)/packages/*- Shared packages (api, db, ui, ai)/tooling/*- Build and development tooling
- Package Manager: Bun with pnpm workspaces
- Build System: Turborepo
- Web Framework: Next.js 14 (App Router)
- Database: Drizzle ORM + Supabase
- API Layer: tRPC v11
- UI Components: shadcn/ui
- Authentication: Clerk
- State Management: Zustand
- Mobile: React Native with Expo SDK 51
- Code Quality: Biome (formatting/linting), TypeScript
-
Type Safety: End-to-end type safety with tRPC. API types are automatically inferred from server to client.
-
Database Access: All database operations go through the
@seawatts/dbpackage using Drizzle ORM. -
Environment Variables: Use
bun with-envto load environment variables from Infisical. -
UI Components: Shared components in
@seawatts/uipackage. Usebun ui-addto add new shadcn components. -
API Routes: Define tRPC routers in
packages/api/src/router. Routes are automatically type-safe across all apps. -
Real-time Features: Supabase real-time subscriptions are available for live data updates.
-
AI Integration: BAML templates in
packages/aifor structured LLM interactions. This enables AI to understand your codebase context and generate consistent, type-safe code across all platforms.
- Unit tests use Bun's built-in test runner
- Chrome extension uses Vitest
- VS Code extension uses Mocha
- Run all tests with
bun test
- Biome enforces formatting and linting rules
- Kebab-case for filenames
- TypeScript strict mode enabled
- Import organization enforced
- Run
bun format:fixbefore committing
- Always run
bun typecheckbefore committing - Use Turbo for parallel task execution
- Database changes require running migrations
- Environment variables are managed with Infisical
- Git hooks via Lefthook ensure code quality