# dadalili2019/cloud_disk architecture

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

- Interactive diagram: https://gitdiagram.com/dadalili2019/cloud_disk
- Repository: https://github.com/dadalili2019/cloud_disk

## Overview

Personal Workbench is a Windows desktop, local-first system for preserving personal work context—not merely a to-do list. Its main workflow is to reopen the app, review current work and next steps, capture or update context, then retrieve related notes and knowledge later. The README documents workspace/task, notes, issue/resource/decision, focus, search, developer-context, AI, and data portability capabilities. The tree supports their source locations, but most implementation files were not sampled, so detailed service-to-service wiring is intentionally omitted.

Main entry points: [`lib/workbench/application/workbench_services.dart`](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/workbench_services.dart) (Workbench services), [`lib/workbench/domain/repositories.dart`](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/domain/repositories.dart) (Repository interfaces), [`lib/workbench/presentation/workbench_home_page.dart`](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_home_page.dart) (Home and continue), [`lib/app/navigation_page.dart`](https://github.com/dadalili2019/cloud_disk/blob/main/lib/app/navigation_page.dart) (Desktop shell)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_product["Workbench experience"]
  node_shell["Desktop shell"]
  node_home["Home and continue"]
  node_capture["Quick capture"]
  node_settings["Settings<br/>[settings_page.dart]"]
end

subgraph group_context["Work context"]
  node_workspace["Workspace and tasks"]
  node_notes["Markdown notes"]
  node_issues["Issues and decisions"]
  node_resources["Resources"]
  node_focus["Time and focus"]
  node_developer["Developer context"]
  node_services["Workbench services"]
end

subgraph group_intelligence["Search and AI"]
  node_knowledge["Knowledge library"]
  node_search["Global search"]
  node_ai["Global AI assistant"]
  node_ai_provider["AI provider"]
  node_ai_service["AI conversation service"]
end

subgraph group_persistence["Local data"]
  node_backup["Backup and restore"]
  node_export["Portable export"]
  node_repositories["Repository interfaces<br/>[repositories.dart]"]
  node_sqlite[("SQLite data")]
  node_markdown_store["Markdown store"]
  node_preferences["Local settings"]
end

subgraph group_utilities["Standalone tools"]
  node_tools["Independent tools"]
end

node_user(("Person"))

node_user -->|"opens"| node_shell
node_shell -->|"navigates"| node_home
node_home -->|"reviews"| node_workspace
node_home -->|"captures"| node_capture
node_workspace -->|"manages context"| node_services
node_capture -->|"records context"| node_services
node_notes -->|"saves notes"| node_services
node_issues -->|"updates records"| node_services
node_resources -->|"updates records"| node_services
node_focus -->|"tracks sessions"| node_services
node_knowledge -->|"manages knowledge"| node_services
node_developer -->|"manages context"| node_services
node_search -->|"queries"| node_repositories
node_ai -->|"converses"| node_ai_service
node_ai_service -.->|"requests completion"| node_ai_provider
node_backup -->|"backs up data"| node_repositories
node_export -->|"exports data"| node_repositories
node_settings -->|"stores preferences"| node_preferences
node_services -->|"uses"| node_repositories
node_repositories -->|"persists metadata"| node_sqlite
node_repositories -->|"stores notes"| node_markdown_store
node_user -->|"opens tools"| node_tools

click node_shell "https://github.com/dadalili2019/cloud_disk/blob/main/lib/app/navigation_page.dart"
click node_home "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_home_page.dart"
click node_capture "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/quick_capture_card.dart"
click node_workspace "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_workspace_list_page.dart"
click node_notes "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_notes_editor_page.dart"
click node_issues "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_issue_page.dart"
click node_resources "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_resource_page.dart"
click node_focus "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_time_page.dart"
click node_knowledge "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_knowledge_page.dart"
click node_search "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/search_service.dart"
click node_developer "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_developer_page.dart"
click node_ai "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/global_ai_drawer.dart"
click node_ai_provider "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/openai_compatible_ai_provider.dart"
click node_backup "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/backup_service.dart"
click node_export "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/export_service.dart"
click node_settings "https://github.com/dadalili2019/cloud_disk/blob/main/lib/pages/settings/settings_page.dart"
click node_services "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/workbench_services.dart"
click node_repositories "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/domain/repositories.dart"
click node_sqlite "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/data/sqlite_repositories.dart"
click node_markdown_store "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/data/markdown_store.dart"
click node_preferences "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/core/workbench_settings.dart"
click node_tools "https://github.com/dadalili2019/cloud_disk/tree/main/lib/pages"
click node_ai_service "https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/ai_conversation_service.dart"

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_shell,node_home,node_capture,node_settings toneBlue
class node_workspace,node_notes,node_issues,node_resources,node_focus,node_developer,node_services toneAmber
class node_knowledge,node_search,node_ai,node_ai_provider,node_ai_service toneMint
class node_backup,node_export,node_repositories,node_sqlite,node_markdown_store,node_preferences toneRose
class node_tools,node_user toneIndigo
```

## Components

### Workbench experience

- [Desktop shell](https://github.com/dadalili2019/cloud_disk/blob/main/lib/app/navigation_page.dart): `lib/app/navigation_page.dart`
- [Home and continue](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_home_page.dart): `lib/workbench/presentation/workbench_home_page.dart`
- [Quick capture](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/quick_capture_card.dart): `lib/workbench/presentation/quick_capture_card.dart`
- [Settings](https://github.com/dadalili2019/cloud_disk/blob/main/lib/pages/settings/settings_page.dart): `lib/pages/settings/settings_page.dart`

### Work context

- [Workspace and tasks](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_workspace_list_page.dart): `lib/workbench/presentation/workbench_workspace_list_page.dart`
- [Markdown notes](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_notes_editor_page.dart): `lib/workbench/presentation/workbench_notes_editor_page.dart`
- [Issues and decisions](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_issue_page.dart): `lib/workbench/presentation/workbench_issue_page.dart`
- [Resources](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_resource_page.dart): `lib/workbench/presentation/workbench_resource_page.dart`
- [Time and focus](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_time_page.dart): `lib/workbench/presentation/workbench_time_page.dart`
- [Developer context](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_developer_page.dart): `lib/workbench/presentation/workbench_developer_page.dart`
- [Workbench services](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/workbench_services.dart): `lib/workbench/application/workbench_services.dart`

### Search and AI

- [Knowledge library](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/workbench_knowledge_page.dart): `lib/workbench/presentation/workbench_knowledge_page.dart`
- [Global search](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/search_service.dart): `lib/workbench/application/search_service.dart`
- [Global AI assistant](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/presentation/global_ai_drawer.dart): `lib/workbench/presentation/global_ai_drawer.dart`
- [AI provider](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/openai_compatible_ai_provider.dart): `lib/workbench/application/openai_compatible_ai_provider.dart`
- [AI conversation service](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/ai_conversation_service.dart): `lib/workbench/application/ai_conversation_service.dart`

### Local data

- [Backup and restore](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/backup_service.dart): `lib/workbench/application/backup_service.dart`
- [Portable export](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/application/export_service.dart): `lib/workbench/application/export_service.dart`
- [Repository interfaces](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/domain/repositories.dart): `lib/workbench/domain/repositories.dart`
- [SQLite data](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/data/sqlite_repositories.dart): `lib/workbench/data/sqlite_repositories.dart`
- [Markdown store](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/data/markdown_store.dart): `lib/workbench/data/markdown_store.dart`
- [Local settings](https://github.com/dadalili2019/cloud_disk/blob/main/lib/workbench/core/workbench_settings.dart): `lib/workbench/core/workbench_settings.dart`

### Standalone tools

- [Independent tools](https://github.com/dadalili2019/cloud_disk/tree/main/lib/pages): `lib/pages`

### Other components

- **Person**

## Connections

- Person → Desktop shell: opens
- Desktop shell → Home and continue: navigates
- Home and continue → Workspace and tasks: reviews
- Home and continue → Quick capture: captures
- Workspace and tasks → Workbench services: manages context
- Quick capture → Workbench services: records context
- Markdown notes → Workbench services: saves notes
- Issues and decisions → Workbench services: updates records
- Resources → Workbench services: updates records
- Time and focus → Workbench services: tracks sessions
- Knowledge library → Workbench services: manages knowledge
- Developer context → Workbench services: manages context
- Global search → Repository interfaces: queries
- Global AI assistant → AI conversation service: converses
- AI conversation service → AI provider: requests completion
- Backup and restore → Repository interfaces: backs up data
- Portable export → Repository interfaces: exports data
- Settings → Local settings: stores preferences
- Workbench services → Repository interfaces: uses
- Repository interfaces → SQLite data: persists metadata
- Repository interfaces → Markdown store: stores notes
- Person → Independent tools: opens tools
