# firetruck666/project-forge architecture

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

- Interactive diagram: https://gitdiagram.com/firetruck666/project-forge
- Repository: https://github.com/firetruck666/project-forge

## Overview

project-forge is a reusable, host-discovered skill that guides an AI or user through standardizing a supplied project. The documented workflow starts with read-only inspection, uses the resulting facts and reference criteria to decide what applies, then performs selected version-control, remote, documentation, and publishing work; document generation and delivery review provide internal support. Major capability branches are included from the README, although their detailed execution is not all visible in the sampled source. The graph reflects documented responsibilities and sampled script calls, not an inspected end-to-end runtime.

Main entry points: [`SKILL.md`](https://github.com/firetruck666/project-forge/blob/main/SKILL.md) (Workflow entry), [`references/publish.md`](https://github.com/firetruck666/project-forge/blob/main/references/publish.md) (Publishing guide), [`scripts/compose-agents.mjs`](https://github.com/firetruck666/project-forge/blob/main/scripts/compose-agents.mjs) (AGENTS generator), [`scripts/survey.mjs`](https://github.com/firetruck666/project-forge/blob/main/scripts/survey.mjs) (Read-only survey)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Skill workflow"]
  node_skill["Workflow entry<br/>[SKILL.md]"]
end

subgraph group_inspection["Project inspection"]
  node_survey["Read-only survey<br/>[survey.mjs]"]
end

subgraph group_guidance["Standards guidance"]
  node_survey_guide["Survey criteria<br/>[survey.md]"]
  node_version_guide["Version control<br/>[version-control.md]"]
  node_remote_guide["Remote GitHub<br/>[remote-github.md]"]
  node_docs_guide["Documentation set<br/>[docs-set.md]"]
  node_publish_guide["Publishing guide<br/>[publish.md]"]
  node_npm_guide["npm publishing<br/>[publish-npm.md]"]
  node_python_guide["Python publishing<br/>[publish-python.md]"]
  node_go_guide["Go publishing<br/>[publish-go.md]"]
  node_rust_guide["Rust publishing<br/>[publish-rust.md]"]
  node_plugin_guide["Plugin projects<br/>[plugin-project.md]"]
  node_plugin_specs["Plugin ecosystem guides"]
end

subgraph group_project_setup["Project setup"]
  node_agents_composer["AGENTS generator<br/>[compose-agents.mjs]"]
  node_agents_template["AGENTS templates<br/>[agents-project.md]"]
  node_kernel_template["Instruction kernel<br/>[agents-kernel.md]"]
  node_delivery_review["Delivery review<br/>[review.mjs]"]
end

subgraph group_publishing["Publishing"]
  node_release_draft["Release-note draft"]
  node_release_writer["Release-note writer<br/>[release-notes.mjs]"]
end

node_user(("User / AI host"))
node_target["Target project"]
node_github{{"GitHub"}}
node_npm{{"npm registry"}}
node_python_registry{{"Python registry"}}
node_go_registry{{"Go module index"}}
node_rust_registry{{"Rust registry"}}

node_user -->|"requests work"| node_skill
node_skill -->|"starts read-only survey"| node_survey
node_survey -->|"reads project"| node_target
node_survey -->|"reports facts"| node_user
node_skill -->|"consults criteria"| node_survey_guide
node_skill -->|"guides version setup"| node_version_guide
node_skill -->|"guides remote setup"| node_remote_guide
node_skill -->|"guides documentation"| node_docs_guide
node_skill -->|"guides publishing"| node_publish_guide
node_publish_guide -->|"selects ecosystem guide"| node_npm_guide
node_publish_guide -->|"selects ecosystem guide"| node_python_guide
node_publish_guide -->|"selects ecosystem guide"| node_go_guide
node_publish_guide -->|"selects ecosystem guide"| node_rust_guide
node_skill -->|"handles plugin projects"| node_plugin_guide
node_plugin_guide -->|"consults ecosystem guide"| node_plugin_specs
node_skill -->|"invokes when needed"| node_agents_composer
node_agents_composer -->|"surveys target"| node_survey
node_agents_composer -->|"uses skeleton"| node_agents_template
node_agents_composer -->|"injects kernel"| node_kernel_template
node_agents_composer -->|"writes AGENTS.md"| node_target
node_skill -->|"checks delivery"| node_delivery_review
node_delivery_review -->|"surveys target"| node_survey
node_delivery_review -->|"reads project files"| node_target
node_skill -->|"drafts release notes"| node_release_draft
node_release_draft -->|"reads Git history"| node_target
node_release_draft -.->|"resolves remote"| node_github
node_release_draft -->|"writes draft file"| node_target
node_skill -->|"writes release notes"| node_release_writer
node_release_writer -->|"reads notes file"| node_target
node_release_writer -.->|"creates or updates release"| node_github
node_npm_guide -.->|"publishes package"| node_npm
node_python_guide -.->|"publishes package"| node_python_registry
node_go_guide -.->|"publishes module"| node_go_registry
node_rust_guide -.->|"publishes crate"| node_rust_registry

click node_skill "https://github.com/firetruck666/project-forge/blob/main/SKILL.md"
click node_survey "https://github.com/firetruck666/project-forge/blob/main/scripts/survey.mjs"
click node_survey_guide "https://github.com/firetruck666/project-forge/blob/main/references/survey.md"
click node_version_guide "https://github.com/firetruck666/project-forge/blob/main/references/version-control.md"
click node_remote_guide "https://github.com/firetruck666/project-forge/blob/main/references/remote-github.md"
click node_docs_guide "https://github.com/firetruck666/project-forge/blob/main/references/docs-set.md"
click node_publish_guide "https://github.com/firetruck666/project-forge/blob/main/references/publish.md"
click node_npm_guide "https://github.com/firetruck666/project-forge/blob/main/references/publish-npm.md"
click node_python_guide "https://github.com/firetruck666/project-forge/blob/main/references/publish-python.md"
click node_go_guide "https://github.com/firetruck666/project-forge/blob/main/references/publish-go.md"
click node_rust_guide "https://github.com/firetruck666/project-forge/blob/main/references/publish-rust.md"
click node_plugin_guide "https://github.com/firetruck666/project-forge/blob/main/references/plugin-project.md"
click node_plugin_specs "https://github.com/firetruck666/project-forge/tree/main/references/plugins"
click node_agents_composer "https://github.com/firetruck666/project-forge/blob/main/scripts/compose-agents.mjs"
click node_agents_template "https://github.com/firetruck666/project-forge/blob/main/templates/agents-project.md"
click node_kernel_template "https://github.com/firetruck666/project-forge/blob/main/templates/agents-kernel.md"
click node_delivery_review "https://github.com/firetruck666/project-forge/blob/main/scripts/review.mjs"
click node_release_draft "https://github.com/firetruck666/project-forge/blob/main/scripts/draft-release-notes.mjs"
click node_release_writer "https://github.com/firetruck666/project-forge/blob/main/scripts/release-notes.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_skill,node_user toneBlue
class node_survey toneAmber
class node_survey_guide,node_version_guide,node_remote_guide,node_docs_guide,node_publish_guide,node_npm_guide,node_python_guide,node_go_guide,node_rust_guide,node_plugin_guide,node_plugin_specs toneMint
class node_agents_composer,node_agents_template,node_kernel_template,node_delivery_review toneRose
class node_release_draft,node_release_writer,node_target,node_github,node_npm,node_python_registry,node_go_registry,node_rust_registry toneIndigo
```

## Components

### Skill workflow

- [Workflow entry](https://github.com/firetruck666/project-forge/blob/main/SKILL.md): `SKILL.md`

### Project inspection

- [Read-only survey](https://github.com/firetruck666/project-forge/blob/main/scripts/survey.mjs): `scripts/survey.mjs`

### Standards guidance

- [Survey criteria](https://github.com/firetruck666/project-forge/blob/main/references/survey.md): `references/survey.md`
- [Version control](https://github.com/firetruck666/project-forge/blob/main/references/version-control.md): `references/version-control.md`
- [Remote GitHub](https://github.com/firetruck666/project-forge/blob/main/references/remote-github.md): `references/remote-github.md`
- [Documentation set](https://github.com/firetruck666/project-forge/blob/main/references/docs-set.md): `references/docs-set.md`
- [Publishing guide](https://github.com/firetruck666/project-forge/blob/main/references/publish.md): `references/publish.md`
- [npm publishing](https://github.com/firetruck666/project-forge/blob/main/references/publish-npm.md): `references/publish-npm.md`
- [Python publishing](https://github.com/firetruck666/project-forge/blob/main/references/publish-python.md): `references/publish-python.md`
- [Go publishing](https://github.com/firetruck666/project-forge/blob/main/references/publish-go.md): `references/publish-go.md`
- [Rust publishing](https://github.com/firetruck666/project-forge/blob/main/references/publish-rust.md): `references/publish-rust.md`
- [Plugin projects](https://github.com/firetruck666/project-forge/blob/main/references/plugin-project.md): `references/plugin-project.md`
- [Plugin ecosystem guides](https://github.com/firetruck666/project-forge/tree/main/references/plugins): `references/plugins`

### Project setup

- [AGENTS generator](https://github.com/firetruck666/project-forge/blob/main/scripts/compose-agents.mjs): `scripts/compose-agents.mjs`
- [AGENTS templates](https://github.com/firetruck666/project-forge/blob/main/templates/agents-project.md): `templates/agents-project.md`
- [Instruction kernel](https://github.com/firetruck666/project-forge/blob/main/templates/agents-kernel.md): `templates/agents-kernel.md`
- [Delivery review](https://github.com/firetruck666/project-forge/blob/main/scripts/review.mjs): `scripts/review.mjs`

### Publishing

- [Release-note draft](https://github.com/firetruck666/project-forge/blob/main/scripts/draft-release-notes.mjs): `scripts/draft-release-notes.mjs`
- [Release-note writer](https://github.com/firetruck666/project-forge/blob/main/scripts/release-notes.mjs): `scripts/release-notes.mjs`

### Other components

- **User / AI host**
- **Target project**
- **GitHub**
- **npm registry**
- **Python registry**
- **Go module index**
- **Rust registry**

## Connections

- User / AI host → Workflow entry: requests work
- Workflow entry → Read-only survey: starts read-only survey
- Read-only survey → Target project: reads project
- Read-only survey → User / AI host: reports facts
- Workflow entry → Survey criteria: consults criteria
- Workflow entry → Version control: guides version setup
- Workflow entry → Remote GitHub: guides remote setup
- Workflow entry → Documentation set: guides documentation
- Workflow entry → Publishing guide: guides publishing
- Publishing guide → npm publishing: selects ecosystem guide
- Publishing guide → Python publishing: selects ecosystem guide
- Publishing guide → Go publishing: selects ecosystem guide
- Publishing guide → Rust publishing: selects ecosystem guide
- Workflow entry → Plugin projects: handles plugin projects
- Plugin projects → Plugin ecosystem guides: consults ecosystem guide
- Workflow entry → AGENTS generator: invokes when needed
- AGENTS generator → Read-only survey: surveys target
- AGENTS generator → AGENTS templates: uses skeleton
- AGENTS generator → Instruction kernel: injects kernel
- AGENTS generator → Target project: writes AGENTS.md
- Workflow entry → Delivery review: checks delivery
- Delivery review → Read-only survey: surveys target
- Delivery review → Target project: reads project files
- Workflow entry → Release-note draft: drafts release notes
- Release-note draft → Target project: reads Git history
- Release-note draft → GitHub: resolves remote
- Release-note draft → Target project: writes draft file
- Workflow entry → Release-note writer: writes release notes
- Release-note writer → Target project: reads notes file
- Release-note writer → GitHub: creates or updates release
- npm publishing → npm registry: publishes package
- Python publishing → Python registry: publishes package
- Go publishing → Go module index: publishes module
- Rust publishing → Rust registry: publishes crate
