# mystic-stars/axolotl architecture

> Architecture diagram of the GitHub repository mystic-stars/axolotl, 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/mystic-stars/axolotl
- Repository: https://github.com/mystic-stars/axolotl

## Overview

Axolotl Launcher is a cross-platform Minecraft Java desktop launcher. Its principal workflow is to find Minecraft content, install or update it into managed instances, configure accounts and instance settings, then launch and manage play. The README also highlights multiplayer, customization, and Lab tools, so these remain distinct branches. The tree and README establish product capabilities, while the sampled source is mostly storage-related; consequently, internal wiring outside those storage paths is intentionally left sparse.

Main entry points: [`apps/app-frontend/src`](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src) (Launcher UI), [`apps/app-frontend/src/lab`](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/lab) (Lab Tools), [`apps/app-frontend/src/components/ui/settings/StorageSettings.vue`](https://github.com/mystic-stars/axolotl/blob/main/apps/app-frontend/src/components/ui/settings/StorageSettings.vue) (Storage Settings), [`packages/ui/src/layouts/shared/content-tab`](https://github.com/mystic-stars/axolotl/tree/main/packages/ui/src/layouts/shared/content-tab) (Content Browser)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_launcher["Launcher Core"]
  node_desktop["Desktop Shell"]
  node_frontend["Launcher UI"]
  node_home["Home Dashboard"]
  node_accounts["Accounts And Auth"]
end

subgraph group_content["Content Management"]
  node_content_ui["Content Browser"]
  node_content_flow["Content Install Flow"]
  node_content_pipeline["Content Filtering"]
  node_content_services["Content Services"]
end

subgraph group_play["Play And Multiplayer"]
  node_instance["Instance Management"]
  node_instance_backend["Instance Backend"]
  node_game_launch["Game Launch"]
  node_multiplayer["Multiplayer Servers"]
end

subgraph group_lab["Lab Tools"]
  node_lab_tools["Lab Tools"]
  node_recipe_lab["Recipe Generator"]
  node_schematic_lab["Schematic Preview"]
  node_seed_lab["Seed Map"]
  node_translation_lab["Mod Translation"]
end

subgraph group_platform["Persistence And Platform"]
  node_storage_ui["Storage Settings"]
  node_storage_helpers["Storage Bridge<br/>[storage.ts]"]
  node_storage_api["Storage Scan API<br/>[storage.rs]"]
  node_storage_cache[("Storage Cache")]
end

node_player(("Player"))
node_modrinth["Modrinth API"]
node_curseforge["CurseForge"]
node_minecraft["Minecraft Java"]

node_player -->|"uses"| node_frontend
node_frontend -->|"browses content"| node_content_ui
node_content_ui -->|"filters and sorts"| node_content_pipeline
node_content_ui -->|"starts installation"| node_content_flow
node_content_flow -->|"installs content"| node_content_services
node_content_services -->|"queries"| node_modrinth
node_content_services -->|"queries"| node_curseforge
node_frontend -->|"manages accounts"| node_accounts
node_frontend -->|"manages instances"| node_instance
node_instance -->|"uses"| node_instance_backend
node_instance -->|"launches game"| node_game_launch
node_game_launch -->|"starts"| node_minecraft
node_frontend -->|"shows dashboard"| node_home
node_frontend -->|"manages servers"| node_multiplayer
node_frontend -->|"opens tools"| node_lab_tools
node_lab_tools -->|"includes"| node_recipe_lab
node_lab_tools -->|"includes"| node_schematic_lab
node_lab_tools -->|"includes"| node_seed_lab
node_lab_tools -->|"includes"| node_translation_lab
node_player -->|"inspects storage"| node_storage_ui
node_storage_ui -->|"requests scans"| node_storage_helpers
node_storage_helpers -->|"invokes commands"| node_storage_api
node_storage_ui -->|"subscribes to events"| node_storage_helpers
node_storage_api -->|"loads and saves cache"| node_storage_cache
node_storage_api -->|"emits scan results"| node_storage_ui

click node_desktop "https://github.com/mystic-stars/axolotl/tree/main/apps/app/src"
click node_frontend "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src"
click node_home "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/home"
click node_accounts "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/ui"
click node_instance "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/ui"
click node_content_ui "https://github.com/mystic-stars/axolotl/tree/main/packages/ui/src/layouts/shared/content-tab"
click node_content_flow "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/ui/install_flow"
click node_content_pipeline "https://github.com/mystic-stars/axolotl/blob/main/packages/ui/src/layouts/shared/content-tab/composables/content-pipeline.ts"
click node_content_services "https://github.com/mystic-stars/axolotl/tree/main/packages/modrinth-content-management"
click node_instance_backend "https://github.com/mystic-stars/axolotl/tree/main/packages/app-lib/src/api/instance"
click node_game_launch "https://github.com/mystic-stars/axolotl/tree/main/apps/app/src/api"
click node_multiplayer "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/multiplayer/servers"
click node_lab_tools "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/lab"
click node_recipe_lab "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/lab/recipe-generator"
click node_schematic_lab "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/lab/schematic-preview"
click node_seed_lab "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/lab/seed-map"
click node_translation_lab "https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/lab/mod-translation"
click node_storage_ui "https://github.com/mystic-stars/axolotl/blob/main/apps/app-frontend/src/components/ui/settings/StorageSettings.vue"
click node_storage_helpers "https://github.com/mystic-stars/axolotl/blob/main/apps/app-frontend/src/helpers/storage.ts"
click node_storage_api "https://github.com/mystic-stars/axolotl/blob/main/apps/app/src/api/storage.rs"
click node_storage_cache "https://github.com/mystic-stars/axolotl/tree/main/packages/app-lib/src/api"

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_desktop,node_frontend,node_home,node_accounts toneBlue
class node_content_ui,node_content_flow,node_content_pipeline,node_content_services toneAmber
class node_instance,node_instance_backend,node_game_launch,node_multiplayer,node_modrinth toneMint
class node_lab_tools,node_recipe_lab,node_schematic_lab,node_seed_lab,node_translation_lab toneRose
class node_storage_ui,node_storage_helpers,node_storage_api,node_storage_cache,node_player,node_curseforge,node_minecraft toneIndigo
```

## Components

### Launcher Core

- [Desktop Shell](https://github.com/mystic-stars/axolotl/tree/main/apps/app/src): `apps/app/src`
- [Launcher UI](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src): `apps/app-frontend/src`
- [Home Dashboard](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/home): `apps/app-frontend/src/components/home`
- [Accounts And Auth](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/ui): `apps/app-frontend/src/components/ui`

### Content Management

- [Content Browser](https://github.com/mystic-stars/axolotl/tree/main/packages/ui/src/layouts/shared/content-tab): `packages/ui/src/layouts/shared/content-tab`
- [Content Install Flow](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/ui/install_flow): `apps/app-frontend/src/components/ui/install_flow`
- [Content Filtering](https://github.com/mystic-stars/axolotl/blob/main/packages/ui/src/layouts/shared/content-tab/composables/content-pipeline.ts): `packages/ui/src/layouts/shared/content-tab/composables/content-pipeline.ts`
- [Content Services](https://github.com/mystic-stars/axolotl/tree/main/packages/modrinth-content-management): `packages/modrinth-content-management`

### Play And Multiplayer

- [Instance Management](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/ui): `apps/app-frontend/src/components/ui`
- [Instance Backend](https://github.com/mystic-stars/axolotl/tree/main/packages/app-lib/src/api/instance): `packages/app-lib/src/api/instance`
- [Game Launch](https://github.com/mystic-stars/axolotl/tree/main/apps/app/src/api): `apps/app/src/api`
- [Multiplayer Servers](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/multiplayer/servers): `apps/app-frontend/src/components/multiplayer/servers`

### Lab Tools

- [Lab Tools](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/lab): `apps/app-frontend/src/lab`
- [Recipe Generator](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/lab/recipe-generator): `apps/app-frontend/src/lab/recipe-generator`
- [Schematic Preview](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/lab/schematic-preview): `apps/app-frontend/src/lab/schematic-preview`
- [Seed Map](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/lab/seed-map): `apps/app-frontend/src/components/lab/seed-map`
- [Mod Translation](https://github.com/mystic-stars/axolotl/tree/main/apps/app-frontend/src/components/lab/mod-translation): `apps/app-frontend/src/components/lab/mod-translation`

### Persistence And Platform

- [Storage Settings](https://github.com/mystic-stars/axolotl/blob/main/apps/app-frontend/src/components/ui/settings/StorageSettings.vue): `apps/app-frontend/src/components/ui/settings/StorageSettings.vue`
- [Storage Bridge](https://github.com/mystic-stars/axolotl/blob/main/apps/app-frontend/src/helpers/storage.ts): `apps/app-frontend/src/helpers/storage.ts`
- [Storage Scan API](https://github.com/mystic-stars/axolotl/blob/main/apps/app/src/api/storage.rs): `apps/app/src/api/storage.rs`
- [Storage Cache](https://github.com/mystic-stars/axolotl/tree/main/packages/app-lib/src/api): `packages/app-lib/src/api`

### Other components

- **Player**
- **Modrinth API**
- **CurseForge**
- **Minecraft Java**

## Connections

- Player → Launcher UI: uses
- Launcher UI → Content Browser: browses content
- Content Browser → Content Filtering: filters and sorts
- Content Browser → Content Install Flow: starts installation
- Content Install Flow → Content Services: installs content
- Content Services → Modrinth API: queries
- Content Services → CurseForge: queries
- Launcher UI → Accounts And Auth: manages accounts
- Launcher UI → Instance Management: manages instances
- Instance Management → Instance Backend: uses
- Instance Management → Game Launch: launches game
- Game Launch → Minecraft Java: starts
- Launcher UI → Home Dashboard: shows dashboard
- Launcher UI → Multiplayer Servers: manages servers
- Launcher UI → Lab Tools: opens tools
- Lab Tools → Recipe Generator: includes
- Lab Tools → Schematic Preview: includes
- Lab Tools → Seed Map: includes
- Lab Tools → Mod Translation: includes
- Player → Storage Settings: inspects storage
- Storage Settings → Storage Bridge: requests scans
- Storage Bridge → Storage Scan API: invokes commands
- Storage Settings → Storage Bridge: subscribes to events
- Storage Scan API → Storage Cache: loads and saves cache
- Storage Scan API → Storage Settings: emits scan results
