Documentation

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/calibrate

Initialize

npx calibrate init --yes

Run checks

npx calibrate check

Installation

pnpm add -D @decoperations/calibrate

Calibrate 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

5
  • WCAG 2.1 AA compliance
  • Color contrast ratios
  • Keyboard navigation
  • Screen reader compatibility
  • ARIA attributes

Performance

5
  • Core Web Vitals
  • Bundle size analysis
  • Image optimization
  • Loading performance
  • Render blocking resources

Usability

5
  • Interactive feedback
  • Error handling UX
  • Loading states
  • Form validation
  • Navigation patterns

Design

5
  • 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 problems

Performance

Performance monitoring tracks Core Web Vitals and provides optimization recommendations with estimated impact.

FCP
< 1.8s

First Contentful Paint

LCP
< 2.5s

Largest Contentful Paint

TTI
< 3.0s

Time to Interactive

CLS
< 0.1

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 consistency

CI/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[]