Will It Vibe?
DEP-015Low severity-4 points

Possible circular import

Part of Dependencies & Hygiene, which counts for 10% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.

What it detects

Two local modules appear to import from each other -- a heuristic signal of a circular dependency.

Why it matters

When two modules import each other, one of them executes before the other has finished loading, so an import resolves to undefined or a half-built module object. The failures are timing and order dependent: everything works until an unrelated refactor changes load order, then you get "x is not a function" errors far from the real cause. Untangling the cycle now keeps that class of bug out of production.

How to fix it

First confirm the cycle, since this check is a filename-based heuristic: npx madge --circular src/ (or dpdm) maps real import cycles in JS/TS. To break a confirmed cycle, move the shared pieces both modules need into a third module they both import, so the dependency arrows point one way. If only type information crosses the boundary in TypeScript, switching those to import type also breaks the runtime cycle without moving code.

The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing

Does your repo trip this check?

Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.

Scan your repo

Related Dependencies & Hygiene checks