code-sketch
Code Sketch
Based on the following input, generate an ASCII art architecture diagram.
Input to diagram
$ARGUMENTS
Diagram rules
Use box-drawing characters (┌ ┐ └ ┘ │ ─ ├ ┤ ┬ ┴ ┼) to create clean boxes for each module, service, or major component. Group related components vertically or horizontally depending on their relationship (layers stack vertically, peers sit side by side). Place the entry point or top-level module at the top. Place the data/persistence layer at the bottom.
Use arrows (→ ← ↑ ↓) to show dependencies and data flow between components. Label each arrow with a short description of what flows through it (e.g., "HTTP request", "event", "query"). Use dotted lines (· · ·) for optional or async connections. Use solid lines for synchronous, hard dependencies.
Each box should contain: the component name, its primary language or framework in parentheses, and a one-line description of its responsibility. Size boxes proportionally to complexity. Use double-line borders (╔ ╗ ╚ ╝ ║ ═) for external services or third-party dependencies.
Below the main diagram, include a compact file tree showing the top 2-3 levels of the directory structure using ├──, └──, and │ characters. Annotate key files with a brief # comment.
Add a legend at the bottom explaining line styles, box styles, and arrow meanings.