# maluramichael/awesome-reverse-engineer-anything architecture

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

- Interactive diagram: https://gitdiagram.com/maluramichael/awesome-reverse-engineer-anything
- Repository: https://github.com/maluramichael/awesome-reverse-engineer-anything

## Overview

This repository is a curated directory of reverse-engineering projects, with scripts that accept submissions, discover candidates, refresh repository metrics, and generate the published README. The main reader workflow is README browsing; the maintainer workflow runs from candidate discovery or project submission through review and list data to the generated directory. The graph reflects calls visible in sampled scripts and documented README behavior; workflow triggers and some storage wiring were not inspected.

Main entry points: [`scripts/refresh.py`](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/refresh.py) (Metrics refresh), [`scripts/discover.py`](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/discover.py) (Candidate discovery), [`scripts/add_from_issue.py`](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/add_from_issue.py) (Issue submission), [`scripts/github.py`](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/github.py) (GitHub API client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_catalog["Catalog and publishing"]
  node_readme["Project directory<br/>[README.md]"]
  node_project_data[("Project records")]
  node_common["Shared data model<br/>[common.py]"]
  node_renderer["README generator<br/>[build_readme.py]"]
end

subgraph group_intake["Submission and discovery"]
  node_issue_intake["Issue submission<br/>[add_from_issue.py]"]
  node_discovery["Candidate discovery<br/>[discover.py]"]
  node_candidate_report["Review report"]
  node_review["Human review"]
end

subgraph group_metrics["Metrics and GitHub"]
  node_github_client["GitHub API client<br/>[github.py]"]
  node_scoring["Repository scoring<br/>[scoring.py]"]
  node_refresh["Metrics refresh<br/>[refresh.py]"]
  node_stats[("Repository stats<br/>[stats.json]")]
  node_history[("Star history<br/>[history.json]")]
end

node_reader(("List reader"))
node_maintainer(("Maintainer"))
node_github{{"GitHub"}}

node_reader -->|"browses"| node_readme
node_maintainer -->|"submits project"| node_issue_intake
node_issue_intake -->|"validates with"| node_common
node_issue_intake -->|"checks repository"| node_github_client
node_issue_intake -->|"writes record"| node_project_data
node_maintainer -->|"runs search"| node_discovery
node_discovery -->|"loads list data"| node_common
node_discovery -->|"searches repositories"| node_github_client
node_discovery -->|"scores candidates"| node_scoring
node_discovery -->|"writes report"| node_candidate_report
node_candidate_report -->|"presents candidates"| node_review
node_review -.->|"selects entries"| node_project_data
node_github_client -->|"requests metadata"| node_github
node_maintainer -->|"runs refresh"| node_refresh
node_refresh -->|"loads and saves"| node_common
node_refresh -->|"fetches repository data"| node_github_client
node_refresh -->|"scores health"| node_scoring
node_refresh -->|"writes metrics"| node_stats
node_refresh -->|"updates snapshots"| node_history
node_maintainer -->|"generates directory"| node_renderer
node_renderer -->|"loads catalog data"| node_common
node_renderer -->|"renders"| node_readme

click node_readme "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/README.md"
click node_project_data "https://github.com/maluramichael/awesome-reverse-engineer-anything/tree/master/data/projects"
click node_common "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/common.py"
click node_renderer "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/build_readme.py"
click node_issue_intake "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/add_from_issue.py"
click node_discovery "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/discover.py"
click node_github_client "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/github.py"
click node_scoring "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/scoring.py"
click node_refresh "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/refresh.py"
click node_stats "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/data/stats.json"
click node_history "https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/data/history.json"

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_readme,node_project_data,node_common,node_renderer toneBlue
class node_issue_intake,node_discovery,node_candidate_report,node_review toneAmber
class node_github_client,node_scoring,node_refresh,node_stats,node_history toneMint
class node_reader,node_maintainer,node_github toneIndigo
```

## Components

### Catalog and publishing

- [Project directory](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/README.md): `README.md`
- [Project records](https://github.com/maluramichael/awesome-reverse-engineer-anything/tree/master/data/projects): `data/projects`
- [Shared data model](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/common.py): `scripts/common.py`
- [README generator](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/build_readme.py): `scripts/build_readme.py`

### Submission and discovery

- [Issue submission](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/add_from_issue.py): `scripts/add_from_issue.py`
- [Candidate discovery](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/discover.py): `scripts/discover.py`
- **Review report**
- **Human review**

### Metrics and GitHub

- [GitHub API client](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/github.py): `scripts/github.py`
- [Repository scoring](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/scoring.py): `scripts/scoring.py`
- [Metrics refresh](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/scripts/refresh.py): `scripts/refresh.py`
- [Repository stats](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/data/stats.json): `data/stats.json`
- [Star history](https://github.com/maluramichael/awesome-reverse-engineer-anything/blob/master/data/history.json): `data/history.json`

### Other components

- **List reader**
- **Maintainer**
- **GitHub**

## Connections

- List reader → Project directory: browses (evidence: `README.md`)
- Maintainer → Issue submission: submits project (evidence: `README.md`)
- Issue submission → Shared data model: validates with (evidence: `scripts/add_from_issue.py`)
- Issue submission → GitHub API client: checks repository (evidence: `scripts/add_from_issue.py`)
- Issue submission → Project records: writes record (evidence: `scripts/add_from_issue.py`)
- Maintainer → Candidate discovery: runs search (evidence: `scripts/discover.py`)
- Candidate discovery → Shared data model: loads list data (evidence: `scripts/discover.py`)
- Candidate discovery → GitHub API client: searches repositories (evidence: `scripts/discover.py`)
- Candidate discovery → Repository scoring: scores candidates (evidence: `scripts/discover.py`)
- Candidate discovery → Review report: writes report (evidence: `scripts/discover.py`)
- Review report → Human review: presents candidates
- Human review → Project records: selects entries
- GitHub API client → GitHub: requests metadata (evidence: `scripts/github.py`)
- Maintainer → Metrics refresh: runs refresh (evidence: `scripts/refresh.py`)
- Metrics refresh → Shared data model: loads and saves (evidence: `scripts/refresh.py`)
- Metrics refresh → GitHub API client: fetches repository data (evidence: `scripts/refresh.py`)
- Metrics refresh → Repository scoring: scores health (evidence: `scripts/refresh.py`)
- Metrics refresh → Repository stats: writes metrics (evidence: `scripts/refresh.py`)
- Metrics refresh → Star history: updates snapshots (evidence: `scripts/refresh.py`)
- Maintainer → README generator: generates directory (evidence: `scripts/build_readme.py`)
- README generator → Shared data model: loads catalog data (evidence: `scripts/build_readme.py`)
- README generator → Project directory: renders (evidence: `scripts/build_readme.py`)
