Hexagen Monaco

Architecture
should compile

Define your architecture as code. Generate real projects, not just diagrams. Hexagen Monaco turns architectural intent into working software.

git@github.com:martinkrakowski/hexagen-monaco.git

Click to copy

Scroll
The Problem

Architecture documents rot

By the time a diagram is drawn, the code has already diverged. Architecture lives in Confluence pages, Miro boards, and faded whiteboard photos — disconnected from the reality of what gets shipped.

Teams waste weeks aligning implementation with intent. Decisions get lost in Slack threads. Boundaries blur. And nobody notices until it’s too late.

~70%
of architectural intent is exposed to drift during implementation
~4×
more effort spent correcting misalignment than preventing it
architecture-v3-final-final.docx
Last updated 6 months ago
Stale
The Solution

Architecture as code.
Compiled to reality.

Define bounded contexts, ports, and adapters in a declarative manifest. Hexagen Monaco compiles your architecture into a real, working monorepo — complete with scaffolding, hexagonal interfaces, and enforced boundary rules.

.architecture/manifest.yaml
1system: "hexagen-monaco"
2architecture: "modular-monolith"
3
4modules:
5  - name: "project-configuration"
6  - ports:
7    - "ProjectGeneratorPort"
8  - type: "core"
9
10  - name: "code-generation"
11  - type: "supporting"
12
Generated Project
hexagen-monaco/
├── .architecture/
├── manifest.yaml
└── invariants/
├── apps/
├── web/
├── tui/
└── api-gateway/
├── packages/
├── core-domain/
├── code-generation/
├── sync/
└── ... 27 packages total
└── package.json
Features

Everything you need to
govern architecture

Manifest-Driven Architecture

A single YAML manifest encodes your entire system topology — bounded contexts, ports, adapters, and layer rules. One source of truth that the build enforces, not a document that drifts.

Sync Engine

Generates hexagonal boilerplate and keeps it in sync. Preview with --dry-run, force with --force, and validate with yarn lint:arch. Every generated project ships its own governance engine.

Web UI + Monaco

Interactive architecture canvas with live manifest editing via Monaco Editor. Visualize bounded contexts, ports, and dependency edges. AST-based semantic patching gated by confidence scoring.

Terminal Dashboard

Full-featured TUI in three panes: navigation tree, rule engine, and violation inspector. Press r to route a boundary breach to the local MCP server for AI-assisted refactoring.

App Preview

See it in action

Tech Stack

Built on battle-tested tools

Language & Runtime
TypeScriptES2022React 19Node.js
Monorepo
Yarn 4 (Berry)TurborepoTypeScript Project References
UI
Next.jsMonaco EditorReact FlowInk
Governance
YAML ManifestESLint Boundariests-morph AST
Testing
VitestReact Testing Libraryjsdom
Formatting
PrettierHuskylint-staged
Quick Start

Up and running in
30 seconds

Clone, install, and build your first architecture in under a minute. No complex setup, no magic — just a deterministic monorepo that enforces its own boundaries.

terminal
$ git clone git@github.com:martinkrakowski/hexagen-monaco.git
✓ Cloned hexagen-monaco
$ cd hexagen-monaco
$ corepack enable && yarn install
✓ Dependencies installed
$ yarn build
⚡ Building monorepo...
✓ 27 packages compiled
$ yarn sync
⚡ Generating architecture artifacts...
✓ Manifest validated — 0 constraint violations
✓ Generated hexagonal boilerplate across all modules
$ yarn lint:arch
✓ Architecture boundaries enforced
$
Copied to clipboard

Stop drawing diagrams.
Start compiling architecture.

Open source, MIT licensed. Join the community building the future of architectural tooling.