Remove Explicit any Types
Finds every any type in your TypeScript code and replaces it with a real type.
Anyone whose codebase has any scattered through it from fast AI-written TypeScript.
The problem
Every any is a place where type checking is silently turned off. Finding them all by searching the codebase and deciding what the real type should be, one at a time, is slow and easy to give up on halfway through.
1. Work list
The command that lists every item. No AI involved.
npx eslint . --no-eslintrc --parser @typescript-eslint/parser --plugin @typescript-eslint --rule '{"@typescript-eslint/no-explicit-any":"error"}' --format json | jq -r '.[] | select(.errorCount>0) | .filePath'2. Unit of work
One item is one file that contains at least one explicit any type.
3. The check
The checker runs the same ESLint rule scoped to that one file. Exit code 0 means no any remains. Exit code 1 means one is still there, and the checker prints the line and column back to the AI.
4. Stopping rule
Each file gets up to 3 attempts, then quarantine, ending when the work list is empty.
What this cannot catch
This proves the word any is gone, not that the replacement type is correct. A wrong but specific type can still pass this check.
Build it
Install justloopit, then describe this task in your AI coding tool. It will ask about your project, then write the checker, the runner, and the spec.