Formatting and Linting
Automated code quality through Ultracite and TypeScript strict mode.
The codebase uses Ultracite (Biome wrapper) for formatting and linting, combined with TypeScript strict mode for static analysis. Both tools integrate into the development workflow for immediate feedback.
Single Tool Philosophy
Ultracite replaces the traditional Prettier + ESLint stack with a unified tool. One configuration file, one command surface, no conflicting rules between formatter and linter.
Ultracite (Biome)
Ultracite wraps the Biome toolchain with consistent command interface:
# Format files and apply auto-fixes
pnpm format
# Check for lint violations (no mutations)
pnpm lint
# Run across specific package
pnpm --filter marketing lint
Configuration lives in biome.jsonc
at repository root. The configuration covers:
- Code formatting (indentation, line length, quotes)
- Import organization and sorting
- Unused variable detection
- TypeScript-aware correctness checks
TypeScript Strict Mode
All packages and applications extend shared TypeScript configuration from tooling/typescript-config
. Strict mode enables comprehensive type checking:
Editor Integration
VS Code, Cursor, and compatible editors integrate with quality tools:
Pre-commit Validation
Git hooks run validation before commits:
Validation Pipeline
Complete validation before commits and in CI:
# Format code
pnpm format
# Lint violations
pnpm lint
# Type checking
pnpm typecheck
# Test execution
pnpm test
# Build verification
pnpm build
# Run all checks sequentially
pnpm validate
The pnpm validate
command executes lint, typecheck, test, and build in sequence. CI runs the same command for consistency between local and remote validation.
Validate Before Commit
Run pnpm validate
before creating commits. The command catches type errors, lint violations, test failures, and build issues locally before pushing changes.
Configuration Files
Quality tool configuration locations: