Skip to main content

ovecc advise

The agent surface: every finding touching one file/module/component, each with its established fix. Call it before editing something. The output has two parts: the persisted findings whose evidence touches the target, then the component-level design smells around it.

Usage: ovecc advise [OPTIONS] <TARGET>

Example

$ ovecc advise src/core/db.ts
Advise for src/core/db.ts: 3 finding(s), 1 design smell(s)

[High] Circular dependency: core -> services -> core
Rule: circular-dependency
Evidence: src/core/db.ts:2 (core -> services: ../services/billing)
Evidence: src/services/billing.ts:1 (services -> core: ../core/db)
Fix: Invert one dependency or extract the shared module both sides depend on. (auto-fixable: no)

[High] core -> services
Rule: core must stay foundational
Evidence: src/core/db.ts:2 (../services/billing)
Fix: Route through the allowed boundary or move the code to the correct layer/domain. (auto-fixable: no)

[Low] Unused type export: Row in src/core/db.ts
Rule: unused-type
Evidence: src/core/db.ts:4 (type-only)
Fix: Drop the `export` keyword (or delete the symbol if it is unused internally too). (auto-fixable: yes)

[Medium] Cyclic Dependency — src/core <-> src/services (confidence 1.00)
Evidence: cycle_size=2 (>= 1), src/core/db.ts:2 — cycle_edge=1 (...), src/services/billing.ts:1 — cycle_edge=2 (...)
Fix: Break the cycle: invert one dependency or extract the shared core both sides depend on. [Dependency Inversion / Extract shared module]

Why agents should lead with this

Before an agent (or a human) edits src/core/db.ts, one call answers:

  1. What's already wrong here — so the edit doesn't compound it.
  2. What the established fix is — so remediation follows the codebase's own conventions, not invention.
  3. What is auto-fixable — so mechanical cleanup can be delegated to fix.

Over MCP this is the ovecc_advise tool; see AI agents.

Options

Takes a <TARGET> — file path, module, or component (see targets) — plus the global options.

  • diagnose — the whole-repo view
  • explain — the target's role, not its problems