| name | mess-benchmark |
| description | Benchmark the handover mess command on real-world open source projects. Use when the user wants to test mess transformations at scale, benchmark performance on large repos, or validate mess output quality. Triggers on "benchmark mess", "test mess on real projects", "run mess on fixtures", or similar requests. |
Mess Benchmark
Run handover mess on large open-source fixture repos to benchmark transformations and validate output.
Fixture Repos
Located in fixtures/ as git submodules:
| Language | Repo | Path | Glob Pattern |
|---|
| Rust | Next.js crates | fixtures/nextjs/crates | **/*.rs |
| JS/JSX/TS/TSX | Next.js | fixtures/nextjs/examples | **/*.{js,jsx,ts,tsx} |
| Go | Gin | fixtures/gin | **/*.go |
| Python | FastAPI | fixtures/fastapi | **/*.py |
| CSS | Next.js | fixtures/nextjs/examples | **/*.css |
| HTML | Bootstrap | fixtures/bootstrap | **/*.html |
Benchmark Workflow
- Reset fixtures to clean state:
git submodule foreach 'git checkout . && git clean -fd'
- Run mess on target language:
./handover mess fixtures/nextjs/crates --glob "**/*.rs" --recursive --all --intensity 0.5
./handover mess fixtures/nextjs/examples --glob "**/*.{js,jsx,ts,tsx}" --recursive --all --intensity 0.5
./handover mess fixtures/gin --glob "**/*.go" --recursive --all --intensity 0.5
./handover mess fixtures/fastapi --glob "**/*.py" --recursive --all --intensity 0.5
./handover mess fixtures/nextjs/examples --glob "**/*.css" --recursive --all --intensity 0.5
./handover mess fixtures/bootstrap --glob "**/*.html" --recursive --all --intensity 0.5
- Analyze changes:
cd fixtures/<repo> && git diff --stat | tail -10
cd fixtures/<repo> && git diff <file> | head -80
- Report results with:
- Files processed count
- Insertions/deletions summary
- Sample transformation examples
- Any errors encountered
Quick Full Benchmark
Run all languages sequentially:
git submodule foreach 'git checkout . && git clean -fd'
./handover mess fixtures/nextjs/crates --glob "**/*.rs" -r --all -i 0.5
./handover mess fixtures/nextjs/examples --glob "**/*.{js,jsx,ts,tsx}" -r --all -i 0.5
./handover mess fixtures/gin --glob "**/*.go" -r --all -i 0.5
./handover mess fixtures/fastapi --glob "**/*.py" -r --all -i 0.5
./handover mess fixtures/nextjs/examples --glob "**/*.css" -r --all -i 0.5
./handover mess fixtures/bootstrap --glob "**/*.html" -r --all -i 0.5