| Crates.io | ruchy-reaper |
| lib.rs | ruchy-reaper |
| version | 1.0.0 |
| created_at | 2025-11-01 11:28:02.127825+00 |
| updated_at | 2025-11-01 11:28:02.127825+00 |
| description | Rogue process detection and termination tool - Pure Ruchy showcase CLI with 100% test coverage |
| homepage | |
| repository | https://github.com/paiml/reaper |
| max_upload_size | |
| id | 1911917 |
| size | 4,573,601 |
Pure Ruchy Showcase CLI Tool
Automatically detect and terminate rogue background processes consuming excessive CPU/memory.
Based on actual incident (2025-10-31): 17 rogue processes manually killed:
/tmp/test_ch04_debug at 99.9% CPU for 5+ hourscargo-nextest, pmat mutation test) for 5+ daystail -f) running for 12+ daysSolution: Automated detection and safe termination based on configurable rules.
# From crates.io (when published)
cargo install reaper
# From source
git clone https://github.com/paiml/reaper
cd reaper
cargo build --release
# Scan for rogue processes
reaper scan
# Kill rogue processes interactively
reaper kill --all
# Start background daemon
reaper start
# Check daemon status
reaper status
# Dry-run mode (detect without killing)
reaper scan --dry-run
This project uses Ruchy, a language that transpiles to Rust:
# Build (auto-transpiles .ruchy → .rs)
cargo build
# Run
cargo run
# Tests
cargo test
# All 15 Ruchy quality tools
ruchy check src/
ruchy lint src/
ruchy score src/
# ... see roadmap.yaml for full list
This is a showcase project for Ruchy v3.155.0 demonstrating:
Quality Metrics (verified with PMAT v2.183.0):
Note: Some Ruchy tools have limitations with v3.155.0's new struct/enum features. See SPRINT7_STATUS.md and GitHub Issues #107-110 for details.
See roadmap-v3.155.yaml for complete development plan.
reaper/
├── src/
│ └── main.ruchy # Single-file implementation (4,606 lines)
│ # Contains: data structures, scanner, detector,
│ # terminator, logger, config, CLI, and 100 tests
├── docs/ # Documentation
├── roadmap-v3.155.yaml # PMAT-style ticket roadmap
├── ARCHITECTURE.md # Design rationale for single-file approach
├── UNBLOCKED.md # Ruchy v3.155.0 capabilities assessment
├── LICENSE # MIT License
└── Cargo.toml # Rust package manifest
Note: Single-file architecture required because Ruchy v3.155.0 doesn't yet support
multi-file modules. Will refactor to multi-file when module system is available.
See UNBLOCKED.md and ARCHITECTURE.md for details.
~/.config/reaper/reaper.toml:
[daemon]
enabled = true
scan_interval_seconds = 60
dry_run = false
[[rules]]
name = "infinite_loop"
enabled = true
cpu_percent_min = 90.0
duration_seconds = 300
See specification: reaper-watcher-tool-pure-ruchy.md
MIT
Bug discovery policy: STOP THE LINE
See CONTRIBUTING.md for details.