# kit2824bcs050-wq/irah-desktop architecture

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

- Interactive diagram: https://gitdiagram.com/kit2824bcs050-wq/irah-desktop
- Repository: https://github.com/kit2824bcs050-wq/irah-desktop

## Overview

The tree suggests ird is a shell-based desktop interface with a command entry point, shared runtime, UI components, and optional feature modules. The README and source excerpts provide no call-flow evidence, so the graph shows the product areas without asserting how they are wired; the only relationship shown is the user invoking the executable entry point.

Main entry points: [`bin/ird`](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/bin/ird) (ird command)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Shared runtime"]
  node_config["Configuration<br/>[config.sh]"]
  node_events["Event system<br/>[events.sh]"]
  node_modules["Module management<br/>[module.sh]"]
  node_plugins["Plugin management<br/>[plugin.sh]"]
  node_logging["Logging<br/>[logger.sh]"]
end

subgraph group_ui["Desktop interface"]
  node_dashboard["Dashboard<br/>[dashboard.sh]"]
  node_ui_launcher["Launcher UI<br/>[launcher.sh]"]
  node_notifications["Notifications<br/>[notifications.sh]"]
  node_overview["Overview<br/>[overview.sh]"]
  node_widgets["Widgets<br/>[widgets.sh]"]
  node_switcher["Window switcher<br/>[switcher.sh]"]
  node_workspace["Workspace UI<br/>[workspace.sh]"]
end

subgraph group_features["Feature modules"]
  node_launcher_module["Launcher module<br/>[module.sh]"]
  node_launcher_search["Launcher search<br/>[search.sh]"]
  node_launcher_providers["Launcher providers"]
  node_weather["Weather module<br/>[module.sh]"]
  node_github["GitHub module<br/>[module.sh]"]
end

node_user(("User"))
node_cli["ird command"]

node_user -->|"invokes"| node_cli

click node_cli "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/bin/ird"
click node_config "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/config.sh"
click node_events "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/events.sh"
click node_modules "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/module.sh"
click node_plugins "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/plugin.sh"
click node_logging "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/logger.sh"
click node_dashboard "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/dashboard/dashboard.sh"
click node_ui_launcher "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/launcher/launcher.sh"
click node_notifications "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/notifications/notifications.sh"
click node_overview "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/overview/overview.sh"
click node_widgets "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/widgets/widgets.sh"
click node_switcher "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/window-switcher/switcher.sh"
click node_workspace "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/workspace/workspace.sh"
click node_launcher_module "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/modules/launcher/module.sh"
click node_launcher_search "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/modules/launcher/scripts/search.sh"
click node_launcher_providers "https://github.com/kit2824bcs050-wq/irah-desktop/tree/main/modules/launcher/providers"
click node_weather "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/modules/weather/module.sh"
click node_github "https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/modules/github/module.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_config,node_events,node_modules,node_plugins,node_logging,node_user toneBlue
class node_dashboard,node_ui_launcher,node_notifications,node_overview,node_widgets,node_switcher,node_workspace toneAmber
class node_launcher_module,node_launcher_search,node_launcher_providers,node_weather,node_github toneMint
class node_cli toneTeal
```

## Components

### Shared runtime

- [Configuration](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/config.sh): `core/config.sh`
- [Event system](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/events.sh): `core/events.sh`
- [Module management](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/module.sh): `core/module.sh`
- [Plugin management](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/plugin.sh): `core/plugin.sh`
- [Logging](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/core/logger.sh): `core/logger.sh`

### Desktop interface

- [Dashboard](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/dashboard/dashboard.sh): `ui/dashboard/dashboard.sh`
- [Launcher UI](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/launcher/launcher.sh): `ui/launcher/launcher.sh`
- [Notifications](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/notifications/notifications.sh): `ui/notifications/notifications.sh`
- [Overview](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/overview/overview.sh): `ui/overview/overview.sh`
- [Widgets](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/widgets/widgets.sh): `ui/widgets/widgets.sh`
- [Window switcher](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/window-switcher/switcher.sh): `ui/window-switcher/switcher.sh`
- [Workspace UI](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/ui/workspace/workspace.sh): `ui/workspace/workspace.sh`

### Feature modules

- [Launcher module](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/modules/launcher/module.sh): `modules/launcher/module.sh`
- [Launcher search](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/modules/launcher/scripts/search.sh): `modules/launcher/scripts/search.sh`
- [Launcher providers](https://github.com/kit2824bcs050-wq/irah-desktop/tree/main/modules/launcher/providers): `modules/launcher/providers`
- [Weather module](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/modules/weather/module.sh): `modules/weather/module.sh`
- [GitHub module](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/modules/github/module.sh): `modules/github/module.sh`

### Other components

- **User**
- [ird command](https://github.com/kit2824bcs050-wq/irah-desktop/blob/main/bin/ird): `bin/ird`

## Connections

- User → ird command: invokes
