Files
YMhut-box-C-/docs/architecture.md
T
QWQLwToo f59190251d
build-winui / winui (push) Has been cancelled
Add project metadata and docs
2026-06-26 13:26:40 +08:00

20 lines
968 B
Markdown

# Architecture
YMhut Box is split into a WinUI app and a reusable Core library.
## Layers
- `YMhut.Box.WinUI`: window shell, navigation, pages, App Installer update trigger and Windows integration.
- `YMhut.Box.Core`: settings, log, HTTP/API, local data, system snapshots, tool catalog and tool execution.
- `YMhut.Box.Tests`: MSTest coverage for migration-critical services and tool behavior.
## Services
The WinUI app builds a DI container in `AppServices.Configure()` and registers settings, logging, HTTP/API, update, data, system metrics, startup, window state and tool worker services.
Tool pages call `IToolWorkerService` and `ToolExecutor`; API-backed tools go through `IApiManager`, which owns endpoint resolution, timeout behavior, logging and cache boundaries.
## Tool Contract
Every tool is registered as an `IToolModule` with stable metadata. `ToolCatalog` is a static C# registry and no longer reads a runtime tool registry from another project.