Calibrate.WTF Documentation
Everything you need to set up, configure, and use Calibrate for automated quality assurance in your projects.
Getting Started
Calibrate.WTF is a zero-config TypeScript & Next.js code quality tool that provides automated linting, accessibility auditing, performance monitoring, and pre-commit quality gates.
Quick Start
Install
pnpm add -D @decoperations/calibrateInitialize
npx calibrate init --yesRun checks
npx calibrate checkInstallation
pnpm add -D @decoperations/calibrateCalibrate requires Node.js 18+ and works with TypeScript 4+ projects. It has optional peer dependencies on Next.js and React for framework-specific analysis.
Configuration
After running calibrate init, a .calibrate/config.json file is created in your project root.
{
"framework": "nextjs",
"language": "typescript",
"testing": {
"framework": "vitest",
"coverage": { "threshold": 80 }
},
"linting": { "rules": "recommended" },
"formatting": { "semi": false, "singleQuote": true },
"cicd": { "provider": "github-actions" },
"security": { "scanning": true },
"performance": { "budgets": true }
}All settings are optional. Calibrate uses sensible defaults and auto-detects your project configuration.
Quality Checks
Calibrate analyzes your code across 18 quality dimensions grouped into four categories:
Accessibility
- WCAG 2.1 AA compliance
- Color contrast ratios
- Keyboard navigation
- Screen reader compatibility
- ARIA attributes
Performance
- Core Web Vitals
- Bundle size analysis
- Image optimization
- Loading performance
- Render blocking resources
Usability
- Interactive feedback
- Error handling UX
- Loading states
- Form validation
- Navigation patterns
Design
- Visual consistency
- Typography hierarchy
- Spacing & layout
- Responsive design
- Component patterns
Accessibility
Calibrate automatically checks your application against WCAG 2.1 AA standards. Issues are categorized by severity and include actionable fix suggestions.
# Run accessibility-only checks
npx calibrate check --category accessibility
# Output includes:
# - Contrast ratio failures
# - Missing alt text
# - ARIA attribute issues
# - Keyboard trap detection
# - Focus management problemsPerformance
Performance monitoring tracks Core Web Vitals and provides optimization recommendations with estimated impact.
First Contentful Paint
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
UI Analysis
The UI analysis engine inspects your component hierarchy for design consistency, spacing issues, typography problems, and responsive layout breakage.
# Run UI analysis
npx calibrate check --category design
# Checks include:
# - Component consistency across pages
# - Spacing and alignment issues
# - Typography hierarchy validation
# - Responsive breakpoint coverage
# - Color usage consistencyCI/CD Integration
Calibrate integrates with GitHub Actions for automated quality gates on pull requests.
# .github/workflows/calibrate.yml
name: Quality Check
on: [pull_request]
jobs:
calibrate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- run: pnpm install
- run: npx calibrate check --ci
env:
CALIBRATE_TOKEN: ${{ secrets.CALIBRATE_TOKEN }}The --ci flag outputs results in a format suitable for CI environments and will exit with a non-zero code if quality thresholds are not met.
API Reference
Calibrate exposes a programmatic API for integration with custom tooling.
import { Calibrate } from '@decoperations/calibrate';
const calibrate = new Calibrate({
config: '.calibrate/config.json',
});
// Run all checks
const report = await calibrate.check();
// Run specific category
const a11y = await calibrate.check({
categories: ['accessibility'],
});
// Get score
console.log(report.overallScore); // 0-100
console.log(report.issues); // Issue[]