# nethserver/dev architecture

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

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

## Overview

This repository primarily serves as the NethServer project’s GitHub issue tracker. Its documented user-facing automation turns issue-label changes into project-status updates: adding “testing” or “verified” sets the corresponding status, while removing either sets “In Progress.” The README says a GitHub Actions workflow runs the status-update script and handles issues across multiple projects. The source excerpts do not show the workflow or script internals, so relationships here follow only the README’s explicit description.

Main entry points: [`.github/workflows/change-status-on-labels.yml`](https://github.com/nethserver/dev/blob/master/.github/workflows/change-status-on-labels.yml) (Label Workflow), [`scripts/update_issue_status.sh`](https://github.com/nethserver/dev/blob/master/scripts/update_issue_status.sh) (Status Script)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_issue_status["Issue Status Automation"]
  node_label_workflow["Label Workflow"]
  node_status_script["Status Script"]
end

node_issue_users(("Issue Contributors"))
node_github_issues["GitHub Issues"]
node_github_projects["GitHub Projects"]

node_issue_users -->|"manage issues"| node_github_issues
node_github_issues -->|"label changes trigger"| node_label_workflow
node_label_workflow -->|"runs script"| node_status_script
node_status_script -->|"updates status"| node_github_projects

click node_label_workflow "https://github.com/nethserver/dev/blob/master/.github/workflows/change-status-on-labels.yml"
click node_status_script "https://github.com/nethserver/dev/blob/master/scripts/update_issue_status.sh"

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_label_workflow,node_status_script toneBlue
class node_issue_users,node_github_issues,node_github_projects toneIndigo
```

## Components

### Issue Status Automation

- [Label Workflow](https://github.com/nethserver/dev/blob/master/.github/workflows/change-status-on-labels.yml): `.github/workflows/change-status-on-labels.yml`
- [Status Script](https://github.com/nethserver/dev/blob/master/scripts/update_issue_status.sh): `scripts/update_issue_status.sh`

### Other components

- **Issue Contributors**
- **GitHub Issues**
- **GitHub Projects**

## Connections

- Issue Contributors → GitHub Issues: manage issues (evidence: `README.md`)
- GitHub Issues → Label Workflow: label changes trigger (evidence: `README.md`)
- Label Workflow → Status Script: runs script (evidence: `README.md`)
- Status Script → GitHub Projects: updates status (evidence: `README.md`)
