# neondeex/atlas-filemanager architecture

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

- Interactive diagram: https://gitdiagram.com/neondeex/atlas-filemanager
- Repository: https://github.com/neondeex/atlas-filemanager

## Overview

Atlas is a native, local-first Windows file manager. Users navigate and manage files through a multi-pane UI, then invoke capabilities such as search, preview, conversion, cloud access, extensions, and cleanup. The repository separates UI and shared state from filesystem and domain engines; the README documents product capabilities, while sampled source provides only partial implementation wiring, so unsampled subsystem links are omitted.

Main entry points: [`crates/atlas-ui/src/app.rs`](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/app.rs) (Application shell), [`crates/atlas-core/src/cloud/worker.rs`](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/worker.rs) (Cloud operations), [`crates/atlas-ui/src/ui/overlays/ext_manager.rs`](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/ui/overlays/ext_manager.rs) (Extension manager), [`crates/atlas-core/src/cleanup`](https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/cleanup) (Disk cleanup)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["App experience"]
  node_app["Application shell<br/>[app.rs]"]
  node_input["Commands and shortcuts<br/>[action.rs]"]
  node_views["Pane views"]
  node_palette["Command palette"]
  node_preview_ui["Preview interface<br/>[preview_image.rs]"]
  node_extension_ui["Extension manager<br/>[ext_manager.rs]"]
end

subgraph group_fileops["File operations"]
  node_filesystem["Filesystem operations"]
  node_archive["Archive browsing"]
  node_previews["Preview generation"]
  node_conversion["Local conversion"]
  node_cleanup["Disk cleanup"]
  node_win_space["Windows space engine<br/>[lib.rs]"]
end

subgraph group_services["Domain services"]
  node_search["Indexed search<br/>[service.rs]"]
  node_search_service["Search index service<br/>[main.rs]"]
  node_cloud["Cloud operations<br/>[worker.rs]"]
  node_cloud_preview["Cloud previews<br/>[preview.rs]"]
  node_extensions["Extension registry<br/>[registry.rs]"]
  node_vault["Private folders<br/>[vault.rs]"]
  node_model["Shared app state<br/>[app_state.rs]"]
end

subgraph group_integrations["External integrations"]
  node_cloud_provider["Cloud providers<br/>[provider.rs]"]
  node_rclone["rclone integration<br/>[provider.rs]"]
  node_windows_shell["Windows shell<br/>[worker.rs]"]
end

node_user(("File manager user"))

node_user -->|"uses"| node_app
node_app -->|"renders"| node_views
node_app -->|"opens"| node_palette
node_user -->|"invokes"| node_input
node_user -->|"manages files"| node_filesystem
node_user -->|"browses archives"| node_archive
node_user -->|"previews files"| node_previews
node_user -->|"converts locally"| node_conversion
node_user -->|"searches files"| node_search
node_user -->|"cleans disk"| node_cleanup
node_user -->|"browses cloud"| node_cloud
node_user -->|"protects folders"| node_vault
node_user -->|"manages extensions"| node_extension_ui
node_extension_ui -->|"manages"| node_extensions
node_app -->|"uses"| node_preview_ui
node_cloud -->|"dispatches operations"| node_cloud_provider
node_cloud -->|"requests previews"| node_cloud_preview
node_cloud_provider -.->|"supports provider"| node_rclone
node_cleanup -.->|"uses engine"| node_win_space
node_search -.->|"uses index service"| node_search_service

click node_app "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/app.rs"
click node_input "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/input/action.rs"
click node_views "https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-ui/src/ui/views"
click node_palette "https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-ui/src/ui/palette"
click node_preview_ui "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/ui/preview_image.rs"
click node_extension_ui "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/ui/overlays/ext_manager.rs"
click node_filesystem "https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/fs"
click node_archive "https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/fs/archive"
click node_previews "https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/fs/preview"
click node_conversion "https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/convert"
click node_cleanup "https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/cleanup"
click node_win_space "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-win-space/src/lib.rs"
click node_search "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/search/service.rs"
click node_search_service "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-search-service/src/main.rs"
click node_cloud "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/worker.rs"
click node_cloud_preview "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/preview.rs"
click node_extensions "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/ext/registry.rs"
click node_vault "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/vault.rs"
click node_model "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-model/src/app_state.rs"
click node_cloud_provider "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/provider.rs"
click node_rclone "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/rclone/provider.rs"
click node_windows_shell "https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/shell_menu/worker.rs"

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_input,node_views,node_palette,node_preview_ui,node_extension_ui,node_user toneBlue
class node_filesystem,node_archive,node_previews,node_conversion,node_cleanup,node_win_space toneAmber
class node_search,node_search_service,node_cloud,node_cloud_preview,node_extensions,node_vault,node_model toneMint
class node_cloud_provider,node_rclone,node_windows_shell toneRose
```

## Components

### App experience

- [Application shell](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/app.rs): `crates/atlas-ui/src/app.rs`
- [Commands and shortcuts](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/input/action.rs): `crates/atlas-ui/src/input/action.rs`
- [Pane views](https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-ui/src/ui/views): `crates/atlas-ui/src/ui/views`
- [Command palette](https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-ui/src/ui/palette): `crates/atlas-ui/src/ui/palette`
- [Preview interface](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/ui/preview_image.rs): `crates/atlas-ui/src/ui/preview_image.rs`
- [Extension manager](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/ui/overlays/ext_manager.rs): `crates/atlas-ui/src/ui/overlays/ext_manager.rs`

### File operations

- [Filesystem operations](https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/fs): `crates/atlas-core/src/fs`
- [Archive browsing](https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/fs/archive): `crates/atlas-core/src/fs/archive`
- [Preview generation](https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/fs/preview): `crates/atlas-core/src/fs/preview`
- [Local conversion](https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/convert): `crates/atlas-core/src/convert`
- [Disk cleanup](https://github.com/neondeex/atlas-filemanager/tree/main/crates/atlas-core/src/cleanup): `crates/atlas-core/src/cleanup`
- [Windows space engine](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-win-space/src/lib.rs): `crates/atlas-win-space/src/lib.rs`

### Domain services

- [Indexed search](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/search/service.rs): `crates/atlas-core/src/search/service.rs`
- [Search index service](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-search-service/src/main.rs): `crates/atlas-search-service/src/main.rs`
- [Cloud operations](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/worker.rs): `crates/atlas-core/src/cloud/worker.rs`
- [Cloud previews](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/preview.rs): `crates/atlas-core/src/cloud/preview.rs`
- [Extension registry](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/ext/registry.rs): `crates/atlas-core/src/ext/registry.rs`
- [Private folders](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/vault.rs): `crates/atlas-core/src/vault.rs`
- [Shared app state](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-model/src/app_state.rs): `crates/atlas-model/src/app_state.rs`

### External integrations

- [Cloud providers](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/provider.rs): `crates/atlas-core/src/cloud/provider.rs`
- [rclone integration](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-core/src/cloud/rclone/provider.rs): `crates/atlas-core/src/cloud/rclone/provider.rs`
- [Windows shell](https://github.com/neondeex/atlas-filemanager/blob/main/crates/atlas-ui/src/shell_menu/worker.rs): `crates/atlas-ui/src/shell_menu/worker.rs`

### Other components

- **File manager user**

## Connections

- File manager user → Application shell: uses (evidence: `README.md`)
- Application shell → Pane views: renders (evidence: `crates/atlas-ui/src/app.rs`)
- Application shell → Command palette: opens (evidence: `crates/atlas-ui/src/app.rs`)
- File manager user → Commands and shortcuts: invokes (evidence: `README.md`)
- File manager user → Filesystem operations: manages files (evidence: `README.md`)
- File manager user → Archive browsing: browses archives (evidence: `README.md`)
- File manager user → Preview generation: previews files (evidence: `README.md`)
- File manager user → Local conversion: converts locally (evidence: `README.md`)
- File manager user → Indexed search: searches files (evidence: `README.md`)
- File manager user → Disk cleanup: cleans disk (evidence: `README.md`)
- File manager user → Cloud operations: browses cloud (evidence: `README.md`)
- File manager user → Private folders: protects folders (evidence: `README.md`)
- File manager user → Extension manager: manages extensions (evidence: `README.md`)
- Extension manager → Extension registry: manages (evidence: `crates/atlas-ui/src/ui/overlays/ext_manager.rs`)
- Application shell → Preview interface: uses (evidence: `crates/atlas-ui/src/app.rs`)
- Cloud operations → Cloud providers: dispatches operations (evidence: `crates/atlas-core/src/cloud/worker.rs`)
- Cloud operations → Cloud previews: requests previews (evidence: `crates/atlas-core/src/cloud/worker.rs`)
- Cloud providers → rclone integration: supports provider
- Disk cleanup → Windows space engine: uses engine
- Indexed search → Search index service: uses index service
