Skip to content

Scripts

IndieStack provides npm scripts to streamline development, testing, and deployment.

Development

CommandDescription
pnpm devStart Next.js dev server (HMR)
pnpm dev:mockStart in mock mode (NEXT_PUBLIC_MOCK_ENABLED=true)
pnpm dev:supabaseStart Supabase local services + dev server
pnpm previewPreview production build (port 4173)

Build & Deploy

CommandDescription
pnpm buildProduction build (Next.js + Sentry)
pnpm startStart production server
pnpm sentry:sourcemapsUpload source maps to Sentry

Code Quality

CommandDescription
pnpm lintESLint (with Next.js rules)
pnpm type-checkTypeScript check (tsc --noEmit)
pnpm formatPrettier format (TS, TSX, CSS, JSON)
pnpm checkType-check + lint together

Testing

CommandDescription
pnpm testRun all tests (Vitest)
pnpm test:watchWatch mode
pnpm test:coverageTest with coverage report

Database

CommandDescription
pnpm db:migratePush migrations to Supabase
pnpm db:migratePush schema changes
pnpm db:seedRun seed data script
pnpm db:typesGenerate TypeScript types from Supabase
pnpm db:statusCheck Supabase local service status

Helper Scripts

/scripts/setup.sh

One-click project setup:

  1. Check Node.js version (18.17+)
  2. Install dependencies
  3. Copy env template (if .env.local missing)
  4. Initialize Git hooks (husky)

/scripts/dev.sh

Dev helper script:

  • Start Supabase local services (Docker)
  • Apply database migrations
  • Start Next.js dev server

Git Hooks (husky)

  • pre-commit: lint-staged (auto format + ESLint fix staged files)
  • commit-msg: Conventional Commits validation

Docker

bash
docker compose up -d    # PostgreSQL + pgAdmin
docker build -t indiestack . && docker run -p 3000:3000 indiestack

| pnpm check:locales | Verify en/zh-CN translation key symmetry | | pnpm check:agents | Verify AGENTS.md index consistency | | pnpm check:rls | Static check of RLS migrations (USING/WITH CHECK) | | pnpm check:bundle | Client bundle size gate (build + baseline compare) | | pnpm dep:health | Dependency health report (major/minor breakdown) |

基于 MIT 协议开源