dgent — de-agent your code
Clean AI tells from code and commit messages. Runs as git hooks automatically, or on-demand via CLI.
When to use
- Before committing code written by an AI agent
- When asked to "clean up" or "de-agent" output
- To check if code has AI naming patterns, catch-rethrow, section headers, or noise comments
- To check if a commit message has AI vocabulary, emoji, or trailers
Quick check a file
dgent run --json <file>
Returns JSON with clean, fixes[], flags[], and output (cleaned content). Exit codes: 0 = clean or fixes applied, 1 = flags found.
Quick check — exit code only
dgent run --check <file>
Silent. Exit 0 if clean or fixes applied, 1 if flags found. Use in pre-commit scripts.
Scan entire directory
dgent scan --json [dir]
Returns JSON with per-file results. Use before committing multi-file changes.
Fix a file in place
dgent run --fix <file>
Applies all deterministic fix rules (strip trailers, emoji, section headers) and writes back.
Check a commit message
echo "your message" | dgent run --json --commit-msg -
Stdin with short non-code input auto-detects as commit-msg. Returns fixes (emoji, trailers) and flags (AI vocabulary).
Get the full rule catalog
dgent rules --json
Returns every rule with name, phase, type, enabled status, and complete pattern lists. Use this to know exactly what to avoid.
Patterns to avoid
These trigger flags (from dgent rules --json):
Commit message words: enhance, streamline, comprehensive, utilize, leverage, facilitate, robust, optimize
Commit message phrases: "this commit", "this change", "in order to", "aims to", "is designed to"
Naming suffixes: Manager, Handler, Processor, Service, Factory, Builder, Validator, Controller, Orchestrator, Coordinator
Identifier length: over 40 characters
Catch-rethrow: catch (e) { console.error(e); throw e; } — either handle the error or let it propagate
Suppress a specific flag
// dgent-ignore flag-naming
class DataProcessor { ... } // not flagged
Supports // dgent-ignore, // dgent-ignore-next-line, // dgent-ignore <rule1> <rule2>.
Workflow for agents
- Write code
- Run
dgent run --json <file> on each modified file
- Fix any flags (rename identifiers, remove catch-rethrow, etc.)
- Run
echo "commit message" | dgent run --json --commit-msg - on the message
- Fix any message flags (remove AI vocabulary, rephrase)
- Commit — dgent hooks will clean trailers and emoji automatically