Comparison
Chiltepin vs Structurizr: one model or one document
Structurizr is the reference implementation of the C4 model: an open-source DSL where you define the software model once and derive as many views as you need, a CLI that validates and exports it, and a hosted or on-premises workspace to browse it. If C4 is your standard, it is the most complete tool for it. Chiltepin is a documentation tool that happens to have a good C4 block: architecture is one family among thirteen, the author is usually an agent, and the check runs on the whole document.
Side by side
| Structurizr | Chiltepin | |
|---|---|---|
| Source format | The Structurizr DSL: one workspace file that defines the model once and many views over it | Markdown with typed YAML blocks; a c4 block per view, each self-contained |
| Who draws the layout | Auto-layout in the tooling, or manual layout saved with the workspace | The renderer, from the data — no layout to save, nothing to drift |
| AI agent workflow | None built in; an agent can write the DSL if you teach it | A skill your agent installs; it picks the level, writes the block, runs the validator |
| Validation in CI | The CLI validates the DSL and can export views | chiltepin check validates every block in every doc, refs across docs, and fails the build |
| Diagram types | The C4 set: system landscape, context, container, component, plus dynamic and deployment views | C4 context and container levels, plus dozens of other block types for the rest of the document |
| Output formats | Exports to PlantUML, Mermaid, D2, DOT and others; hosted and on-prem viewers; check their site for the list | Static site, standalone HTML, slide deck, PDF — one renderer, one look |
| Hosting and price | The DSL and CLI are free; a hosted service and an on-premises installation exist — check their site for terms | Free. npx runs the CLI; the browser Studio needs no signup |
| Open source / licence | The DSL, CLI and Lite are open source (Apache 2.0) | MIT |
| Best for | Architecture teams standardising on the C4 model, who want one model with many views | Teams whose agent documents systems end to end — architecture, flows, contracts, decisions — in one grammar |
When to pick Structurizr
Pick Structurizr if the C4 model itself is the asset: you want one authoritative model of elements and relationships, several views generated from it, deployment and component levels, and exports to the diagram tools your organisation already uses. An architecture team standardising on C4 across many systems gets more from Structurizr’s model-first design than from any single-document tool.
When to pick Chiltepin
Pick Chiltepin if the C4 view is one section of a document that also needs the sequence of the login flow, the endpoint contract, the threat register and the decision record — and your agent is writing all of it. One grammar, one validator, one renderer, one command to a site or deck. If you later need the full C4 model, the c4 block’s vocabulary is the same, so the move is a rewrite of structure, not of content.
What a Chiltepin block looks like
This is the c4 starter template at container level: people, systems, containers and stores in a grid the author names by column and row, with a labelled, typed relationship on every edge — the vocabulary Structurizr users already know.
```c4
title: System context
level: context
nodes:
- { id: user, col: 1, row: 1, kind: person, name: Shopper, desc: A customer placing an order. }
- { id: app, col: 2, row: 1, kind: system, name: ShopCo, desc: The retail platform. }
- { id: pay, col: 3, row: 1, kind: external, name: Payment GW, desc: Stripe authorisation. }
edges:
- { from: user, to: app, label: places order }
- { from: app, to: pay, label: authorises }
```Every block on this site is rendered this way, at build time, by the same pipeline chiltepin build runs. See the block catalog, the 40 documents an agent wrote, or the other comparison, Chiltepin vs Mermaid.
Frequently asked questions
- Does Chiltepin support the C4 model?
- Yes: the c4 block renders context and container views with the C4 vocabulary — person, system, container, store, external — and a kind and tech on each relationship. chiltepin check warns when a relationship has no label. The block does not implement the full C4 model-with-views idea; each block is one view, written directly.
- What does Structurizr do that Chiltepin does not?
- Structurizr’s core idea is one model, many views: you define elements and relationships once, and each view selects from that model, so a rename propagates everywhere. Chiltepin has no shared model; each c4 block is complete on its own, and consistency across blocks comes from doc#id references and the validator, not from a model. Structurizr also covers component, deployment and dynamic views, which Chiltepin expresses with other blocks (pkg, cluster, sequence).
- Can my agent write Structurizr DSL instead?
- It can, and the DSL is well documented. The difference is what happens after: with Chiltepin the agent has a skill that tells it which block answers which question, a schema-generated reference (chiltepin block c4) and a validator with stable codes and hints, so the first draft passes far more often. That loop is the product.
- Is Chiltepin only for architecture?
- No. Structurizr is deliberately architecture-only. Chiltepin covers dozens of block types across thirteen families — API contracts, data models, flows and state, charts, planning, decisions, quality — so the C4 view sits in the same document as the endpoint list and the ADR, in one grammar.
- Is Chiltepin free?
- Yes. MIT-licensed; the CLI runs with npx and the hosted Studio needs no signup. Structurizr’s DSL and CLI are also free and open source; its hosted service has its own terms — check their site.