What Gets Verified
Every completed task goes through a verification pipeline before a PR is opened:Type Checking
Type Checking
For TypeScript/typed projects, the full compilation must pass:
- No type errors
- No missing imports
- Proper interface compliance
- Strict mode checks (when configured)
Linting
Linting
Code must pass the project’s linting rules:
- ESLint, Prettier, or your configured linter
- Consistent formatting
- No unused variables or imports
- Style guide compliance
Unit Tests
Unit Tests
If the task includes test requirements:
- All new tests must pass
- Existing tests must not break
- Coverage thresholds met (if configured)
Visual Browser Verification
Visual Browser Verification
For frontend/UI tasks, pre.dev runs visual checks:
- Components render without errors
- Layout matches expectations
- Interactive elements function correctly
- No console errors in the browser
- CTA elements redirect properly
How It Works
The agent iterates automatically until all checks pass. You only see the final, verified result.
Why This Matters
Without acceptance verification, AI-generated code often has:- Type errors that surface only at build time
- Missing imports that break at runtime
- UI components that render incorrectly
- Tests that were never actually run
- Formatting inconsistencies
Verification in the PR
Each PR shows a verification panel with all acceptance criteria results:Custom Verification
The verification pipeline adapts to your project:- Python projects — mypy/pyright type checking, pytest, flake8/ruff
- Go projects — go vet, go test, golint
- Rust projects — cargo check, cargo test, clippy
- Frontend projects — TypeScript, ESLint, Vitest/Jest, Playwright

