# mehdidotesk73/forge-remaster-v260907 architecture

> Architecture diagram of the GitHub repository mehdidotesk73/forge-remaster-v260907, 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/mehdidotesk73/forge-remaster-v260907
- Repository: https://github.com/mehdidotesk73/forge-remaster-v260907

## Overview

Forge provides an API for scaffolding, building, opening, and managing Git-backed Manifest repositories. Its main workflow starts with user-authored declarations, discovers objects and links, registers their schemas in PostgreSQL, and generates an importable SDK plus a JSON registry. Generated Manifest objects then expose field access, edits, deletion, and linked queries. The graph reflects sampled orchestration and documented build behavior; unsampled discovery, open, and environment helpers are shown only where their enclosing paths are supported, without guessed internal wiring.

Main entry points: [`forge/api/routes/manifest.py`](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/api/routes/manifest.py) (Manifest routes), [`forge/manifest/manifest_build/builder.py`](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/builder.py) (Build orchestrator), [`forge/manifest/manifest_build/codegen.py`](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/codegen.py) (SDK and registry generation), [`forge/adapters/git_adapter.py`](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/adapters/git_adapter.py) (Git adapter)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["API and orchestration"]
  node_routes["Manifest routes<br/>[manifest.py]"]
  node_app["FastAPI app<br/>[main.py]"]
  node_cli["API launcher<br/>[cli.py]"]
end

subgraph group_build["Manifest build"]
  node_spinup["Repo scaffolding<br/>[spinup.py]"]
  node_discovery["Declaration discovery<br/>[discovery.py]"]
  node_builder["Build orchestrator<br/>[builder.py]"]
  node_codegen["SDK and registry generation<br/>[codegen.py]"]
  node_links["Link resolution<br/>[links.py]"]
  node_open["Repo opening<br/>[open.py]"]
  node_env["Environment setup<br/>[env_init.py]"]
end

subgraph group_runtime["Manifest runtime"]
  node_defs["Manifest definitions<br/>[defs.py]"]
  node_types["Field types<br/>[types.py]"]
  node_base["Objects and queries<br/>[base.py]"]
  node_registry["Schema registry<br/>[registry.py]"]
end

subgraph group_integrations["Persistence and Git"]
  node_dbadapter["Session adapter<br/>[db_adapter.py]"]
  node_gitadapter["Git adapter<br/>[git_adapter.py]"]
  node_postgres[("PostgreSQL")]
  node_gitremote["Git remote"]
end

node_user(("Developer"))
node_declarations["Declaration files"]
node_sdk["Generated SDK"]
node_registryjson["Generated registry JSON"]

node_user -->|"starts API"| node_cli
node_cli -->|"runs server"| node_app
node_app -->|"mounts router"| node_routes
node_user -->|"requests operations"| node_routes
node_routes -->|"scaffolds repo"| node_spinup
node_routes -->|"builds repo"| node_builder
node_routes -->|"opens repo"| node_open
node_routes -->|"clones, commits, tags"| node_gitadapter
node_routes -->|"opens build session"| node_postgres
node_spinup -->|"Git spinup"| node_gitadapter
node_spinup -->|"clone and push"| node_gitremote
node_user -->|"writes declarations"| node_declarations
node_declarations -->|"read declarations"| node_discovery
node_builder -->|"discovers definitions"| node_discovery
node_builder -->|"registers schemas"| node_registry
node_builder -->|"generates artifacts"| node_codegen
node_codegen -->|"resolves link kinds"| node_links
node_codegen -->|"writes SDK source"| node_sdk
node_codegen -->|"writes registry JSON"| node_registryjson
node_builder -->|"registers object storage"| node_postgres
node_routes -.->|"Git build"| node_builder
node_builder -.->|"clone, commit, tag"| node_gitadapter
node_gitadapter -->|"Git operations"| node_gitremote
node_sdk -->|"exposes object API"| node_base
node_base -->|"requires session"| node_dbadapter
node_base -->|"reads and writes rows"| node_postgres
node_registry -->|"stores schemas and tables"| node_postgres
node_dbadapter -->|"manages sessions"| node_postgres
node_user -->|"uses generated SDK"| node_sdk

click node_routes "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/api/routes/manifest.py"
click node_app "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/api/main.py"
click node_cli "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/api/cli.py"
click node_spinup "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/spinup.py"
click node_discovery "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/discovery.py"
click node_builder "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/builder.py"
click node_codegen "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/codegen.py"
click node_links "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/links.py"
click node_open "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/open.py"
click node_env "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/env_init.py"
click node_defs "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_core/defs.py"
click node_types "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_core/types.py"
click node_base "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_core/base.py"
click node_registry "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_core/registry.py"
click node_dbadapter "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/adapters/db_adapter.py"
click node_gitadapter "https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/adapters/git_adapter.py"

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_routes,node_app,node_cli toneBlue
class node_spinup,node_discovery,node_builder,node_codegen,node_links,node_open,node_env toneAmber
class node_defs,node_types,node_base,node_registry toneMint
class node_dbadapter,node_gitadapter,node_postgres,node_gitremote toneRose
class node_user,node_declarations,node_sdk,node_registryjson toneIndigo
```

## Components

### API and orchestration

- [Manifest routes](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/api/routes/manifest.py): `forge/api/routes/manifest.py`
- [FastAPI app](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/api/main.py): `forge/api/main.py`
- [API launcher](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/api/cli.py): `forge/api/cli.py`

### Manifest build

- [Repo scaffolding](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/spinup.py): `forge/manifest/manifest_build/spinup.py`
- [Declaration discovery](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/discovery.py): `forge/manifest/manifest_build/discovery.py`
- [Build orchestrator](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/builder.py): `forge/manifest/manifest_build/builder.py`
- [SDK and registry generation](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/codegen.py): `forge/manifest/manifest_build/codegen.py`
- [Link resolution](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/links.py): `forge/manifest/manifest_build/links.py`
- [Repo opening](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/open.py): `forge/manifest/manifest_build/open.py`
- [Environment setup](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_build/env_init.py): `forge/manifest/manifest_build/env_init.py`

### Manifest runtime

- [Manifest definitions](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_core/defs.py): `forge/manifest/manifest_core/defs.py`
- [Field types](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_core/types.py): `forge/manifest/manifest_core/types.py`
- [Objects and queries](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_core/base.py): `forge/manifest/manifest_core/base.py`
- [Schema registry](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/manifest/manifest_core/registry.py): `forge/manifest/manifest_core/registry.py`

### Persistence and Git

- [Session adapter](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/adapters/db_adapter.py): `forge/adapters/db_adapter.py`
- [Git adapter](https://github.com/mehdidotesk73/forge-remaster-v260907/blob/main/forge/adapters/git_adapter.py): `forge/adapters/git_adapter.py`
- **PostgreSQL**
- **Git remote**

### Other components

- **Developer**
- **Declaration files**
- **Generated SDK**
- **Generated registry JSON**

## Connections

- Developer → API launcher: starts API
- API launcher → FastAPI app: runs server
- FastAPI app → Manifest routes: mounts router
- Developer → Manifest routes: requests operations
- Manifest routes → Repo scaffolding: scaffolds repo
- Manifest routes → Build orchestrator: builds repo
- Manifest routes → Repo opening: opens repo
- Manifest routes → Git adapter: clones, commits, tags
- Manifest routes → PostgreSQL: opens build session
- Repo scaffolding → Git adapter: Git spinup
- Repo scaffolding → Git remote: clone and push
- Developer → Declaration files: writes declarations
- Declaration files → Declaration discovery: read declarations
- Build orchestrator → Declaration discovery: discovers definitions
- Build orchestrator → Schema registry: registers schemas
- Build orchestrator → SDK and registry generation: generates artifacts
- SDK and registry generation → Link resolution: resolves link kinds
- SDK and registry generation → Generated SDK: writes SDK source
- SDK and registry generation → Generated registry JSON: writes registry JSON
- Build orchestrator → PostgreSQL: registers object storage
- Manifest routes → Build orchestrator: Git build
- Build orchestrator → Git adapter: clone, commit, tag
- Git adapter → Git remote: Git operations
- Generated SDK → Objects and queries: exposes object API
- Objects and queries → Session adapter: requires session
- Objects and queries → PostgreSQL: reads and writes rows
- Schema registry → PostgreSQL: stores schemas and tables
- Session adapter → PostgreSQL: manages sessions
- Developer → Generated SDK: uses generated SDK
