ESLint Plugin
Package: eslint-plugin-mima
The ESLint plugin catches AI library calls that are not wrapped with
mima.attest() at lint time — before the guard can detect them at runtime,
and before the TypeScript SDK can wrap them.
It answers the question: “Do I have unattested AI calls in my TypeScript/JavaScript code?”
Install
Configure
ESLint flat config (recommended, ESLint 8+)
Legacy .eslintrc
Rule: no-unattested-ai-call
Flags direct calls to AI library methods that are not inside a mima.wrap()
or mima.push() call.
What it detects
What it allows
AI libraries detected
Severity levels
Inline disable
When you intentionally make an unattested call (e.g. a health-check ping):
CI integration
Add to your CI pipeline to block merges with unattested AI calls:
The rule reports a non-zero exit code on violations, blocking the merge.
Relationship to the runtime guard
Use all three for defence-in-depth. The ESLint plugin is the earliest signal; the runtime guard catches what static analysis misses.
