# remezzo/umamusume-icarus architecture

> Architecture diagram of the GitHub repository remezzo/umamusume-icarus, 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/remezzo/umamusume-icarus
- Repository: https://github.com/remezzo/umamusume-icarus

## Overview

Icarus is a Windows headless Umamusume career-automation bot controlled through a local browser dashboard. Its documented workflow signs in through the game API, runs scenario-specific careers using configurable training, race, and event decisions, buys skills, banks inheritance, and can repeat careers. The README also describes operational controls and companion features such as scheduling, auto training, veteran management, and Discord notifications. The supplied tree contains no source files, so paths and internal call ownership cannot be verified; the graph shows only documented relationships.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_career["Career automation"]
  node_career_bot["Career bot"]
  node_career_start["Career start"]
  node_training["Training decisions"]
  node_race_planning["Race planning"]
  node_event_handling["Event handling"]
  node_scenario_mechanics["Scenario mechanics"]
  node_skill_buying["Skill purchasing"]
  node_inheritance["Inheritance"]
end

subgraph group_operations["Run operations"]
  node_dashboard["Local dashboard"]
  node_auto_training["Auto Training"]
  node_hyper_skip["Hyper Skip"]
  node_rotation["Character rotation"]
  node_advisor["Live Advisor"]
  node_scheduler["Scheduler"]
  node_pause_resume["Pause and resume"]
end

subgraph group_management["Roster management"]
  node_parent_suggestions["Parent suggestions"]
  node_veterans["Veteran management"]
end

subgraph group_integrations["Data and integrations"]
  node_sign_in["Sign-in"]
  node_game_api["Game API"]
  node_master_data[("Local master.mdb")]
  node_discord["Discord webhooks"]
  node_steam["Steam automation"]
end

node_user(("User"))

node_user -->|"configures"| node_dashboard
node_dashboard -->|"controls"| node_career_bot
node_career_bot -->|"initiates"| node_sign_in
node_sign_in -->|"authenticates via"| node_game_api
node_career_bot -->|"plays careers via"| node_game_api
node_career_bot -->|"reads game data"| node_master_data
node_career_bot -->|"starts"| node_career_start
node_career_bot -->|"scores training"| node_training
node_career_bot -->|"plans races"| node_race_planning
node_career_bot -->|"answers events"| node_event_handling
node_career_bot -->|"handles scenarios"| node_scenario_mechanics
node_career_bot -->|"buys skills"| node_skill_buying
node_career_bot -->|"banks parent"| node_inheritance
node_career_bot -->|"runs"| node_auto_training
node_career_bot -->|"advances with"| node_hyper_skip
node_career_bot -->|"switches trainees"| node_rotation
node_dashboard -->|"shows commentary"| node_advisor
node_dashboard -->|"configures"| node_scheduler
node_dashboard -->|"controls"| node_pause_resume
node_dashboard -->|"requests"| node_parent_suggestions
node_dashboard -->|"manages"| node_veterans
node_career_bot -.->|"sends notifications"| node_discord
node_career_bot -->|"automates Steam"| node_steam

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_career_bot,node_career_start,node_training,node_race_planning,node_event_handling,node_scenario_mechanics,node_skill_buying,node_inheritance,node_user toneBlue
class node_dashboard,node_auto_training,node_hyper_skip,node_rotation,node_advisor,node_scheduler,node_pause_resume toneAmber
class node_parent_suggestions,node_veterans toneMint
class node_sign_in,node_game_api,node_master_data,node_discord,node_steam toneRose
```

## Components

### Career automation

- **Career bot**
- **Career start**
- **Training decisions**
- **Race planning**
- **Event handling**
- **Scenario mechanics**
- **Skill purchasing**
- **Inheritance**

### Run operations

- **Local dashboard**
- **Auto Training**
- **Hyper Skip**
- **Character rotation**
- **Live Advisor**
- **Scheduler**
- **Pause and resume**

### Roster management

- **Parent suggestions**
- **Veteran management**

### Data and integrations

- **Sign-in**
- **Game API**
- **Local master.mdb**
- **Discord webhooks**
- **Steam automation**

### Other components

- **User**

## Connections

- User → Local dashboard: configures
- Local dashboard → Career bot: controls
- Career bot → Sign-in: initiates
- Sign-in → Game API: authenticates via
- Career bot → Game API: plays careers via
- Career bot → Local master.mdb: reads game data
- Career bot → Career start: starts
- Career bot → Training decisions: scores training
- Career bot → Race planning: plans races
- Career bot → Event handling: answers events
- Career bot → Scenario mechanics: handles scenarios
- Career bot → Skill purchasing: buys skills
- Career bot → Inheritance: banks parent
- Career bot → Auto Training: runs
- Career bot → Hyper Skip: advances with
- Career bot → Character rotation: switches trainees
- Local dashboard → Live Advisor: shows commentary
- Local dashboard → Scheduler: configures
- Local dashboard → Pause and resume: controls
- Local dashboard → Parent suggestions: requests
- Local dashboard → Veteran management: manages
- Career bot → Discord webhooks: sends notifications
- Career bot → Steam automation: automates Steam
