← 全部工具

charly-vibes/pretender

热度 65 更新于 开发与构建

Multi-language code quality checker with complexity metrics — cyclomatic, cognitive, ABC, nesting, function lines

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

"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 pretender

Installs the pretender binary.

Homebrew (macOS & Linux)

brew tap charly-vibes/charly
brew install pretender

Scoop (Windows)

scoop bucket add charly https://github.com/charly-vibes/scoop-charly.git
scoop install pretender

From source

git clone https://github.com/charly-vibes/pretender
cd pretender
cargo build --release

Documentation

  • 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.) |