2.6 KiB
LikeC4 template
A small, vendor-neutral starter for describing software architecture with LikeC4. The included fictional Parcel Workshop model demonstrates a system boundary, two services, one relationship kind, and one view without prescribing a real architecture.
Prerequisites
- Node.js 22.22.3 or newer
- npm
Setup
npm ci
npm start
The development viewer serves the model locally and reloads when LikeC4 sources change.
Scripts
| Command | Purpose |
|---|---|
npm start |
Start the local LikeC4 viewer. |
npm run dev |
Start the local LikeC4 viewer. |
npm run validate |
Validate the model. |
npm run format |
Format LikeC4 sources. |
npm run format:check |
Check LikeC4 source formatting. |
npm run build |
Build the static viewer into dist/. |
npm run export:drawio |
Export Draw.io files into generated/drawio/. |
npm run export:png |
Export PNG files into generated/png/. |
npm run export:json |
Export the model into generated/model.json. |
Layout
likec4-template/
|-- .opencode/skills/likec4/ LikeC4 guidance for OpenCode
|-- docs/modeling-conventions.md
|-- src/specification.c4 Element and relationship kinds
|-- src/model.c4 Architecture elements and relationships
|-- src/views.c4 Diagram views
|-- AGENTS.md Project instructions for OpenCode
|-- likec4.config.json LikeC4 project configuration
|-- opencode.json OpenCode project configuration
|-- package.json npm scripts and LikeC4 dependency
`-- package-lock.json Reproducible npm dependency lock
Replace the starter
- Replace the fictional elements and relationships in
src/model.c4. - Keep only the kinds used by your model in
src/specification.c4. - Update
src/views.c4to show the perspectives your readers need. - Keep the relationship-kind table in
docs/modeling-conventions.mdsynchronized with the specification. - Run
npm run format,npm run validate, andnpm run build.
LikeC4 merges source files, so a larger model can be split into additional *.c4 files under src/ while retaining the specification/model/views separation.
Generated output
Build output is written to dist/; exports are written to generated/. Both directories are ignored by Git and can be recreated from the model sources.
OpenCode support
opencode.json loads the project instructions in AGENTS.md. The bundled .opencode/skills/likec4/ skill supplies LikeC4 documentation and directs model changes to follow docs/modeling-conventions.md and pass npm run validate.