Skip to content

DEVELOPMENT.md — contributor setup and architecture docs #7

Description

@shanselman

Summary

Add a DEVELOPMENT.md file documenting how to build, run, and contribute to the project.

Suggested Contents

Prerequisites

  • .NET 9 SDK
  • Windows 10/11 (WinUI3/WindowsAppSDK dependency)
  • WebView2 Runtime (usually pre-installed on Windows 10+)
  • A running Clawdbot gateway instance for testing

Project Structure

  • Overview of the solution layout: Tray app, Shared library, PowerToys extension
  • Which projects depend on what
  • Where the gateway communication layer lives
  • How the notification system works (event types, categories, routing)

Building

  • dotnet build from solution root
  • Any platform/architecture notes (arm64 vs x64)
  • How to run in debug mode with Visual Studio or dotnet run

Architecture Overview

  • Gateway SSE connection and reconnect/backoff logic
  • Event parsing and structured notification types
  • WebView2 lifecycle (WebChat panel, future Canvas panel)
  • GDI handle management (icon creation/destruction pattern)
  • Session tracking and polling
  • Logging (file rotation, debug output)

Testing

  • How to test without a live gateway
  • Manual test scenarios for tray icon states, notifications, WebChat

CI

  • GitHub Actions workflow overview
  • What the CI build checks

Why This Matters

The repo is public and the project has a few moving parts (SSE streaming, WinUI3 tray, WebView2, PowerToys integration). Good contributor docs lower the barrier for PRs and help people understand the design decisions already made.

Acceptance Criteria

  • DEVELOPMENT.md exists in repo root
  • Covers build steps, prerequisites, and project structure
  • Includes architecture overview with key design decisions
  • Accurate and tested (someone can follow it cold and get a working build)

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions