Visualize, collaborate, and evolve the software architecture with always actual and live diagrams from your code
docs | playground | demo
LikeC4 is a modeling language for describing software architecture and tools to generate diagrams from the model.
LikeC4 is inspired by C4 Model and Structurizr DSL, but provides some flexibility.
You customize or define your own notation, element types, and any number of nested levels in architecture model.
Perfectly tailored to your needs.
LikeC4 source:
Run CLI to preview:
npx likec4 start
And result:
Template repository - likec4/template
Deployed - https://template.likec4.dev
StackBlitz does not support extensions, so no validation, syntax highlighting and etc.
You can try with github.dev and suggested extension.
Check Tutorial - for a quick overview of LikeC4.
This repository's contents are:
/apps/docs
Astro-app, contains the content for our docs site at likec4.dev/apps/playground
- Vite SPA, site playground.likec4.dev/packages
contains the source for packages
core
: model and type definitionscreate-likec4
: scaffolding tooldiagram
: react components rendering diagramsgenerators
: LikeC4 -> Other formatsicons
: prebundled iconslanguage-server
: parser and language serverlayouts
: layout algorithms for viewslikec4
: CLI, published to npm aslikec4
log
: Shared instance of consolatsconfig
: typescript configurationvscode
: vscode extensionvscode-preview
: preview panel in vscode extension
-
Ensure you have all required tools
Use asdf or install manually:asdf install
-
Generate sources by running build in root:
yarn build
-
Mostly used dev tasks:
yarn dev
inapps/playground
yarn dev
(or anyyarn dev:*
) inpackage/likec4
yarn vitest:ui
in root
To work on VSCode extension:
- Launch
Run Extension
to start a new VSCode instance with the extension loaded.
/e2e
contains isolated workspace. Test steps:
- pack
likec4
to tarball - install this tarball in isolated wokspace
- generate spec files from model (using LikeC4Model)
- run playwright
To run from root workspace:
yarn test:e2e
This project is released under the MIT License