EyeCov

Stop guessing what is tested.

EyeCov puts coverage straight into your editor, using the reports you already generate, so you can see what is covered, what is not, and what might bite back.

Field-tested support includes PHPUnit HTML, Cobertura XML, Clover XML, and LCOV.

Newer adapters include Istanbul/NYC JSON, JaCoCo XML, Go coverprofile, coverage.py JSON, and OpenCover XML.

AuthService.ts 49.0% (25/51)
31 export async function login(email: string, password: string) {
32 const user = await users.findByEmail(email)
33 if (!user) throw new AuthError("User not found")
34
35 const valid = await passwords.verify(password, user.hash)
36 if (!valid) throw new AuthError("Invalid password")
37 return tokens.issueFor(user)
38 }
39
40 // bootstrap wiring omitted

VS Code Extension

See exactly what your tests miss.

Covered lines, uncovered lines, file totals, gutter markers. EyeCov shows it all without leaving your editor. And when the data is stale, EyeCov hides it instead of lying with confidence.

  • Line highlighting for covered, uncovered, and format-provided uncoverable lines
  • Gutter markers, status bar coverage, and quick toggle commands
  • Edit-tolerant tracking for simple inserts and deletes
  • Broad format support, with newer adapters for Istanbul/NYC JSON, JaCoCo XML, Go coverprofile, coverage.py JSON, and OpenCover XML
BillingService.php Coverage: 61%
71 $invoice = $this->repository->findPending($accountId);
72 if (! $invoice) return null;
73
74 $result = $this->gateway->charge($invoice);
75 if (! $result->successful()) {
76 throw new ChargeFailed($result->message());
77 }
78 $this->repository->markPaid($invoice->id);
MCP · eyecov

tool call

coverage_test_priority({

limit: 3

})

result

{

scope: "project",

cacheState: "full",

items: [

{ filePath: "app/Domain/Automation/Foo.php", priorityScore: 92 },

{ filePath: "app/Domain/Workspace/Bar.php", priorityScore: 87 },

{ filePath: "app/Support/Baz.php", priorityScore: 80 }

]

}

MCP and AI Agents

Give agents real coverage, not vibes.

EyeCov ships with a built-in MCP server, backed by the exact same coverage data as the extension. Your agent can inspect a file, find which tests cover a line, and target the gaps that matter.

One source. Your editor and your agent see the same thing.

  • Built-in MCP server with coverage_file and coverage_line_tests
  • Aggregate views via coverage_path and coverage_project
  • Test targeting via coverage_test_priority
  • Detailed docs and capture guides at /docs