loam 0.0.2
loam: ^0.0.2 copied to clipboard
Codebase intelligence and anti-AI-slop for Dart & Flutter: dead code, cycles, duplication, complexity and architecture drift, behind a baseline/ratchet CI gate.
Codebase intelligence & anti-AI-slop for Dart & Flutter.
loam.dev is the product;
loamis this CLI command and pub.flutter-io.cn package. Web: getloam.dev · Source: github.com/silvio-l/loam
loam catches the structural drift and AI-generated slop that
dart analyze never sees — behind a baseline/ratchet CI gate that never paints a
grown codebase red on day one. Built on the Dart analyzer package: semantically
accurate, project-wide, offline by default.
What it catches #
| Structural drift (deterministic, semantic) | AI-slop (deterministic + optional LLM) |
|---|---|
| Unused public exports, files, members | Empty / swallowing catch blocks |
| Circular dependencies | Narrative filler comments |
| Code duplication (AST-normalised) | Ungrounded // ignore: |
| Complexity hotspots + health score | Duplicated helpers, dead guards |
| Architecture-boundary violations | Hallucinated / superfluous abstractions |
What makes it different #
- 🌱 Semantic, not regex — resolved Dart element model + project-wide graphs.
- 🔒 Baseline / ratchet gate (default) — freeze today's findings; only new ones fail CI.
- ♻️ Reproducible even with an LLM — verdicts cached by
sha(code)+prompt@ver, fixed thresholds decide. Same code = cache hit = stable verdict, zero token cost. - 📄 Self-contained HTML report — one offline file; toggle findings, copy a fix-prompt for your AI agent.
Install #
dart pub global activate loam
Quick start #
🚧 Early development. The walking skeleton wires the pipeline and the tracer rule (
unused-public-exports); the remaining capabilities land as individual rules. Commands below are the target surface.
loam scan # full audit: every active rule, whole repo
loam baseline --write # freeze the accepted state
loam gate # CI: ratchet — only new findings fail
Status #
Walking skeleton in progress. Founding spec, domain glossary and architecture decisions live in the repository.
License #
MIT © 2026 Silvio Lindstedt