Architecture
LynxDock is spec-driven and polyglot. A versioned specification feeds an infrastructure layer, which in turn supports a single product monorepo spanning Rust and TypeScript. For a visual overview, see the architecture page.
Infrastructure
GSpec is the Genesis Specification - a versioned contract in YAML plus JSON Schema that is the single source of truth. Bootstrap is the compiler that parses it, validates every module, builds an in-memory IR, and generates artifacts; a Golden-IR contract test guarantees that output never drifts. Release Tools turn a published GitHub Release into a machine-readable manifest, and this website is a static export that consumes generated data.
Product monorepo
Version 2 lives in one monorepo. @lynxdock/shared holds foundational types and utilities. @lynxdock/protocol defines the wire contracts; the types are authored once in Rust and generated to TypeScript with ts-rs, so the client and a future server cannot drift apart. @lynxdock/genesis-ui is the component framework. The desktop app (Tauri) and Studio are the surfaces; plugins and ai are the extension points.
Why it's built this way
The pattern is the same everywhere: define something once, generate the rest, and let tests hold the line. Generated beats hand-written. That discipline is what lets a solo team move quickly without the pieces falling out of sync.