ContourThe shape of your system, traced end to end for developers and AI agents alike. When AI tools help write code, they're usually looking at one file at a time. They don't automatically know that a React component calls a specific API endpoint, that endpoint calls three layers of services and repositories, or that a scheduled job quietly writes to the same table. That gap leads to two common problems: agents editing one side of a contract without touching the other, and developers spending real time reconstructing a flow by hand across five files just to make a safe change. Contour builds a live map of your codebase's real call chains from a UI click, through your REST API, through your service and repository layers, down to the database and makes that map available three ways: inline in your editor, as a shareable visual report, and as compact, accurate context you can hand directly to an AI agent. RequirementsThis extension is built for a Java / Spring Boot backend paired with a React / JavaScript or TypeScript frontend. It works with a single service or multiple microservices in the same workspace. It is not a general-purpose tool for other stacks if your backend uses something other than Spring MVC-style controllers, or your frontend doesn't use Open your backend and frontend folders together in one VS Code workspace (multi-root) to get the full picture. A backend-only or frontend-only workspace still works, with reduced cross-linking. What it doesEndpoint ↔ consumer mappingSee directly above each Full call chain tracingFollow a request all the way from the controller through your service layer, into your repository layer, and down to the actual database operation including the derived query or Drift detection (opt-in)Catch it when a path, method, or DTO field changes on one side of a contract and the other side wasn't updated to match flagged inline as you edit, with an escape hatch for intentionally versioned endpoints. Off by default; turn it on once you're ready to rely on it. Test coverage overlaySee, right next to each endpoint, whether it's covered by a real test pulled from your existing JaCoCo and Jest/Vitest coverage reports, not recomputed. No report found is shown honestly, not as a misleading 0%. AI context exportCopy a compact, accurate summary of one endpoint its full call chain, its real consumers, its test coverage, its use case straight to your clipboard, ready to paste into a prompt. This is the difference between an AI agent guessing at your architecture and knowing it. Use-case taggingGroup related flows under a human-readable label "Order Checkout," "User Onboarding" with an optional Jira key and free-form tags. Browse everything under one label in the sidebar, or export it as one combined context block. Visual HTML reportExport a single, self-contained HTML file showing your whole traced system grouped by use case, filterable by type and coverage status that anyone can open in a browser, no extension required. Share it in a wiki, a PR description, or with someone who doesn't use VS Code at all. Beyond REST: schedulers, service calls, and eventsContour doesn't stop at HTTP. It also traces:
SOLID structural lint (opt-in)Get a gentle nudge, not a hard error, when a controller reaches directly into a repository and skips the service layer. Off by default. Getting started
Commands
Settings
Good to know
FeedbackFound something that looks wrong, or a pattern this doesn't recognize? That's genuinely useful to know please open an issue with what you found. |