TopFlow runs CI via GitHub Actions, defined in .github/workflows/ci.yml.
- push to
master,main, ordev - pull_request targeting
master,main, ordev
Note: GitHub evaluates
pull_requestworkflows from the base branch, so the workflow must exist on the branch you target (e.g.dev) for PR checks to run.
- Lint and Type Check —
pnpm lint, thenpnpm type-check(blocking). - Run Tests —
pnpm test:ci(Jest with coverage). Coverage thresholds injest.config.jsare blocking; the report is uploaded as an artifact. - Build Application —
pnpm build, gated on the first two jobs passing.
All jobs run on Node 22 + pnpm 9 with a cached pnpm store.
typescript.ignoreBuildErrors was removed from next.config.mjs (M1 / T7), so next build
fails on TypeScript errors. The dedicated pnpm type-check step (tsc --noEmit) runs earlier
and gives a faster, clearer failure — keep it green.
docs/ is excluded from both tsconfig.json and ESLint. Private working notes under docs/
are gitignored and may contain scratch .ts files; excluding the folder keeps the local
type-check/lint results identical to CI.
Husky runs lint-staged, which applies eslint --fix to the staged files only
(app/, components/, lib/, hooks/).
pnpm install
pnpm lint
pnpm type-check
pnpm test
pnpm build