# ivanbarriga1984/design-genome architecture

> Architecture diagram of the GitHub repository ivanbarriga1984/design-genome, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ivanbarriga1984/design-genome
- Repository: https://github.com/ivanbarriga1984/design-genome

## Overview

Design Genome is a methodology and reference product for authoring governed design knowledge and making it usable by people and tools. The main machine-consumption path is authored Forma knowledge → compiled Genome → task-scoped Codex context; the public site also explains and browses the methodology, lets users draft a Gene, and demonstrates components and scenarios. README documents further capabilities whose exact wiring is not shown in the sampled source, so those links are omitted. The map reflects the documented lifecycle and sampled modules, not unsampled implementation details.

Main entry points: [`site/Site.tsx`](https://github.com/ivanbarriga1984/design-genome/blob/main/site/Site.tsx) (Public site), [`genome/registry.ts`](https://github.com/ivanbarriga1984/design-genome/blob/main/genome/registry.ts) (Authored Genome), [`adapters/codex/context.ts`](https://github.com/ivanbarriga1984/design-genome/blob/main/adapters/codex/context.ts) (Codex context adapter), [`scripts/compile-genome.ts`](https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/compile-genome.ts) (Genome compiler)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_public["Public experience"]
  node_site["Public site<br/>[Site.tsx]"]
  node_framework["Methodology<br/>[Framework.tsx]"]
  node_reference["Genome browser<br/>[Reference.tsx]"]
  node_gene["Gene builder<br/>[GeneBuilder.tsx]"]
  node_gene_model["Gene model<br/>[model.ts]"]
  node_workshop["Scenario workshop<br/>[Workshop.tsx]"]
  node_workshop_projection["Workshop projection<br/>[projection.ts]"]
  node_presentation["Presentation<br/>[Scenes.tsx]"]
end

subgraph group_authority["Forma authority"]
  node_genome["Authored Genome<br/>[registry.ts]"]
  node_contracts["Component contracts<br/>[contracts.ts]"]
  node_governance["Governance<br/>[model.ts]"]
  node_exceptions["Exceptions<br/>[exceptions.ts]"]
  node_rules["Rule metadata<br/>[rules.ts]"]
end

subgraph group_machine["Machine consumption"]
  node_validator["Integrity validation<br/>[validate-genome.ts]"]
  node_compiler["Genome compiler<br/>[compile-genome.ts]"]
  node_snapshot["Compiled snapshot"]
  node_query["Genome query<br/>[query-genome.ts]"]
  node_selector["Context selection<br/>[select-context.ts]"]
  node_formatter["Context formatter<br/>[format.ts]"]
  node_codex_context["Codex context adapter<br/>[context.ts]"]
  node_codex_packet["Task context packet"]
end

subgraph group_demo["Working examples"]
  node_showcase["Component showcase<br/>[Showcase.tsx]"]
  node_components["React components<br/>[contract.ts]"]
  node_previews["Scenario previews<br/>[previews.tsx]"]
end

node_visitor(("People"))

node_visitor -->|"visits"| node_site
node_site -->|"presents"| node_framework
node_site -->|"presents"| node_reference
node_site -->|"presents"| node_gene
node_site -->|"presents"| node_workshop
node_site -->|"presents"| node_presentation
node_gene -->|"validates and structures"| node_gene_model
node_visitor -->|"authors a draft"| node_gene
node_reference -->|"browses"| node_genome
node_genome -->|"indexes"| node_contracts
node_genome -->|"indexes"| node_governance
node_genome -->|"indexes"| node_exceptions
node_genome -->|"indexes"| node_rules
node_compiler -->|"validates through"| node_validator
node_compiler -->|"compiles"| node_genome
node_compiler -->|"writes"| node_snapshot
node_query -->|"reads"| node_snapshot
node_codex_context -->|"selects via"| node_selector
node_codex_context -->|"formats via"| node_formatter
node_codex_context -->|"reads"| node_snapshot
node_codex_context -->|"writes"| node_codex_packet
node_workshop -->|"projects scenarios"| node_workshop_projection
node_workshop -->|"renders"| node_previews
node_previews -->|"uses"| node_components
node_showcase -->|"renders"| node_components
node_components -->|"implements"| node_contracts

click node_site "https://github.com/ivanbarriga1984/design-genome/blob/main/site/Site.tsx"
click node_framework "https://github.com/ivanbarriga1984/design-genome/blob/main/site/framework/Framework.tsx"
click node_reference "https://github.com/ivanbarriga1984/design-genome/blob/main/site/reference/Reference.tsx"
click node_gene "https://github.com/ivanbarriga1984/design-genome/blob/main/site/gene/GeneBuilder.tsx"
click node_gene_model "https://github.com/ivanbarriga1984/design-genome/blob/main/site/gene/model.ts"
click node_workshop "https://github.com/ivanbarriga1984/design-genome/blob/main/site/workshop/Workshop.tsx"
click node_workshop_projection "https://github.com/ivanbarriga1984/design-genome/blob/main/site/workshop/projection.ts"
click node_presentation "https://github.com/ivanbarriga1984/design-genome/blob/main/site/present/Scenes.tsx"
click node_genome "https://github.com/ivanbarriga1984/design-genome/blob/main/genome/registry.ts"
click node_contracts "https://github.com/ivanbarriga1984/design-genome/blob/main/genome/components/contracts.ts"
click node_governance "https://github.com/ivanbarriga1984/design-genome/blob/main/genome/governance/model.ts"
click node_exceptions "https://github.com/ivanbarriga1984/design-genome/blob/main/genome/governance/exceptions.ts"
click node_rules "https://github.com/ivanbarriga1984/design-genome/blob/main/genome/rules/rules.ts"
click node_validator "https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/validate-genome.ts"
click node_compiler "https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/compile-genome.ts"
click node_query "https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/query-genome.ts"
click node_selector "https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/select-context.ts"
click node_formatter "https://github.com/ivanbarriga1984/design-genome/blob/main/adapters/codex/format.ts"
click node_codex_context "https://github.com/ivanbarriga1984/design-genome/blob/main/adapters/codex/context.ts"
click node_showcase "https://github.com/ivanbarriga1984/design-genome/blob/main/src/Showcase.tsx"
click node_components "https://github.com/ivanbarriga1984/design-genome/blob/main/src/components/contract.ts"
click node_previews "https://github.com/ivanbarriga1984/design-genome/blob/main/site/workshop/previews.tsx"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_site,node_framework,node_reference,node_gene,node_gene_model,node_workshop,node_workshop_projection,node_presentation toneBlue
class node_genome,node_contracts,node_governance,node_exceptions,node_rules toneAmber
class node_validator,node_compiler,node_snapshot,node_query,node_selector,node_formatter,node_codex_context,node_codex_packet toneMint
class node_showcase,node_components,node_previews toneRose
class node_visitor toneIndigo
```

## Components

### Public experience

- [Public site](https://github.com/ivanbarriga1984/design-genome/blob/main/site/Site.tsx): `site/Site.tsx`
- [Methodology](https://github.com/ivanbarriga1984/design-genome/blob/main/site/framework/Framework.tsx): `site/framework/Framework.tsx`
- [Genome browser](https://github.com/ivanbarriga1984/design-genome/blob/main/site/reference/Reference.tsx): `site/reference/Reference.tsx`
- [Gene builder](https://github.com/ivanbarriga1984/design-genome/blob/main/site/gene/GeneBuilder.tsx): `site/gene/GeneBuilder.tsx`
- [Gene model](https://github.com/ivanbarriga1984/design-genome/blob/main/site/gene/model.ts): `site/gene/model.ts`
- [Scenario workshop](https://github.com/ivanbarriga1984/design-genome/blob/main/site/workshop/Workshop.tsx): `site/workshop/Workshop.tsx`
- [Workshop projection](https://github.com/ivanbarriga1984/design-genome/blob/main/site/workshop/projection.ts): `site/workshop/projection.ts`
- [Presentation](https://github.com/ivanbarriga1984/design-genome/blob/main/site/present/Scenes.tsx): `site/present/Scenes.tsx`

### Forma authority

- [Authored Genome](https://github.com/ivanbarriga1984/design-genome/blob/main/genome/registry.ts): `genome/registry.ts`
- [Component contracts](https://github.com/ivanbarriga1984/design-genome/blob/main/genome/components/contracts.ts): `genome/components/contracts.ts`
- [Governance](https://github.com/ivanbarriga1984/design-genome/blob/main/genome/governance/model.ts): `genome/governance/model.ts`
- [Exceptions](https://github.com/ivanbarriga1984/design-genome/blob/main/genome/governance/exceptions.ts): `genome/governance/exceptions.ts`
- [Rule metadata](https://github.com/ivanbarriga1984/design-genome/blob/main/genome/rules/rules.ts): `genome/rules/rules.ts`

### Machine consumption

- [Integrity validation](https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/validate-genome.ts): `scripts/validate-genome.ts`
- [Genome compiler](https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/compile-genome.ts): `scripts/compile-genome.ts`
- **Compiled snapshot**
- [Genome query](https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/query-genome.ts): `scripts/query-genome.ts`
- [Context selection](https://github.com/ivanbarriga1984/design-genome/blob/main/scripts/select-context.ts): `scripts/select-context.ts`
- [Context formatter](https://github.com/ivanbarriga1984/design-genome/blob/main/adapters/codex/format.ts): `adapters/codex/format.ts`
- [Codex context adapter](https://github.com/ivanbarriga1984/design-genome/blob/main/adapters/codex/context.ts): `adapters/codex/context.ts`
- **Task context packet**

### Working examples

- [Component showcase](https://github.com/ivanbarriga1984/design-genome/blob/main/src/Showcase.tsx): `src/Showcase.tsx`
- [React components](https://github.com/ivanbarriga1984/design-genome/blob/main/src/components/contract.ts): `src/components/contract.ts`
- [Scenario previews](https://github.com/ivanbarriga1984/design-genome/blob/main/site/workshop/previews.tsx): `site/workshop/previews.tsx`

### Other components

- **People**

## Connections

- People → Public site: visits
- Public site → Methodology: presents
- Public site → Genome browser: presents
- Public site → Gene builder: presents
- Public site → Scenario workshop: presents
- Public site → Presentation: presents
- Gene builder → Gene model: validates and structures
- People → Gene builder: authors a draft
- Genome browser → Authored Genome: browses
- Authored Genome → Component contracts: indexes
- Authored Genome → Governance: indexes
- Authored Genome → Exceptions: indexes
- Authored Genome → Rule metadata: indexes
- Genome compiler → Integrity validation: validates through
- Genome compiler → Authored Genome: compiles
- Genome compiler → Compiled snapshot: writes
- Genome query → Compiled snapshot: reads
- Codex context adapter → Context selection: selects via
- Codex context adapter → Context formatter: formats via
- Codex context adapter → Compiled snapshot: reads
- Codex context adapter → Task context packet: writes
- Scenario workshop → Workshop projection: projects scenarios
- Scenario workshop → Scenario previews: renders
- Scenario previews → React components: uses
- Component showcase → React components: renders
- React components → Component contracts: implements
