Quality assurance for AI-generated code

AI writes fast.
Keep it in check.

Catch unchecked assumptions, lost errors, and incomplete implementations. Run local checks in your terminal or supported coding agent.

Local analysis. No account needed to try Free.

Code examples

Catch it while the agent works.

Pick a language. See what Fettl catches and how to correct it.

parse-settings.tsCode example
type Settings = { port: number };
 
export function parseSettings(raw: string): Settings {
  return JSON.parse(raw) as Settings;
}
AI003 / DETECTED

A type assertion is not validation.

A cast tells TypeScript to trust the input. It does not check what the JSON actually contains.

Automatic detection. Actionable feedback for your agent.

Automatic repair

Find it. Fix it. Verify it.

Watch Fettl remove a stale TODO and verify the change.

Read the walkthrough transcript

An already implemented TypeScript function trims and normalizes a label. A stale TODO comment remains above it.

fettl fix --filter CQ003 --dry-run reports: “Planned 1 line removal(s) across 1 file(s); dry run, no files modified.”

fettl fix --filter CQ003 reports: “Fixed 1 line(s) across 1 file(s); verification re-ran 9 check(s) and passed.”

The function was already implemented. Fettl removes the stale comment and verifies the result.

How Fettl works

A passing build can still hide a defect.

Your agent can finish a task and still leave swallowed errors, stub functions, or silent fallbacks. Fettl brings those patterns into view while the context is still fresh.

Fix and verify

Fettl applies eligible fixes and checks the result. Failed verification triggers rollback.

How repairs work

Agent integrations

Checks inside your coding session.

Run Free checks from any agent’s terminal. Pro connects these hooks for automatic feedback.

Claude Code

Catch unsafe actions, check edits, and verify completion.

PreToolUsePostToolUseStop

Codex CLI

Check the code a tool just changed.

PostToolUse

OpenCode

Check each edited file.

file.edited

Hermes

Check code after a write or patch.

post_tool_call
Start with the code you ship.
TypeScriptJavaScriptRust

Security & data handling

Analysis runs on your machine.

Security & data handling

Local analysis

Checks and repairs run locally. Try Free without an account or source upload.

Explicit access

Pro activation uses signed access credentials. A login is separate from permission to upload source.

You set the direction

Fettl handles repeatable defects. You decide architecture, public APIs, and product behavior.

Start on your machine

Run your first check.

Try the complete check catalog with 30 scans and eligible fixes included. Each scan counts whether or not you apply a fix.

curl -fsSL https://fettl.dev/try.sh | sh

Run inside your repository. Downloads a verified binary, scans your code, then removes the binary.

macOS Apple Silicon · Linux x86_64

Release files and checksums Compare Free and Pro

Security questions

Ask about your security requirements.

Tell us what you need to know about data handling, access, or repairs.

Keep credentials, source code, and unreported vulnerability details out of this form.

Primary languages Choose at least one

No card. No newsletter opt-in. We’ll only contact you about Fettl.

Choose what you share. Privacy notice