Diagrams¶
PNG diagrams, for the cases where an inline diagram will not do.
Mermaid is the default in this repo. Write diagrams inline in the page that uses them, in a fenced ```mermaid block. GitHub renders it natively, it stays editable in the markdown, and it diffs as text in review. See docs/ARCHITECTURE.md for the full convention.
Use a PNG here only when the diagram is too dense to read as inline text: large multi-region topologies, detailed multi-service reference architectures. If you are unsure, write it in Mermaid first and see whether it reads.
Layout¶
Organised by topic. Subdirectories are created lazily as content grows:
assets/diagrams/
βββ architecture/ # Architecture patterns (3-tier, microservices, event-driven, etc.)
βββ ai/ # AI/ML topics (RAG pipelines, attention, agent loops)
βββ cloud/ # Cloud primitives (regions, VPC topologies, storage)
βββ networking/ # Networking deep dives (DNS flow, BGP, load balancing)
βββ security/ # Security and identity flows (OAuth, IAM, zero trust)
Authoring¶
- Create diagrams in draw.io (or the draw.io MCP server when available).
- Export at 2x resolution for retina displays.
- Keep file size under ~200 KB for inline use.
- Commit the editable
.drawiosource alongside the exported.pngso others can edit it.
Embedding¶

Always include alt text. It matters both when the image fails to render and for screen-reader users.