# grft-dev/graftcode architecture

> Architecture diagram of the GitHub repository grft-dev/graftcode, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/grft-dev/graftcode
- Repository: https://github.com/grft-dev/graftcode

## Overview

This repository’s product is Graftcode guidance for AI coding agents, with language-specific rules distributed in formats for multiple IDE agents. The documented user workflow is to add the rules to a project so an agent can use them to build or migrate Graftcode systems. The sampled configuration identifies the always-on router and language rules; the generator excerpt shows how these source rules map to tool-specific files. The CLI and runtime gateway are not mapped because their implementation was not sampled.

Main entry points: [`rules`](https://github.com/grft-dev/graftcode/tree/main/rules) (Tool-specific rules), [`rules/scripts/build-rules.mjs`](https://github.com/grft-dev/graftcode/blob/main/rules/scripts/build-rules.mjs) (Supported agent tools), [`rules/src/router.md`](https://github.com/grft-dev/graftcode/blob/main/rules/src/router.md) (Universal router), [`rules/scripts/rules.config.mjs`](https://github.com/grft-dev/graftcode/blob/main/rules/scripts/rules.config.mjs) (Rule metadata)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_source_rules["Rule sources"]
  node_router["Universal router<br/>[router.md]"]
  node_language_rules["Language rules"]
  node_rule_metadata["Rule metadata<br/>[rules.config.mjs]"]
end

subgraph group_agent_formats["Agent formats"]
  node_tool_rule_files["Tool-specific rules"]
  node_agent_tools["Supported agent tools<br/>[build-rules.mjs]"]
end

node_developer(("Project developer"))
node_coding_agent(("AI coding agent"))

node_developer -->|"adds rules"| node_tool_rule_files
node_tool_rule_files -->|"guides"| node_coding_agent
node_router -->|"selects guidance"| node_language_rules
node_rule_metadata -->|"configures generation"| node_agent_tools
node_agent_tools -->|"generates formats"| node_tool_rule_files

click node_router "https://github.com/grft-dev/graftcode/blob/main/rules/src/router.md"
click node_language_rules "https://github.com/grft-dev/graftcode/tree/main/rules/src"
click node_rule_metadata "https://github.com/grft-dev/graftcode/blob/main/rules/scripts/rules.config.mjs"
click node_tool_rule_files "https://github.com/grft-dev/graftcode/tree/main/rules"
click node_agent_tools "https://github.com/grft-dev/graftcode/blob/main/rules/scripts/build-rules.mjs"

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_router,node_language_rules,node_rule_metadata toneBlue
class node_tool_rule_files,node_agent_tools toneAmber
class node_developer,node_coding_agent toneIndigo
```

## Components

### Rule sources

- [Universal router](https://github.com/grft-dev/graftcode/blob/main/rules/src/router.md): `rules/src/router.md`
- [Language rules](https://github.com/grft-dev/graftcode/tree/main/rules/src): `rules/src`
- [Rule metadata](https://github.com/grft-dev/graftcode/blob/main/rules/scripts/rules.config.mjs): `rules/scripts/rules.config.mjs`

### Agent formats

- [Tool-specific rules](https://github.com/grft-dev/graftcode/tree/main/rules): `rules`
- [Supported agent tools](https://github.com/grft-dev/graftcode/blob/main/rules/scripts/build-rules.mjs): `rules/scripts/build-rules.mjs`

### Other components

- **Project developer**
- **AI coding agent**

## Connections

- Project developer → Tool-specific rules: adds rules (evidence: `README.md`)
- Tool-specific rules → AI coding agent: guides (evidence: `README.md`)
- Universal router → Language rules: selects guidance
- Rule metadata → Supported agent tools: configures generation (evidence: `rules/scripts/build-rules.mjs`)
- Supported agent tools → Tool-specific rules: generates formats (evidence: `rules/scripts/build-rules.mjs`)
