|
| 1 | +--- |
| 2 | +name: mutation-testing |
| 3 | +description: "Configures mewt or muton mutation testing campaigns — scopes targets, tunes timeouts, and optimizes long-running runs. Use when the user mentions mewt, muton, mutation testing, or wants to configure or optimize a mutation testing campaign." |
| 4 | +allowed-tools: |
| 5 | + - Read |
| 6 | + - Write |
| 7 | + - Bash |
| 8 | + - Grep |
| 9 | +--- |
| 10 | + |
| 11 | +# Mutation Testing — Campaign Configuration (mewt/muton) |
| 12 | + |
| 13 | +> **Note**: muton and mewt share identical interfaces but target different languages — mewt for general-purpose languages (Rust, Solidity, Go, TypeScript, JavaScript), muton for TON smart contracts (Tact, Tolk, FunC). All examples use `mewt` commands, but they work exactly the same with `muton`. File names change accordingly: `mewt.toml` → `muton.toml`, `mewt.sqlite` → `muton.sqlite`. |
| 14 | +
|
| 15 | +## When to Use |
| 16 | + |
| 17 | +Use this skill when the user: |
| 18 | +- Mentions "mewt", "muton", or "mutation testing" |
| 19 | +- Needs to configure or optimize a mutation testing campaign |
| 20 | +- Wants to run `mewt run` and needs help getting set up first |
| 21 | + |
| 22 | +## When NOT to Use |
| 23 | + |
| 24 | +Do not use this skill when the user: |
| 25 | +- Wants to analyze or report on completed campaign results |
| 26 | +- Asks about tests or coverage without mentioning mutation testing |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +## Quick Start |
| 31 | + |
| 32 | +Load [workflows/configuration.md](workflows/configuration.md) — a 5-phase guide from `mewt init` to a validated, ready-to-run campaign. |
| 33 | + |
| 34 | +**General question or unfamiliar command?** |
| 35 | +Run `mewt --help` or `mewt <subcommand> --help`, then assist. |
| 36 | + |
| 37 | +--- |
| 38 | + |
| 39 | +## Reference Index |
| 40 | + |
| 41 | +| File | Content | |
| 42 | +|------|---------| |
| 43 | +| [workflows/configuration.md](workflows/configuration.md) | 5-phase guide: init, scope, optimize, validate, run | |
| 44 | +| [references/optimization-strategies.md](references/optimization-strategies.md) | Per-file targeting, two-phase campaigns, mutation type filtering | |
| 45 | + |
| 46 | +--- |
| 47 | + |
| 48 | +## Essential Commands |
| 49 | + |
| 50 | +```bash |
| 51 | +# Initialize and mutate |
| 52 | +mewt init # Create mewt.toml and mewt.sqlite |
| 53 | +mewt mutate [paths] # Generate mutants without running tests |
| 54 | +mewt run [paths] # Run the full campaign |
| 55 | + |
| 56 | +# Inspect configuration and scope |
| 57 | +mewt print config # View effective configuration |
| 58 | +mewt print targets # Table of all targeted files |
| 59 | +mewt print mutations --language [lang] # Available mutation types |
| 60 | +mewt status # Mutant count and per-file breakdown |
| 61 | + |
| 62 | +# Investigate specific mutants |
| 63 | +mewt print mutants --target [path] # All mutants for a file |
| 64 | +mewt print mutants --severity high # Filter by severity |
| 65 | +mewt print mutant --id [id] # View mutated code diff |
| 66 | +mewt test --ids [ids] # Re-test specific mutants |
| 67 | +``` |
| 68 | + |
| 69 | +--- |
| 70 | + |
| 71 | +## What Results Mean |
| 72 | + |
| 73 | +- **Caught/TestFail**: Tests detected the mutation (good) |
| 74 | +- **Uncaught**: Mutation survived — indicates untested logic |
| 75 | +- **Timeout**: Tests took too long, inconclusive |
| 76 | +- **Skipped**: A more severe mutant already failed on the same line |
0 commit comments