app-control
FreeDrive an installed LaRuche App through its declared actions, never its files.
The English summary is being prepared. Showing the original description.
Clean up a diff for reuse, simplicity and efficiency, then apply the fixes.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Three focused reviewers run in parallel - each owns one category (reuse, quality, efficiency), searches the full codebase, then returns structured findings. You pay one round-trip of latency, not three.
Invoke only when the user explicitly asks. Three subagents cost real tokens - do not auto-run after every edit.
Optional modifiers:
| Modifier | Behavior |
|---|---|
focus on efficiency | Run only the efficiency reviewer (or weight that tier first) |
just report / dry run | Present all findings, apply nothing |
the last commit / staged / src/foo.py | Scope the diff (see Phase 1) |
Pick source in this order:
git diff # default: uncommitted working-tree changes
git diff HEAD # if above is empty
git diff --staged # user asks for "staged"
git diff HEAD~1 # user asks for "last commit"
git diff main...HEAD # user asks for "this branch" / "my PR"
git diff -- src/foo.py # specific file
Use shell_exec to run these. If all are empty and there's no git repo, fall
back to files the user named or recently edited. If there's nothing to review,
say so and stop.
Size warning: if the diff exceeds ~2000 changed lines, warn the user - three subagents each carrying that much context is expensive. Offer to scope down before proceeding.
Spawn three subagents concurrently via LaRuche's parallel task mechanism (e.g.
tool_call with batch/concurrent dispatch, or three simultaneous shell_exec
script invocations). Pass each the full diff text and the repo's absolute
path.
Give each reviewer these instructions:
file_search / shell_exec grep -r - never reason
from the diff alone.git blame on suspicious lines before
flagging them for removal. Unknown purpose → confidence: low.file:line → problem → fix | confidence: high/medium/low | risk: SAFE/CAREFUL/RISKY
Scan for code that duplicates functionality already in the codebase. Use
grep -r(viashell_exec) on utility modules, shared helpers, and adjacent files. Flag: new functions that duplicate existing ones; hand-rolled logic an existing utility already covers (path ops, env checks, type guards, parsing). For each finding, name the existing thing and its file:line.
Scan for: redundant state (values derivable from existing state); parameter sprawl (bolted-on params instead of restructuring); copy-paste blocks that should share an abstraction; leaky abstractions; stringly-typed code (raw strings where a constant/enum/registry exists - search the codebase first); AI slop patterns (
// increment counterabovecount++; defensive null-checks on already-validated inputs;as anycasts; style inconsistencies with the rest of the file). For each, give the concrete refactor.
Scan for: redundant computation, repeated reads, duplicate API calls, N+1 patterns; missed concurrency (sequential independent ops); hot-path bloat (heavy work on startup or per-request); TOCTOU pre-checks (existence check before op → do the op and handle error instead); memory leaks (unbounded growth, missing cleanup, listener leaks); overly broad reads (loading whole file when a slice suffices); silent failures (empty catch,
except: pass,.catch(() => {})- these hide bugs, at minimum log before swallowing). For each, give the concrete fix and why it's faster or safer.
correctness > user's stated focus > readability/reuse > micro-perf.
When two defensible fixes are mutually exclusive, pick the one touching less
code and note the alternative.file_edit:
shell_exec: run the project's targeted tests for touched
files plus any linter/type-check the repo uses. Revert fixes that break tests
and report them.file:line pointer
is noise. Drop findings that lack it.AGENTS.md, a CONTRIBUTING.md, an
.editorconfig. Put what you find into the reviewer prompts. A review that fights the
project's house style produces noise the user has to reject one item at a time.knip, ts-prune, depcheck flag exports used
dynamically. Always grep -r the symbol name before removing.requesting-code-review - pre-commit security/quality gate.test-driven-development - test coverage for changes being cleaned up.No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Drive an installed LaRuche App through its declared actions, never its files.
The English summary is being prepared. Showing the original description.
Find academic papers on arXiv, with citation counts and BibTeX.
The English summary is being prepared. Showing the original description.
Render text or an image as ASCII art for terminal-friendly output.
The English summary is being prepared. Showing the original description.
Track RSS/Atom feeds and blogs via blogwatcher-cli.
The English summary is being prepared. Showing the original description.
Drive a real web browser: navigate, read, find, click, fill, screenshot
The English summary is being prepared. Showing the original description.
Measure a codebase: lines of code, language mix, and symbol lookups.
The English summary is being prepared. Showing the original description.