Development
Always use Bun (never npm/yarn/pnpm). Bun auto-loads .env files. Run from the root directory.
Dev Commands
Section titled “Dev Commands”bun run dev # Dev server - web (localhost:3000)bun run dev:mobile # Dev server - mobile (Expo)bun run build # Production build (web)Linting
Section titled “Linting”bun run lint # TypeScript + ESLint (all apps & packages)bun run lint:web # Lint web app onlybun run lint:mobile # Lint mobile app onlybun run lint:db # Lint @life-manager/db package onlybun run lint:shared # Lint @life-manager/shared package onlybun run lint:fix # Auto-fix (all apps & packages)Testing
Section titled “Testing”bun test # Bun test runner (web)Database
Section titled “Database”bun run generate-types # Regenerate Supabase types into packages/db/bun run generate-types:local # Same but against local Supabasebun run db:start # Start Supabase + Dockerbun run db:stop # Stop Supabase + Dockerbun run db:diff # Generate migration diffbun run db:reset # Reset database (destructive!)bun run db:pull # Pull remote schemabun run db:seed # Run seed scriptsOther Tools
Section titled “Other Tools”bun run knip # Find unused exports (web)bun run count:lines # Count lines of code (cloc)Path Aliases
Section titled “Path Aliases”@/* maps to ./src/* within each app. Import shared packages by their workspace name:
import { AppSchema } from "@life-manager/db/schema";import { mantineColors } from "@life-manager/shared/constants/colors";