# watanabe3tipapa/index architecture

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

- Interactive diagram: https://gitdiagram.com/watanabe3tipapa/index
- Repository: https://github.com/watanabe3tipapa/index

## Overview

This repository generates and publishes a directory of the owner’s sites and services. The generator retrieves public-repository metadata, applies configuration and private-link entries, checks site availability, and writes the landing page; visitors then browse its public, private-derived, and error sections or use the SIDECAR. README documentation supports these relationships, but no source excerpts were provided, so implementation details beyond those documented are not inferred.

Main entry points: [`.github/scripts/generate_index.py`](https://github.com/watanabe3tipapa/index/blob/main/.github/scripts/generate_index.py) (Index generator), [`docs/index.html`](https://github.com/watanabe3tipapa/index/blob/main/docs/index.html) (Generated landing page), [`.github/index-config.json`](https://github.com/watanabe3tipapa/index/blob/main/.github/index-config.json) (Index settings), [`.github/index-exclude.txt`](https://github.com/watanabe3tipapa/index/blob/main/.github/index-exclude.txt) (Excluded repositories)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_generation["Listing generation"]
  node_generator["Index generator<br/>[generate_index.py]"]
  node_config["Index settings<br/>[index-config.json]"]
  node_exclusions["Excluded repositories<br/>[index-exclude.txt]"]
  node_private_links["Private-derived links<br/>[private-links.json]"]
end

subgraph group_publication["Published directory"]
  node_page["Generated landing page<br/>[index.html]"]
  node_public_section["Public listings<br/>[index.html]"]
  node_private_section["Private-derived listings<br/>[index.html]"]
  node_error_section["Now:404 listings<br/>[index.html]"]
  node_sidecar["SIDECAR panel<br/>[index.html]"]
end

subgraph group_integrations["External services"]
  node_github_api["GitHub REST API"]
  node_site_checks["Listed site URLs"]
  node_pages["GitHub Pages"]
  node_gitdiagram["GitDiagram"]
end

node_visitor(("Visitor"))

node_generator -->|"fetches repositories"| node_github_api
node_generator -->|"reads settings"| node_config
node_generator -->|"filters repositories"| node_exclusions
node_generator -->|"renders links"| node_private_links
node_generator -->|"checks URLs"| node_site_checks
node_generator -->|"generates HTML"| node_page
node_page -->|"presents"| node_public_section
node_page -->|"presents"| node_private_section
node_page -->|"presents"| node_error_section
node_page -->|"presents"| node_sidecar
node_visitor -->|"visits directory"| node_pages
node_pages -->|"serves"| node_page
node_visitor -->|"opens diagrams"| node_gitdiagram

click node_generator "https://github.com/watanabe3tipapa/index/blob/main/.github/scripts/generate_index.py"
click node_config "https://github.com/watanabe3tipapa/index/blob/main/.github/index-config.json"
click node_exclusions "https://github.com/watanabe3tipapa/index/blob/main/.github/index-exclude.txt"
click node_private_links "https://github.com/watanabe3tipapa/index/blob/main/.github/private-links.json"
click node_page "https://github.com/watanabe3tipapa/index/blob/main/docs/index.html"
click node_public_section "https://github.com/watanabe3tipapa/index/blob/main/docs/index.html"
click node_private_section "https://github.com/watanabe3tipapa/index/blob/main/docs/index.html"
click node_error_section "https://github.com/watanabe3tipapa/index/blob/main/docs/index.html"
click node_sidecar "https://github.com/watanabe3tipapa/index/blob/main/docs/index.html"

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_generator,node_config,node_exclusions,node_private_links toneBlue
class node_page,node_public_section,node_private_section,node_error_section,node_sidecar toneAmber
class node_github_api,node_site_checks,node_pages,node_gitdiagram toneMint
class node_visitor toneIndigo
```

## Components

### Listing generation

- [Index generator](https://github.com/watanabe3tipapa/index/blob/main/.github/scripts/generate_index.py): `.github/scripts/generate_index.py`
- [Index settings](https://github.com/watanabe3tipapa/index/blob/main/.github/index-config.json): `.github/index-config.json`
- [Excluded repositories](https://github.com/watanabe3tipapa/index/blob/main/.github/index-exclude.txt): `.github/index-exclude.txt`
- [Private-derived links](https://github.com/watanabe3tipapa/index/blob/main/.github/private-links.json): `.github/private-links.json`

### Published directory

- [Generated landing page](https://github.com/watanabe3tipapa/index/blob/main/docs/index.html): `docs/index.html`
- [Public listings](https://github.com/watanabe3tipapa/index/blob/main/docs/index.html): `docs/index.html`
- [Private-derived listings](https://github.com/watanabe3tipapa/index/blob/main/docs/index.html): `docs/index.html`
- [Now:404 listings](https://github.com/watanabe3tipapa/index/blob/main/docs/index.html): `docs/index.html`
- [SIDECAR panel](https://github.com/watanabe3tipapa/index/blob/main/docs/index.html): `docs/index.html`

### External services

- **GitHub REST API**
- **Listed site URLs**
- **GitHub Pages**
- **GitDiagram**

### Other components

- **Visitor**

## Connections

- Index generator → GitHub REST API: fetches repositories (evidence: `README.md`)
- Index generator → Index settings: reads settings (evidence: `README.md`)
- Index generator → Excluded repositories: filters repositories (evidence: `README.md`)
- Index generator → Private-derived links: renders links (evidence: `README.md`)
- Index generator → Listed site URLs: checks URLs (evidence: `README.md`)
- Index generator → Generated landing page: generates HTML (evidence: `README.md`)
- Generated landing page → Public listings: presents (evidence: `README.md`)
- Generated landing page → Private-derived listings: presents (evidence: `README.md`)
- Generated landing page → Now:404 listings: presents (evidence: `README.md`)
- Generated landing page → SIDECAR panel: presents (evidence: `README.md`)
- Visitor → GitHub Pages: visits directory (evidence: `README.md`)
- GitHub Pages → Generated landing page: serves (evidence: `README.md`)
- Visitor → GitDiagram: opens diagrams (evidence: `README.md`)
