# tribrix23/phide architecture

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

- Interactive diagram: https://gitdiagram.com/tribrix23/phide
- Repository: https://github.com/tribrix23/phide

## Overview

phide is a native Windows IDE; its main user workflow is opening a project, editing code with language assistance and formatting, and using project and source-control tools. The repository also bundles phpMyAdmin for database administration. The README documents several product capabilities whose implementations are not present in the supplied tree or excerpts, so those are represented at the nearest supported source directory; edges are limited to documented or excerpted relationships.

Main entry points: [`include/phide/db/phpMyAdmin/libraries/classes/Controllers/Database/QueryByExampleController.php`](https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/Controllers/Database/QueryByExampleController.php) (Query by Example), [`include/phide/db/phpMyAdmin/libraries/classes/Controllers/Server/ShowEngineController.php`](https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/Controllers/Server/ShowEngineController.php) (Storage Engine Detail), [`src/main.cpp`](https://github.com/tribrix23/phide/blob/master/src/main.cpp) (Application Entry), [`src/editor/IntelliSenseEngine.cpp`](https://github.com/tribrix23/phide/blob/master/src/editor/IntelliSenseEngine.cpp) (Editor Assistance)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["IDE Shell"]
  node_entry["Application Entry<br/>[main.cpp]"]
  node_window["IDE Window<br/>[Window.hpp]"]
  node_themes["Themes"]
end

subgraph group_editing["Code Editing"]
  node_editor["Editor Assistance"]
  node_adaptive["Adaptive Learning"]
  node_prediction["Edit Prediction"]
  node_formatter["Formatting<br/>[FormatEngine.cpp]"]
  node_semantic_commit["Commit Generator"]
  node_lsp["Language Server<br/>[LspClient.cpp]"]
end

subgraph group_workspace["Project Tools"]
  node_workspace_mgr["Workspace Manager"]
  node_ignore["Ignore Rules<br/>[IgnoreEngine.cpp]"]
  node_topology["Project Topology"]
  node_source_control["Source Control"]
end

subgraph group_extensions["Extensions"]
  node_plugins["Plugin Manager<br/>[PluginManager.cpp]"]
  node_packages["Package Manager"]
end

subgraph group_database["Database Admin"]
  node_php_entry["phpMyAdmin Entry<br/>[index.php]"]
  node_qbe_controller["Query by Example"]
  node_relations[("Relation Storage<br/>[Relation.php]")]
  node_qbe_engine["QBE Query Logic"]
  node_controller_base["Controller Rendering"]
  node_engine_controller["Storage Engine Detail"]
  node_storage_engines["Storage Engines<br/>[StorageEngine.php]"]
end

node_developer(("Developer"))
node_mysql[("MySQL Server")]

node_developer -->|"opens IDE"| node_entry
node_entry -->|"starts window"| node_window
node_developer -->|"opens project"| node_workspace_mgr
node_developer -->|"edits code"| node_editor
node_editor -->|"queries completions"| node_plugins
node_developer -->|"formats code"| node_formatter
node_developer -->|"generates commit"| node_semantic_commit
node_developer -->|"views topology"| node_topology
node_developer -->|"uses Git tools"| node_source_control
node_developer -->|"manages packages"| node_packages
node_developer -->|"customizes IDE"| node_themes
node_developer -.->|"opens database tools"| node_php_entry
node_qbe_controller -->|"reads relations"| node_relations
node_qbe_controller -->|"creates QBE logic"| node_qbe_engine
node_qbe_controller -->|"inherits controller"| node_controller_base
node_engine_controller -->|"gets engine details"| node_storage_engines
node_engine_controller -->|"selects database"| node_mysql

click node_entry "https://github.com/tribrix23/phide/blob/master/src/main.cpp"
click node_window "https://github.com/tribrix23/phide/blob/master/include/phide/app/Window.hpp"
click node_workspace_mgr "https://github.com/tribrix23/phide/blob/master/src/workspace/WorkspaceManager.cpp"
click node_ignore "https://github.com/tribrix23/phide/blob/master/src/workspace/IgnoreEngine.cpp"
click node_topology "https://github.com/tribrix23/phide/tree/master/include/phide/ui"
click node_source_control "https://github.com/tribrix23/phide/tree/master/src"
click node_editor "https://github.com/tribrix23/phide/blob/master/src/editor/IntelliSenseEngine.cpp"
click node_adaptive "https://github.com/tribrix23/phide/blob/master/include/phide/editor/AdaptiveCodeEngine.hpp"
click node_prediction "https://github.com/tribrix23/phide/blob/master/src/editor/PredictionEngine.cpp"
click node_formatter "https://github.com/tribrix23/phide/blob/master/src/editor/FormatEngine.cpp"
click node_semantic_commit "https://github.com/tribrix23/phide/blob/master/src/editor/SemanticCommitEngine.cpp"
click node_lsp "https://github.com/tribrix23/phide/blob/master/src/lsp/LspClient.cpp"
click node_plugins "https://github.com/tribrix23/phide/blob/master/src/plugin/PluginManager.cpp"
click node_packages "https://github.com/tribrix23/phide/blob/master/src/ui/PackageManagerView.cpp"
click node_themes "https://github.com/tribrix23/phide/tree/master/include/phide"
click node_php_entry "https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/index.php"
click node_qbe_controller "https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/Controllers/Database/QueryByExampleController.php"
click node_relations "https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/ConfigStorage/Relation.php"
click node_qbe_engine "https://github.com/tribrix23/phide/tree/master/include/phide/db/phpMyAdmin/libraries/classes/Database"
click node_controller_base "https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/Controllers/AbstractController.php"
click node_engine_controller "https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/Controllers/Server/ShowEngineController.php"
click node_storage_engines "https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/StorageEngine.php"

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_entry,node_window,node_themes toneBlue
class node_editor,node_adaptive,node_prediction,node_formatter,node_semantic_commit,node_lsp,node_mysql toneAmber
class node_workspace_mgr,node_ignore,node_topology,node_source_control toneMint
class node_plugins,node_packages toneRose
class node_php_entry,node_qbe_controller,node_relations,node_qbe_engine,node_controller_base,node_engine_controller,node_storage_engines,node_developer toneIndigo
```

## Components

### IDE Shell

- [Application Entry](https://github.com/tribrix23/phide/blob/master/src/main.cpp): `src/main.cpp`
- [IDE Window](https://github.com/tribrix23/phide/blob/master/include/phide/app/Window.hpp): `include/phide/app/Window.hpp`
- [Themes](https://github.com/tribrix23/phide/tree/master/include/phide): `include/phide`

### Code Editing

- [Editor Assistance](https://github.com/tribrix23/phide/blob/master/src/editor/IntelliSenseEngine.cpp): `src/editor/IntelliSenseEngine.cpp`
- [Adaptive Learning](https://github.com/tribrix23/phide/blob/master/include/phide/editor/AdaptiveCodeEngine.hpp): `include/phide/editor/AdaptiveCodeEngine.hpp`
- [Edit Prediction](https://github.com/tribrix23/phide/blob/master/src/editor/PredictionEngine.cpp): `src/editor/PredictionEngine.cpp`
- [Formatting](https://github.com/tribrix23/phide/blob/master/src/editor/FormatEngine.cpp): `src/editor/FormatEngine.cpp`
- [Commit Generator](https://github.com/tribrix23/phide/blob/master/src/editor/SemanticCommitEngine.cpp): `src/editor/SemanticCommitEngine.cpp`
- [Language Server](https://github.com/tribrix23/phide/blob/master/src/lsp/LspClient.cpp): `src/lsp/LspClient.cpp`

### Project Tools

- [Workspace Manager](https://github.com/tribrix23/phide/blob/master/src/workspace/WorkspaceManager.cpp): `src/workspace/WorkspaceManager.cpp`
- [Ignore Rules](https://github.com/tribrix23/phide/blob/master/src/workspace/IgnoreEngine.cpp): `src/workspace/IgnoreEngine.cpp`
- [Project Topology](https://github.com/tribrix23/phide/tree/master/include/phide/ui): `include/phide/ui`
- [Source Control](https://github.com/tribrix23/phide/tree/master/src): `src`

### Extensions

- [Plugin Manager](https://github.com/tribrix23/phide/blob/master/src/plugin/PluginManager.cpp): `src/plugin/PluginManager.cpp`
- [Package Manager](https://github.com/tribrix23/phide/blob/master/src/ui/PackageManagerView.cpp): `src/ui/PackageManagerView.cpp`

### Database Admin

- [phpMyAdmin Entry](https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/index.php): `include/phide/db/phpMyAdmin/index.php`
- [Query by Example](https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/Controllers/Database/QueryByExampleController.php): `include/phide/db/phpMyAdmin/libraries/classes/Controllers/Database/QueryByExampleController.php`
- [Relation Storage](https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/ConfigStorage/Relation.php): `include/phide/db/phpMyAdmin/libraries/classes/ConfigStorage/Relation.php`
- [QBE Query Logic](https://github.com/tribrix23/phide/tree/master/include/phide/db/phpMyAdmin/libraries/classes/Database): `include/phide/db/phpMyAdmin/libraries/classes/Database`
- [Controller Rendering](https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/Controllers/AbstractController.php): `include/phide/db/phpMyAdmin/libraries/classes/Controllers/AbstractController.php`
- [Storage Engine Detail](https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/Controllers/Server/ShowEngineController.php): `include/phide/db/phpMyAdmin/libraries/classes/Controllers/Server/ShowEngineController.php`
- [Storage Engines](https://github.com/tribrix23/phide/blob/master/include/phide/db/phpMyAdmin/libraries/classes/StorageEngine.php): `include/phide/db/phpMyAdmin/libraries/classes/StorageEngine.php`

### Other components

- **Developer**
- **MySQL Server**

## Connections

- Developer → Application Entry: opens IDE
- Application Entry → IDE Window: starts window (evidence: `src/main.cpp`)
- Developer → Workspace Manager: opens project
- Developer → Editor Assistance: edits code
- Editor Assistance → Plugin Manager: queries completions (evidence: `src/editor/IntelliSenseEngine.cpp`)
- Developer → Formatting: formats code
- Developer → Commit Generator: generates commit
- Developer → Project Topology: views topology
- Developer → Source Control: uses Git tools
- Developer → Package Manager: manages packages
- Developer → Themes: customizes IDE
- Developer → phpMyAdmin Entry: opens database tools
- Query by Example → Relation Storage: reads relations (evidence: `include/phide/db/phpMyAdmin/libraries/classes/Controllers/Database/QueryByExampleController.php`)
- Query by Example → QBE Query Logic: creates QBE logic (evidence: `include/phide/db/phpMyAdmin/libraries/classes/Controllers/Database/QueryByExampleController.php`)
- Query by Example → Controller Rendering: inherits controller (evidence: `include/phide/db/phpMyAdmin/libraries/classes/Controllers/Database/QueryByExampleController.php`)
- Storage Engine Detail → Storage Engines: gets engine details (evidence: `include/phide/db/phpMyAdmin/libraries/classes/Controllers/Server/ShowEngineController.php`)
- Storage Engine Detail → MySQL Server: selects database (evidence: `include/phide/db/phpMyAdmin/libraries/classes/Controllers/Server/ShowEngineController.php`)
