-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
The current HTML report is a static artifact. While useful for CI, it lacks the interactivity needed for deep exploration during development. This feature proposes a local development server that hosts a live, hot-reloading visualization of the architecture.
Problem
- Static reports become stale immediately after a code change.
- Developers need to run
archctl lint --format htmlrepeatedly to see the effect of their refactoring. - Debugging complex cyclic dependencies is hard without an interactive tool to expand/collapse nodes.
Proposed Solution
Implement archctl serve which starts a local web server (e.g., http://localhost:3000).
Key Capabilities
- Hot Reloading: The server watches the file system. When a file changes, it re-runs the graph analysis and pushes updates to the browser via WebSockets.
- Interactive Filtering:
- "Show me only the path between
OrderServiceandPaymentGateway." - "Highlight all violations in red."
- "Collapse all files into their parent modules."
- "Show me only the path between
- Code Navigation: Clicking a node in the graph could open the corresponding file in VS Code (via
vscode://URL scheme).
Implementation Details
- Use a lightweight server (e.g.,
viteorexpress). - Frontend graph visualization using
d3.jsorcytoscape.js(building on the existing HTML report logic).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request