llm-driven codebase-to-architecture diagram generation
Analyzes selected folder contents by sending full source code to GitHub Copilot, which performs language-agnostic structural inference to identify architectural components, relationships, and dependencies. Outputs Mermaid.js diagram syntax representing the inferred architecture. Uses LLM reasoning rather than deterministic AST parsing, enabling support across all programming languages without language-specific parsers.
Unique: Uses GitHub Copilot's LLM reasoning to infer architecture from source code without language-specific parsers, enabling universal language support and semantic understanding of architectural patterns that deterministic tools cannot capture. Locked exclusively to Copilot (no alternative provider support), which simplifies authentication but eliminates flexibility.
vs alternatives: Faster than manual diagram creation and more semantically aware than regex-based code analysis tools, but less deterministic and less customizable than dedicated architecture analysis frameworks like Structurizr or PlantUML with explicit syntax.
interactive folder selection and scoped code analysis
Provides a file picker dialog allowing users to select a specific folder within their VS Code workspace for analysis. Extension reads all files within the selected directory (excluding files outside workspace scope) and sends their full content to Copilot. Scope is strictly bounded to user-selected folder; no automatic recursive analysis of parent directories or external dependencies.
Unique: Provides explicit user control over analysis scope via interactive folder picker, ensuring only selected code is sent to Copilot. This is a privacy-first design choice that prevents accidental exposure of unrelated code, unlike tools that automatically analyze entire workspaces.
vs alternatives: More privacy-conscious than tools that automatically scan entire repositories, but less convenient than automated full-codebase analysis for users who want comprehensive architecture visualization without manual folder selection.
mermaid.js diagram code generation and editing
Generates Mermaid.js diagram syntax representing the inferred architecture and writes it to a markdown file in the `swark-output` folder with timestamp-based naming (`<date>__<time>__diagram.md`). Generated Mermaid code is human-readable and fully editable post-generation, allowing users to refine or customize diagrams after creation. Output is rendered in VS Code as markdown or via external Mermaid Live Editor link.
Unique: Outputs human-editable Mermaid.js syntax rather than binary image formats, enabling post-generation refinement and version control integration. This design prioritizes flexibility and collaboration over immediate visual polish.
vs alternatives: More editable and version-controllable than tools that output PNG/SVG images, but requires Mermaid knowledge and additional tooling for rendering compared to tools that generate ready-to-view diagrams.
github copilot-integrated authentication and api communication
Leverages existing GitHub Copilot authentication within VS Code, eliminating need for separate API key configuration or credential management. Extension communicates exclusively with GitHub Copilot API (no third-party services involved) to send code for analysis and receive diagram generation instructions. Authentication state is inherited from Copilot extension; no additional setup required beyond Copilot installation.
Unique: Eliminates separate credential management by piggybacking on GitHub Copilot's existing VS Code authentication, reducing user friction and centralizing API access control. This is a deliberate architectural choice to simplify onboarding but sacrifices provider flexibility.
vs alternatives: Simpler onboarding than tools requiring separate API key configuration, but less flexible than multi-provider tools that support OpenAI, Anthropic, and self-hosted models.
keybinding-triggered command execution
Provides keyboard shortcuts (`cmd+shift+r` on macOS, `ctrl+shift+r` on Windows) that invoke the `Swark: Create Architecture Diagram` command from the command palette. Keybindings are pre-configured and trigger the full analysis-and-generation workflow without requiring menu navigation or command palette typing.
Unique: Pre-configured platform-specific keybindings (macOS vs Windows) reduce setup friction compared to tools requiring manual keybinding configuration. However, rebinding capability is undocumented, limiting customization.
vs alternatives: Faster than command palette invocation for power users, but less discoverable than menu-based access for new users unfamiliar with keybindings.
timestamped diagram output organization
Automatically generates timestamped filenames (`<date>__<time>__diagram.md`) for each diagram and stores them in a `swark-output` folder at workspace root. Each diagram generation also produces a metadata log file containing run timestamp and list of analyzed files. This approach creates an audit trail of diagram generation history without overwriting previous diagrams.
Unique: Automatic timestamped file organization creates an implicit version history without requiring explicit versioning commands, enabling historical comparison of architecture diagrams. However, lack of cleanup strategy means users must manually manage folder growth.
vs alternatives: Better for historical tracking than tools that overwrite diagrams, but less sophisticated than dedicated version control systems that support branching, diffing, and cleanup policies.
optional test file inclusion for coverage visualization
Allows users to optionally include test files in the analysis input to enable visualization of test coverage relationships within the architecture diagram. Test files are treated as optional input metadata that Copilot can use to infer testing patterns and coverage across architectural components. Mechanism for enabling/disabling test file inclusion is undocumented.
Unique: Attempts to bridge architecture visualization and test coverage by including test files in LLM analysis, enabling semantic understanding of testing patterns. However, the feature is poorly documented and its actual output is unclear.
vs alternatives: More integrated than separate test coverage tools, but less precise than dedicated test coverage analysis frameworks that provide quantitative metrics and detailed coverage reports.
language-agnostic code analysis via llm inference
Supports all programming languages through LLM-based semantic analysis rather than language-specific parsers. Copilot infers architectural structure, components, and relationships from source code without requiring language-specific AST parsing or grammar rules. This approach enables universal language support but sacrifices determinism and precision of syntax-aware analysis.
Unique: Eliminates language-specific parser dependencies by relying on Copilot's LLM reasoning, enabling true universal language support without maintaining multiple grammar rules. This trades determinism for flexibility and ease of maintenance.
vs alternatives: More flexible than language-specific tools like Structurizr or PlantUML that require explicit syntax, but less precise than deterministic AST-based analysis that can guarantee structural accuracy.
+2 more capabilities