# xmodlife/stardew-valley-mod-manager architecture

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

- Interactive diagram: https://gitdiagram.com/xmodlife/stardew-valley-mod-manager
- Repository: https://github.com/xmodlife/stardew-valley-mod-manager

## Overview

SVMM is a local-first native macOS manager for existing Stardew Valley Mods. The principal workflow is to select the game/Mods location, inspect and organize installed Mods, choose an enablement profile, and optionally acquire supported updates or dependencies through validated file transactions. The README also documents Manifest editing, Nexus integration, software updates, settings, backups, and cache maintenance. The supplied tree contains no application source, so subsystem paths are null; edges reflect documented relationships only.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_library["Mod Library"]
  node_app["SVMM App"]
  node_modlibrary["Mod Library"]
  node_scanner["Scan and Diagnostics"]
  node_manifest["Manifest Editor"]
  node_gamefiles[("Game and Mods Files")]
  node_nexuscache[("Thumbnail Cache")]
end

subgraph group_organization["Organization"]
  node_categories["Categories"]
  node_profiles["Profiles"]
  node_localmetadata[("Local Mod Metadata")]
end

subgraph group_acquisition["Updates and Dependencies"]
  node_updateflow["Mod Updates"]
  node_dependencyflow["Dependency Acquisition"]
  node_filetransaction["Validated File Transactions"]
end

subgraph group_maintenance["Settings and Maintenance"]
  node_appupdates["App Updates"]
  node_settings["Settings"]
  node_dataops["Backup and Data Tools"]
  node_localdata[("Manager Data")]
  node_temporaryfiles[("Transaction Residue")]
end

node_user(("Player"))
node_nexus["Nexus Mods"]
node_smapi["SMAPI Metadata"]
node_github["GitHub Releases"]

node_user -->|"uses"| node_app
node_user -->|"configures"| node_settings
node_settings -->|"selects location"| node_gamefiles
node_app -->|"presents"| node_modlibrary
node_modlibrary -->|"scans Mods"| node_scanner
node_scanner -->|"reads manifests"| node_gamefiles
node_user -->|"edits manifest"| node_manifest
node_manifest -->|"updates manifest"| node_gamefiles
node_user -->|"organizes Mods"| node_categories
node_categories -->|"stores assignments"| node_localmetadata
node_user -->|"switches profile"| node_profiles
node_profiles -->|"sets enablement"| node_gamefiles
node_profiles -->|"reads cached images"| node_nexuscache
node_user -->|"checks updates"| node_updateflow
node_user -->|"requests dependencies"| node_dependencyflow
node_updateflow -->|"uses metadata"| node_smapi
node_dependencyflow -->|"reads declarations"| node_gamefiles
node_updateflow -.->|"requests downloads"| node_nexus
node_dependencyflow -.->|"requests downloads"| node_nexus
node_updateflow -->|"validates packages"| node_filetransaction
node_dependencyflow -->|"validates packages"| node_filetransaction
node_filetransaction -->|"installs or rolls back"| node_gamefiles
node_user -->|"checks software"| node_appupdates
node_appupdates -->|"checks releases"| node_github
node_appupdates -->|"offers download"| node_user
node_user -->|"manages data"| node_dataops
node_dataops -->|"backs up or restores"| node_localdata
node_dataops -->|"cleans residue"| node_temporaryfiles

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_app,node_modlibrary,node_scanner,node_manifest,node_gamefiles,node_nexuscache toneBlue
class node_categories,node_profiles,node_localmetadata toneAmber
class node_updateflow,node_dependencyflow,node_filetransaction,node_smapi toneMint
class node_appupdates,node_settings,node_dataops,node_localdata,node_temporaryfiles toneRose
class node_user,node_nexus,node_github toneIndigo
```

## Components

### Mod Library

- **SVMM App**
- **Mod Library**
- **Scan and Diagnostics**
- **Manifest Editor**
- **Game and Mods Files**
- **Thumbnail Cache**

### Organization

- **Categories**
- **Profiles**
- **Local Mod Metadata**

### Updates and Dependencies

- **Mod Updates**
- **Dependency Acquisition**
- **Validated File Transactions**

### Settings and Maintenance

- **App Updates**
- **Settings**
- **Backup and Data Tools**
- **Manager Data**
- **Transaction Residue**

### Other components

- **Player**
- **Nexus Mods**
- **SMAPI Metadata**
- **GitHub Releases**

## Connections

- Player → SVMM App: uses (evidence: `README.md`)
- Player → Settings: configures (evidence: `README.md`)
- Settings → Game and Mods Files: selects location (evidence: `README.md`)
- SVMM App → Mod Library: presents (evidence: `README.md`)
- Mod Library → Scan and Diagnostics: scans Mods (evidence: `README.md`)
- Scan and Diagnostics → Game and Mods Files: reads manifests (evidence: `README.md`)
- Player → Manifest Editor: edits manifest (evidence: `README.md`)
- Manifest Editor → Game and Mods Files: updates manifest (evidence: `README.md`)
- Player → Categories: organizes Mods (evidence: `README.md`)
- Categories → Local Mod Metadata: stores assignments (evidence: `README.md`)
- Player → Profiles: switches profile (evidence: `README.md`)
- Profiles → Game and Mods Files: sets enablement (evidence: `README.md`)
- Profiles → Thumbnail Cache: reads cached images (evidence: `README.md`)
- Player → Mod Updates: checks updates (evidence: `README.md`)
- Player → Dependency Acquisition: requests dependencies (evidence: `README.md`)
- Mod Updates → SMAPI Metadata: uses metadata (evidence: `README.md`)
- Dependency Acquisition → Game and Mods Files: reads declarations (evidence: `README.md`)
- Mod Updates → Nexus Mods: requests downloads (evidence: `README.md`)
- Dependency Acquisition → Nexus Mods: requests downloads (evidence: `README.md`)
- Mod Updates → Validated File Transactions: validates packages (evidence: `README.md`)
- Dependency Acquisition → Validated File Transactions: validates packages (evidence: `README.md`)
- Validated File Transactions → Game and Mods Files: installs or rolls back (evidence: `README.md`)
- Player → App Updates: checks software (evidence: `README.md`)
- App Updates → GitHub Releases: checks releases (evidence: `README.md`)
- App Updates → Player: offers download (evidence: `README.md`)
- Player → Backup and Data Tools: manages data (evidence: `README.md`)
- Backup and Data Tools → Manager Data: backs up or restores (evidence: `README.md`)
- Backup and Data Tools → Transaction Residue: cleans residue (evidence: `README.md`)
