Sweeper dispatches parallel Claude agents to fix lint issues, run migrations, or refactor code across your repo—optionally inside a stereOS VM for isolation. Multi-round retry with escalating strategies. Every fix attempt recorded to tapes.
Sweeper works with any linter—golangci-lint, eslint, cargo clippy—or pipe in any structured output to drive file-level refactors. The --vm flag boots a stereOS VM with your API key injected via tmpfs. The orchestrator never reads source files directly—all file-level work happens inside isolated sub-agents.
--vm flag boots a dedicated stereOS VM with its own resources, so sub-agents run cleanly. Also useful for CI/CD: hermetic environment, secrets never touch the host filesystem.
claude --print invocation—no conversation state, no context window bloat. Work parallelizes, not concatenates.
Sweeper runs the linter, parses the output (supports golangci-lint, ESLint stylish, and generic file:line:col formats), groups issues by file, and dispatches parallel agents. Each agent gets a file-specific prompt with just its issues.
After round 1, sweeper re-runs the linter. Files with remaining issues get retried with escalating strategies: the retry prompt includes prior output so the agent tries a different approach. Stagnant files get an exploration prompt that encourages refactoring.
Sweeper logs every fix attempt to .sweeper/telemetry/ as JSONL and every LLM call to tapes. Run sweeper observe to see success rates by linter, round effectiveness, and strategy performance.
Sweeper’s core loop—parse issues, group by file, dispatch parallel agents, retry on failure—works for any measurable code improvement target. Find files over 1,000 lines and dispatch agents to refactor them in parallel:
file:line: message works as input. Sweeper parses it, groups by file, and dispatches agents. The VM, retry loop, escalation strategies, and telemetry all apply regardless of the source. The same tool that fixes ESLint warnings can split oversized files, resolve TODOs, or drive a database migration.
Any linter. Parallel agents. Escalating retries.
Every decision recorded.