"Send in your skeletons Sing as their bones go marchin' in again The need you buried deep The secrets that you keep are ever ready Are you ready? I'm finished makin' sense Done pleading ignorance, that whole defense Spinning infinity, boy The wheel is spinnin' me, it's never ending, never ending Same old story" — Foo Fighters
pretender
pretender will enable development teams using CI to detect structural quality regressions before merge by reducing the rate of undetected complexity increases to <5% of all PRs within 3 months of adoption, as measured by the ratio of CI-pretender-flagged issues vs. post-merge quality incidents, compared to baseline (no pretender).
Pretender is a Rust CLI for structural code-quality checks across multiple languages.
Installation
Cargo (crates.io)
cargo install pretenderInstalls the pretender binary.
Homebrew (macOS & Linux)
brew tap charly-vibes/charly
brew install pretenderScoop (Windows)
scoop bucket add charly https://github.com/charly-vibes/scoop-charly.git
scoop install pretenderFrom source
git clone https://github.com/charly-vibes/pretender
cd pretender
cargo build --releaseDocumentation
- Getting started
- Configuration reference
- Mutation testing
- Writing plugins
- Language support
Commands
| Command | Description | |---------|-------------| | pretender init | Interactive wizard: write pretender.toml, install hook, generate CI | | pretender check <paths... | Fast pass/fail scan against configured thresholds | | pretender doctor [--json] | Diagnose configuration, hooks, and plugin health (warns if hook installed but no config) | | pretender complexity <path | Show cyclomatic complexity per function, sorted worst-first | | pretender report | Render cached last check as human, markdown, or HTML | | pretender duplication <paths... | Structural clone detection via AST subtree hashing | | pretender mutation <paths... | Mutation testing wrapper (mutmut / cargo-mutants / Stryker / PIT) | | pretender hooks install\|uninstall | Install or remove the pre-commit hook | | pretender ci generate github | Emit .github/workflows/pretender.yml | | pretender explain <metric | Print definition, threshold, and citation for a metric | | pretender feedback [--dry-run] [--from-last-error] | File a structured issue against upstream repo | | pretender completions <shell | Generate shell completion scripts (bash, zsh, fish, etc.) |