Back to blog

The CLAUDE.md Architecture Diagram: Make Your AI Context File Do Double Duty (2026)

How to write an architecture diagram that doubles as a CLAUDE.md context file for AI coding agents. A step-by-step guide for vibe coders and agentic engineering teams using Claude Code, Cursor, and Windsurf.

R
Ryan·Senior AI Engineer
·

Most teams treat CLAUDE.md and architecture diagrams as two separate artifacts. The diagram lives in Confluence or Notion. The context file gets written once, goes stale, and the AI coding agent starts making wrong assumptions about the codebase within a week. This guide shows you how to close that gap — producing a single artifact that works as both a visual architecture diagram and a high-fidelity AI context document.

If you're building with Claude Code, Cursor, or Windsurf, this is the highest-leverage documentation investment you can make. A well-structured architecture-as-context file cuts hallucinated file paths, wrong tech stack assumptions, and repeated clarifying questions by an order of magnitude.

Why CLAUDE.md and architecture diagrams share the same information

Look at what a useful CLAUDE.md contains and what a good architecture diagram shows side by side:

Architecture diagram elementCLAUDE.md equivalent
Service boxes and their namesService inventory with purpose and repo paths
Technology labels on each serviceStack section: language, framework, runtime
Data flow arrows between servicesIntegration patterns: REST, gRPC, Kafka topics
Data stores and databasesStorage section: DB name, ORM, connection patterns
External APIs and third-party servicesExternal dependencies: API names, auth method, SDK used
Trust and security boundariesAuth model: who is authenticated, which tokens are used
Deployment topology (cloud regions, environments)Deployment: provider, infra-as-code tool, CI/CD pipeline

The overlap is near-total. The difference is format: a diagram is spatial and visual; a CLAUDE.md is linear and textual. When you generate your architecture diagram with AI, you get the visual artifact almost for free. The context file is just a structured prose summary of the same information — and AI can generate that from the diagram description you already wrote.

Step 1: Write a context-rich architecture diagram prompt

The secret to a diagram that doubles as context is specificity. Generic prompts like "draw my microservices architecture" produce pretty pictures with no textual precision. You need named components, real technology choices, and actual data flow semantics. Here is a template:

"[Product name] is a [type of application] built on [primary language/framework]. The frontend is a [framework] app served from [hosting]. It communicates with a [backend framework] API server running on [hosting/cloud]. The API persists data in [database] accessed via [ORM/driver]. User authentication is handled by [auth provider] using [OAuth/JWT/session] tokens stored in [storage]. Background jobs run on [job queue/scheduler]. The following external APIs are integrated: [list each with its purpose]. File storage uses [service]. Email is sent via [service]. The monorepo/repo structure is: [folder layout]. The CI/CD pipeline is [tool], deploying to [environment]. Show all services as named boxes with their tech stack labeled, all data stores, all third-party integrations, and all synchronous + asynchronous communication paths with protocol labels."

Paste this into ArchitectureDiagram.ai and generate your diagram. The filled-in version of this prompt is also the raw material for your CLAUDE.md.

Step 2: Generate the diagram

Once you have a complete diagram showing all services, their technologies, their connections, and the deployment topology, export it or screenshot it for your architecture documentation. The visual is the artifact you share with engineers, PMs, and stakeholders. But the work isn't done — you still need the AI context file.

Step 3: Convert the diagram description into a CLAUDE.md structure

Take the same prompt you used to generate the diagram and restructure it into the sections that AI coding agents expect. The canonical CLAUDE.md structure that works best with Claude Code and Cursor has these sections:

Project overview (2-3 sentences)

One concise paragraph: what the product does, who uses it, and the architectural style (monolith, microservices, serverless). This is the "context at a glance" that the agent reads first on every session start.

Tech stack section

A flat list or small table: language, framework, runtime version, primary libraries. Include versions where they matter — React 19 vs 18 behave differently; Next.js App Router vs Pages Router is a significant context switch. The agent uses this to pick the right API surface when writing code.

Architecture section (mirrors the diagram)

Describe the key services and how they connect — this is the prose version of your diagram. Include: the frontend and where it's hosted; the API server and its entry point; all data stores with their purpose; the auth flow; the job queue if any; the primary external integrations. Keep it under 300 words. The agent doesn't need the diagram itself — it needs the precise component names and integration patterns.

Key patterns and conventions

This is where most CLAUDE.md files fall short. List the non-obvious patterns in your codebase:

  • How are environment variables accessed? (direct process.env, validated schema, config object)
  • Which directory holds shared types? Which holds API route handlers?
  • Is error handling centralized or per-route?
  • What is the naming convention for files, functions, and database columns?
  • Are there any RLS policies or access control patterns the agent must respect?

These are exactly the things an architecture diagram's annotation layer captures — now written out explicitly for the agent.

Commands section

The four commands the agent will run most often: dev server start, test runner, linter, and build. Include any non-standard flags or environment requirements. If tests require a running DB, say so here.

The compound benefit: one source of truth

When you build the diagram and the CLAUDE.md from the same structured prompt, updating one forces you to update the other. If you add a new external API integration, you update the diagram description → regenerate the diagram → update the architecture section in CLAUDE.md. The diagram becomes the living source of truth; the CLAUDE.md becomes its textual projection.

Teams that do this report two immediate wins: the AI coding agent makes fewer wrong assumptions (because it has accurate context), and onboarding new engineers is faster (because the diagram and the agent context file agree, and new engineers can ask the agent questions that get accurate answers).

Diagram prompt: full-stack SaaS app (ready to use)

"Full-stack SaaS application architecture. The frontend is a Next.js 16 App Router application hosted on Vercel, using React 19 and Tailwind CSS 3. The frontend calls a Next.js API route layer for server-side operations. Authentication is handled by Supabase Auth (email/password + Google OAuth) — on signup, the callback route creates a Stripe customer and stores the mapping in the Supabase stripe_customers table. User data and application state are stored in a Supabase Postgres database with Row Level Security. Transactional email is sent via Resend using the Resend Node.js SDK. Payments use Stripe Payment Links (no direct Checkout Session API). The app is deployed on Vercel with environment variables for Supabase URL, Supabase anon key, Supabase service role key, Stripe secret key, and Resend API key. Show the user browser, the Vercel-hosted Next.js app (frontend + API routes), Supabase Auth, Supabase Postgres, Stripe, Resend, and Google OAuth as labeled boxes. Show the auth callback flow as a sequence of arrows: browser → Supabase Auth → /auth/callback → Stripe (create customer) → Supabase (store mapping) → redirect to app."

Cursor rules and Windsurf rules follow the same pattern

The same approach applies to .cursor/rules (Cursor) and .windsurfrules (Windsurf). Both tools inject these files as system context at the start of each agent session — the same way Claude Code reads CLAUDE.md. The content is identical in structure; only the filename and some formatting conventions differ. If you maintain one, you can generate the others automatically.

Frequently asked questions

What is a CLAUDE.md file?

A CLAUDE.md file is a Markdown document that Claude Code reads at the start of every session and injects as system context. It tells the agent what the project does, what tech stack it uses, where things are in the codebase, what conventions to follow, and which commands to run. CLAUDE.md files placed in the repo root apply to the entire project; files in subdirectories can provide component-specific context. They are the primary mechanism for customizing Claude Code's behavior without modifying its configuration or prompts.

How long should a CLAUDE.md file be?

Between 200 and 800 words for most projects. Shorter than 200 words and the agent lacks enough context to make good decisions about file paths, naming, and patterns. Longer than 800 words and you are writing documentation nobody reads — including the agent, which has to spend tokens processing it. Focus on the non-obvious: the stack and entry points are essential; the full API reference for your dependencies is not. If a section is duplicating what an LLM already knows from public docs, cut it.

Should the CLAUDE.md describe the architecture diagram or embed it?

Describe it in prose, not embed it. Architecture diagram image files are binary; CLAUDE.md is a text file injected as system context. The agent cannot see images unless you explicitly pass them in the conversation. What works is a precise prose description of the architecture — the same description you used to generate the diagram — so the agent can reason about component boundaries without needing to parse a visual. You can link to the diagram image for human readers.

How do I diagram a CLAUDE.md architecture for review with stakeholders?

Take the architecture section of your CLAUDE.md, paste it into ArchitectureDiagram.ai as a plain English description, and generate a diagram. Since the CLAUDE.md uses precise component names and technology labels, the generated diagram will be accurate without additional editing. Export it as a PNG or share the live link for stakeholder reviews, design docs, or ADRs.

Related guides: AI coding agent architecture, MCP architecture diagrams, living architecture diagrams, and vibe coding architecture.

Ready to try it yourself?

Start Creating - Free