Ecosystem Architecture

How GitBrain projects compose into a cohesive system for spec-driven development

Integrated System View

All GitBrain projects working together as a composable ecosystem:

┌────────────────────────────────────────────────────────────────────────────┐
│                              User / Developer                              │
│                   (builds spec-driven systems & tools)                     │
└────────────┬───────────────────────────────────┬───────────────────────────┘
             │                                   │
             │                                   │
             ▼                                   ▼
┌────────────────────────┐          ┌────────────────────────┐
│      CrowdCode         │          │     happenstance       │
│   (governance layer)   │          │  (gen → publish)       │
│                        │          │                        │
│ • Proposal management  │          │ • Scheduled runs       │
│ • Review workflows     │          │ • Static generation    │
│ • Approval automation  │          │ • Auto-deployment      │
└────────────┬───────────┘          └───────────┬────────────┘
             │                                   │
             │                                   │
             ▼                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│                    Application & Domain Layer                       │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  ┌──────────────────────┐         ┌──────────────────────┐         │
│  │    ChartSpec         │         │   ShelfSignals       │         │
│  │  (spec → viz)        │         │  (domain toolkit)    │         │
│  │                      │◀────────│                      │         │
│  │ • Declarative charts │         │ • Component shelf    │         │
│  │ • Visual encoding    │         │ • Pattern library    │         │
│  │ • Rendering engine   │         │ • Signal system      │         │
│  └──────────┬───────────┘         └───────────┬──────────┘         │
│             │                                  │                    │
│             └──────────────┬───────────────────┘                    │
│                            │                                        │
└────────────────────────────┼────────────────────────────────────────┘
                             │
                             │ all build on
                             ▼
┌─────────────────────────────────────────────────────────────────────┐
│                        Foundation Layer                             │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│                       ┌──────────────────────┐                      │
│                       │      context         │                      │
│                       │  (runtime boundary)  │                      │
│                       │                      │                      │
│                       │ • Cross-runtime API  │                      │
│                       │ • Adapter layer      │                      │
│                       │ • Portable execution │                      │
│                       └──────────┬───────────┘                      │
│                                  │                                  │
└──────────────────────────────────┼──────────────────────────────────┘
                                   │
                                   │ runs on
                                   ▼
                    ┌──────────────────────────────┐
                    │  Runtime Environments        │
                    │  • Node.js  • Browser        │
                    │  • Deno     • Bun            │
                    └──────────────────────────────┘

Architecture Layers

Design Principles

  • Layered composition Each layer builds on the one below, with clear boundaries and minimal coupling
  • Spec-first artifacts Projects prioritize declarative specifications that can be versioned and reviewed
  • Runtime portability Foundation layer enables projects to work across different execution environments
  • Composable by default Projects are designed to work together without tight coupling or complex integration