People and systems around the software
A C4 diagram places people and systems around the software you are explaining. Context shows the system and its neighbors. Container shows applications and data stores. Component shows the parts inside one container.
This is not the order of steps inside one function. That story is a sequence diagram or a flowchart. An architecture diagram is the other neighbor, for deployment zones and service dependencies rather than C4 levels.
Pick the C4 level on purpose
Use context when a new teammate needs the boundary. Use container when you are naming apps and databases. Use component only after one container is chosen. Do not mix all three levels in a single prompt.
Fix the level before the labels
1. Say which view you want
Start the prompt with context, container, or component. If the draft mixes a person, a database, and a class, regenerate with one level.
2. Mark outside systems as outside
Name systems your team does not build, such as a payment provider. The draft should show them as external, not as your containers.
3. Drop function steps
If the draft lists calls inside one method, move that detail to a sequence diagram and keep C4 at system, container, or component grain.
How to phrase the prompt
Name the software system, the people who use it, and the external systems it calls. For a container view, list each app and data store and the reason it exists. Avoid method names and branch logic.
Questions about C4 drafts
- Which level should a first picture use?
- Context. Add containers only after the people and external systems are agreed. Components come last, and only for one container.
- Why are there too many boxes?
- The prompt listed features. Replace feature names with systems and containers. A feature list belongs on a mind map or a flowchart.
- How is this different from an architecture diagram?
- C4 answers who and which systems surround the software. An architecture diagram answers which services depend on each other and where they are deployed.