Quality

Quality signals

See why the baseline tooling ships by default and which optional tools appear when you opt into deeper testing.

Default quality stack

Purrfold installs the baseline checks by default to catch regressions early and keep feedback close to the code.

React Doctor and React Scan are part of the default stack. Vitest, commitlint, and Playwright only appear when their install choices are selected.

Quality gates

Default signals that catch issues before they spread.

React Doctor
Default
React diagnostics for maintainability and performance.

When you want quality gates to surface issues before review.

Official docs
React Scan
Default
Runtime scanning that highlights rendering problems.

When browser behavior needs an extra health check.

Official docs

Commit hygiene

Formatting and commit checks that keep changes clean.

ESLint
Default
Linting that enforces real project rules: effect discipline, boolean prop naming, ordered imports, type-only imports, promise safety, and console output limited to warn/error.

When you want feedback that catches React, TypeScript, and import hygiene issues before review.

Official docs
Prettier
Default
Opinionated formatting for consistent diffs.

When you want formatting to stay automatic and boring.

Official docs
Husky
Default
Git hooks that run local checks before commits.

When you want commit-time guardrails without extra ceremony.

Official docs
commitlint
Optional--commitlint
Commit message validation for conventional commits.

When commit hygiene is part of the install you chose.

Official docs

CI confidence

Signals that make automation trustworthy.

Vitest
Optional--unit
Fast unit tests for code that needs repeatable assertions.

When you enabled unit testing during installation.

Official docs
Playwright
Optional--e2e
End-to-end tests for user flows that need browser coverage.

When you enabled E2E testing during installation.

Official docs

Runtime insight

Visibility that helps confirm the app stays healthy in the browser.

TypeScript
Default
Static typing that catches mistakes before runtime.

When type safety is the fastest way to prevent regressions.

Official docs