Hakonexa - WSL Containers Manager

July 10, 2026 · View on GitHub

日本語版 README

Note: Linked repository Markdown documents are currently mostly written in Japanese.

Hakonexa - WSL Containers Manager is a WinUI / .NET desktop application for managing containers on WSL (Windows Subsystem for Linux). It targets the new WSL Containers platform (wslc CLI / WSL Container API, Public Preview) and aims to provide a native Windows experience for day-to-day container, image, volume, network, log, shell, and WSL resource management.

This repository is also a small experiment in using the combination of .NET Agents skills and WinUI Agents skills to build a real desktop application with the GitHub Copilot app.

Screenshot

Hakonexa dashboard screenshot

Current status

The application is no longer just a scaffold. The solution contains the clean architecture projects and implements the main WinUI shell plus management screens for:

  • dashboard summary and running container resource usage
  • container list, start, stop, restart, delete, details, logs, and interactive exec shell
  • image list, pull, run, and remove
  • volume list, create, and remove
  • network list, create, and remove
  • settings for WSL integration status and WSL resource limits

The managed platform, WSL Containers, is still in Public Preview, so runtime behavior and APIs may change. See docs/reference/wsl-containers-platform.md for the current platform notes and primary references.

Architecture

The repository follows a clean architecture-oriented four-layer structure:

LayerResponsibility
DomainEntities, value objects, and domain rules
ApplicationUse cases and interfaces for external dependencies
Infrastructurewslc CLI integration and concrete system I/O
PresentationWinUI views, view models, navigation, localization, and DI composition

See docs/design/architecture-overview.md for the current architecture snapshot and ADR-0005 for the layering decision.

Documentation

DirectoryContents
docs/specs/Feature specifications: what the app should do
docs/design/Current design snapshots
docs/adr/Architecture Decision Records
docs/reference/External platform references, including WSL Containers
docs/privacy-policy.mdPrivacy policy for Microsoft Store submission

Development with AI coding agents

This repository is designed to be developed with GitHub Copilot CLI and other AI coding agents. Agent operating rules, including the required feature workflow, TDD policy, ADR handling, and model routing, are documented in AGENTS.md.

Building and testing

Build and test on a Windows host that natively matches the target architecture. No additional MSBuild properties are required.

# ARM64
dotnet build WslContainersDesktop.slnx -p:Platform=ARM64
dotnet test tests\WslContainersDesktop.App.Tests\WslContainersDesktop.App.Tests.csproj -p:Platform=ARM64

# x64
dotnet build WslContainersDesktop.slnx -p:Platform=x64
dotnet test tests\WslContainersDesktop.App.Tests\WslContainersDesktop.App.Tests.csproj -p:Platform=x64

Copilot CLI plugin setup

The repository workflow expects the following Copilot CLI plugins/marketplaces. These are user-level Copilot CLI settings, so they are not restored automatically by cloning the repo.

copilot plugin marketplace add dotnet/skills
copilot plugin install dotnet@dotnet-agent-skills
copilot plugin install dotnet-test@dotnet-agent-skills
copilot plugin install dotnet-msbuild@dotnet-agent-skills
copilot plugin install dotnet-nuget@dotnet-agent-skills
copilot plugin install microsoftdocs/mcp

Run the copilot plugin install commands one at a time. Running several installs in parallel can corrupt the marketplace clone used by Copilot CLI.

The winui and dotnet plugins from the awesome-copilot marketplace are expected to be installed separately in each development environment.