# wysl-2/aiprojectorganizer architecture

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

- Interactive diagram: https://gitdiagram.com/wysl-2/aiprojectorganizer
- Repository: https://github.com/wysl-2/aiprojectorganizer

## Overview

AI Project Organizer is a desktop application for organizing project workspaces into documents, features, and implementation packages. Users open or create a project, browse and edit its files, manage feature/package structure, and inspect or install package contents. The UI coordinates these workflows; project metadata, workspace structure, and package archive handling provide the domain layer. Evidence is limited to the supplied excerpts and SOURCE INDEX; links for unsampled UI behavior are omitted unless directly supported.

Main entry points: [`src/ai_project_organizer/app.py`](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/app.py) (Desktop Startup), [`src/ai_project_organizer/ui/main_window.py`](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/main_window.py) (Main Window), [`src/ai_project_organizer/ui/project_view.py`](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/project_view.py) (Project View), [`src/ai_project_organizer/ui/package_workspace_panel.py`](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/package_workspace_panel.py) (Package Workspace)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Application"]
  node_app["Desktop Startup<br/>[app.py]"]
  node_window["Main Window<br/>[main_window.py]"]
  node_theme["Application Theme<br/>[theme.py]"]
  node_resources["UI Resources<br/>[resources.py]"]
end

subgraph group_projects["Projects and Workspaces"]
  node_project["Project Metadata<br/>[project.py]"]
  node_registry[("Project Registry")]
  node_metadata_form["Metadata Form"]
end

subgraph group_organize["Workspace Organization"]
  node_project_view["Project View<br/>[project_view.py]"]
  node_workspace_structure["Workspace Structure"]
  node_workspace_paths["Path Boundaries<br/>[workspace_paths.py]"]
  node_file_tree["File Browser<br/>[file_tree.py]"]
  node_documents["Document List"]
  node_section_panel["Section Panel<br/>[section_panel.py]"]
end

subgraph group_packages["Implementation Packages"]
  node_package_workspace["Package Workspace"]
  node_package_drop["Package Drop List"]
  node_package_archive["Package Archive Logic"]
  node_install_dialog["Package Install Dialog"]
end

node_user(("User"))

node_user -->|"starts"| node_app
node_app -->|"applies"| node_theme
node_app -->|"opens"| node_window
node_project -->|"initializes"| node_workspace_structure
node_file_tree -->|"checks boundaries"| node_workspace_paths
node_project_view -->|"reads structure"| node_workspace_structure
node_window -->|"sets workspace"| node_project_view
node_window -->|"handles install"| node_install_dialog
node_project_view -->|"embeds panel"| node_package_workspace
node_package_workspace -->|"uses package logic"| node_package_archive
node_package_workspace -->|"uses drop list"| node_package_drop
node_documents -->|"extends"| node_section_panel
node_documents -.->|"loads icons"| node_resources

click node_app "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/app.py"
click node_window "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/main_window.py"
click node_theme "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/theme.py"
click node_project "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/project.py"
click node_registry "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/project_registry.py"
click node_metadata_form "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/project_metadata_form.py"
click node_project_view "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/project_view.py"
click node_workspace_structure "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/workspace_structure.py"
click node_workspace_paths "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/workspace_paths.py"
click node_file_tree "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/file_tree.py"
click node_documents "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/document_list_panel.py"
click node_section_panel "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/section_panel.py"
click node_package_workspace "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/package_workspace_panel.py"
click node_package_drop "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/implementation_package_drop_list.py"
click node_package_archive "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/implementation_package.py"
click node_install_dialog "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/package_install_dialog.py"
click node_resources "https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/resources.py"

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_window,node_theme,node_resources,node_user toneBlue
class node_project,node_registry,node_metadata_form toneAmber
class node_project_view,node_workspace_structure,node_workspace_paths,node_file_tree,node_documents,node_section_panel toneMint
class node_package_workspace,node_package_drop,node_package_archive,node_install_dialog toneRose
```

## Components

### Application

- [Desktop Startup](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/app.py): `src/ai_project_organizer/app.py`
- [Main Window](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/main_window.py): `src/ai_project_organizer/ui/main_window.py`
- [Application Theme](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/theme.py): `src/ai_project_organizer/ui/theme.py`
- [UI Resources](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/resources.py): `src/ai_project_organizer/ui/resources.py`

### Projects and Workspaces

- [Project Metadata](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/project.py): `src/ai_project_organizer/project.py`
- [Project Registry](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/project_registry.py): `src/ai_project_organizer/project_registry.py`
- [Metadata Form](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/project_metadata_form.py): `src/ai_project_organizer/ui/project_metadata_form.py`

### Workspace Organization

- [Project View](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/project_view.py): `src/ai_project_organizer/ui/project_view.py`
- [Workspace Structure](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/workspace_structure.py): `src/ai_project_organizer/workspace_structure.py`
- [Path Boundaries](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/workspace_paths.py): `src/ai_project_organizer/workspace_paths.py`
- [File Browser](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/file_tree.py): `src/ai_project_organizer/ui/file_tree.py`
- [Document List](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/document_list_panel.py): `src/ai_project_organizer/ui/document_list_panel.py`
- [Section Panel](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/section_panel.py): `src/ai_project_organizer/ui/section_panel.py`

### Implementation Packages

- [Package Workspace](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/package_workspace_panel.py): `src/ai_project_organizer/ui/package_workspace_panel.py`
- [Package Drop List](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/implementation_package_drop_list.py): `src/ai_project_organizer/ui/implementation_package_drop_list.py`
- [Package Archive Logic](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/implementation_package.py): `src/ai_project_organizer/implementation_package.py`
- [Package Install Dialog](https://github.com/wysl-2/aiprojectorganizer/blob/main/src/ai_project_organizer/ui/package_install_dialog.py): `src/ai_project_organizer/ui/package_install_dialog.py`

### Other components

- **User**

## Connections

- User → Desktop Startup: starts (evidence: `src/ai_project_organizer/app.py`)
- Desktop Startup → Application Theme: applies (evidence: `src/ai_project_organizer/app.py`)
- Desktop Startup → Main Window: opens (evidence: `src/ai_project_organizer/app.py`)
- Project Metadata → Workspace Structure: initializes (evidence: `src/ai_project_organizer/project.py`)
- File Browser → Path Boundaries: checks boundaries (evidence: `src/ai_project_organizer/ui/file_tree.py`)
- Project View → Workspace Structure: reads structure (evidence: `src/ai_project_organizer/ui/project_view.py`)
- Main Window → Project View: sets workspace (evidence: `src/ai_project_organizer/ui/main_window.py`)
- Main Window → Package Install Dialog: handles install (evidence: `src/ai_project_organizer/ui/main_window.py`)
- Project View → Package Workspace: embeds panel (evidence: `src/ai_project_organizer/ui/project_view.py`)
- Package Workspace → Package Archive Logic: uses package logic (evidence: `src/ai_project_organizer/ui/package_workspace_panel.py`)
- Package Workspace → Package Drop List: uses drop list (evidence: `src/ai_project_organizer/ui/package_workspace_panel.py`)
- Document List → Section Panel: extends (evidence: `src/ai_project_organizer/ui/document_list_panel.py`)
- Document List → UI Resources: loads icons (evidence: `src/ai_project_organizer/ui/document_list_panel.py`)
