Windows Remote Access Tool Hub
wrath is a native Windows (.NET 8 + WinUI 3) remote access hub that centralizes connection profiles, protocol launch, and session history with a layered architecture designed for incremental MVP development.
Daily remote operations on Windows usually involve multiple disconnected tools for RDP, SSH, profile management, and launch tracking. wrath provides one Windows-first workspace that keeps those workflows together while staying cleanly structured for long-term maintenance.
- Connection profiles (name, host, port, protocol, group, tags)
- Protocol abstraction and provider dispatch
- RDP and SSH launch providers
- Session history with launch outcomes
- SQLite persistence with schema version metadata
- Layered architecture (Domain/Application/Infrastructure/Security/Protocols/UI)
- Domain: core entities, validation, and contracts
- Application: orchestration services and operation results
- Infrastructure: SQLite initialization/migrations and repositories
- Security: vault abstraction and registration point
- Protocols: protocol contracts and provider implementations
- UI: WinUI shell + MVVM view models/pages
Dependency direction:
UI -> Application -> DomainInfrastructure,Protocols, andSecurityimplement interfaces consumed byApplicationand are wired inwrath.app.
src/wrath.app— WinUI host, composition root, shell pagessrc/wrath.ui— MVVM primitives + view modelssrc/wrath.application— use-case servicessrc/wrath.domain— domain model and rulessrc/wrath.infrastructure— SQLite persistence and migration runnersrc/wrath.security— credential vault abstractionsrc/wrath.protocols.abstractions— protocol contracts and dispatchersrc/wrath.protocols.rdp—mstsc.exelaunch providersrc/wrath.protocols.ssh—ssh.exelaunch providertests/*— domain and application testsassets/branding— logo and brand docsassets/icons— icon export targets
Requirements:
- Windows 10/11
- .NET 8 SDK
- WinUI 3 / Windows App SDK tooling
Commands:
dotnet restore wrath.slndotnet build wrath.slndotnet test wrath.slndotnet run --project src/wrath.app/wrath.app.csproj
- Build and run the app.
- Create a profile (RDP,
localhost, port3389, tags:lab,windows). - Confirm it appears in Connections.
- Search by name, host, and tag.
- Launch the RDP profile (
mstsc.exehandoff). - Create and launch an SSH profile (
ssh.exehandoff). - Open Session History and verify requested/success/failure entries.
- Confirm
%LOCALAPPDATA%\wrath\wrath.dbexists.
- Build blocker in
VaultPolicynamed arguments corrected. - WinUI shell includes a dark-first branding pass (header, subtitle, color tokens, styled primary actions).
- Connection create/edit, search, launch orchestration, and session recording remain intact.
- SQLite migration bootstrap includes schema metadata (
DatabaseMetadata.SchemaVersion).
- Phase 1 – Stabilize MVP: build reliability, diagnostics, DB migration coverage
- Phase 2 – UX improvements: denser list controls, better edit/search UX
- Phase 3 – Security / credential vault: concrete Windows credential integration
- Phase 4 – Protocol expansion: SFTP/HTTPS providers and plugin growth
- Phase 5 – Enterprise capabilities: policy controls, import/export, audit depth
Primary colors:
- Electric Blue
#0078D4 - Deep Tech Blue
#1F6FEB - Sunset Orange
#FF6A3D - Graphite
#111111 - Background Dark
#0A0F18 - Surface
#121A26 - Border
#223045 - Text Primary
#E6EDF3 - Text Secondary
#8B949E
Logo usage rules:
- Use the provided logo as the primary mark.
- Do not rotate the logo.
- Do not alter gradients.
- Do not add shadow effects.
Theme/type direction:
- Dark-first, minimal, Windows-native presentation.
- Segoe UI Variable for app shell UX.
- Cascadia Code is preferred for documentation-oriented brand treatments.
Icon/export targets:
assets/branding/wrath-logo-1024.pngassets/branding/wrath-logo-512.pngassets/branding/wrath-logo-256.pngassets/branding/wrath-logo-128.pngassets/icons/wrath-logo-64.pngassets/icons/wrath-logo-32.pngassets/icons/wrath-logo-16.pngassets/icons/wrath.ico
- Keep UI thin (presentation/state only).
- Keep domain rules in
wrath.domain. - Keep orchestration and error shaping in
wrath.application. - Keep external system integration in
wrath.infrastructure,wrath.protocols.*, andwrath.security.
