Repotoire vs ESLint
ESLint is the industry-standard linter for JavaScript and TypeScript. Repotoire is a local agent-processor runtime for explicit development workflows. They solve different problems and can coexist in a serious engineering workflow.
Feature Comparison
| Feature | Repotoire | ESLint |
|---|---|---|
| Execution model | agent-processor runtime for development work | Per-file rule-based linting |
| Runtime state | .machine state, events, evidence, and traps | No persistent workflow state |
| Work contract | Machine programs with explicit opcodes | Rules configured in eslint.config.js |
| Cross-worker coordination | Scoreboard hazards and write claims | No worker coordination model |
| Verification | Evidence packets and gate verdicts | Rule pass/fail results |
| Provider adapters | Codex, Claude, MCP, local runners | Editor and build integrations |
| Writeback | Explicit COMMIT gate | Deterministic --fix for rules |
| Precise traps | Stops stale or unsafe writeback | Not a workflow runtime |
| Code style / formatting | No (not a formatter) | Yes (with stylistic plugins) |
| CI/CD integration | Explicit CLI reports and team-approved gates | Universal (any CI, formatters, SARIF via plugin) |
| Pricing | Commercial private beta | Free and open source |
Different Tools, Different Jobs
ESLint operates per-file.It parses each JavaScript or TypeScript file individually, applies rules to the AST, and reports violations. It's excellent at catching code style issues, potential bugs, unused variables, and enforcing team conventions. With its plugin ecosystem, you can add React hooks rules, accessibility checks, import ordering, and thousands of other checks.
Repotoire operates as a local Machine. It records explicit program state, worker packets, evidence, write claims, verification gates, and precise traps. These are workflow semantics that per-file linting does not try to provide.
What ESLint Catches That Repotoire Doesn't
- •Code style and formatting (semicolons, indentation, naming conventions)
- •Framework-specific rules (React hooks order, Vue template syntax, accessibility)
- •Import ordering and organization
- •Deterministic auto-fix for hundreds of rules
- •Highly customizable per-rule configuration
What Repotoire Catches That ESLint Can't
- ✓Circular dependencies detected via Tarjan's strongly connected components
- ✓God classes identified through fan-in/fan-out graph metrics
- ✓Architectural bottlenecks via PageRank and betweenness centrality
- ✓Hidden coupling from git co-change temporal analysis
- ✓Community misplacement via Louvain clustering
- ✓Single points of failure (articulation points in the call graph)
- ✓Cross-language analysis (same tool for Python, Rust, Go, Java, and more)
Using Both Together
Repotoire and ESLint are complementary tools. A recommended setup for JavaScript/TypeScript projects:
ESLint (on every save)
Code style, per-file bugs, React hooks rules, import ordering, accessibility. Runs in your editor with instant feedback.
Repotoire (runtime gate)
Machine state, evidence packets, verification gates, worker hazards, and explicit writeback. Runs when agent work needs an inspectable contract.
# Example CI pipeline - name: Lint (ESLint) run: npx eslint . - name: Architecture check (Repotoire) run: repotoire machine report . --format json
Setup
Repotoire
# Install Provided during private beta onboarding # Inspect local Machine state repotoire machine report .
Beta onboarding maps the runtime to your repo, policy gates, and adapter trust model.
ESLint
# Install npm init @eslint/config@latest # Lint npx eslint .
Requires a config file. Highly configurable with plugins, presets, and overrides.
Verdict
This isn't an either/or choice. ESLint is the best tool for JavaScript/TypeScript per-file linting — it has an unmatched plugin ecosystem and deep framework integration. Repotoire is the runtime for making agent-driven repo changes explicit and inspectable.
Use ESLint to keep individual files clean. Use Repotoire when work needs machine state, evidence, gates, traps, and explicit writeback.
Give agent work a runtime
Keep ESLint for linting and use Repotoire when repo-changing work needs machine programs, source-pipeline evidence, precise traps, and MCP adapters.
repotoire machine report .