This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
These rules override all other instructions:
- NEVER commit directly to main - Always create a feature branch and submit a pull request
- Conventional commits - Format:
type(scope): description - GitHub Issues for TODOs - Use
ghCLI to manage issues, no local TODO files. Use conventional commit format for issue titles - Pull Request titles - Use conventional commit format (same as commits)
- Branch naming - Use format:
type/scope/short-description(e.g.,feat/ui/settings-dialog) - Working an issue - Always create a new branch from an updated main branch
- Check branch status before pushing - Verify the remote tracking branch still exists. If a PR was merged/deleted, create a new branch from main instead
- Microsoft coding guidelines - Follow Microsoft C# coding conventions and .NET library design guidelines
- WinUI 3 for all UI - All UI must use WinUI 3/XAML with modern styling (Fluent Design, theme resources, no hardcoded colors except brand purple #68217A)
- Write tests - All new/refactored code requires tests where applicable
- Run validation before commits - Run
dotnet buildand verify no errors before committing - No co-authors - Do not add co-author information on commits or pull requests
- No "generated by" statements - Do not add generated-by statements on pull requests
gh issue list # List open issues
gh issue view <number> # View details
gh issue create --title "type(scope): description" --body "..."
gh issue close <number>| Type | Description |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation only |
refactor |
Code change that neither fixes a bug nor adds a feature |
test |
Adding or updating tests |
chore |
Maintenance tasks |
perf |
Performance improvement |
ci |
CI/CD changes |
VSToolbox is a WinUI 3 desktop application for managing Visual Studio installations. It provides a system tray application to quickly launch VS instances, open developer command prompts, and access installation folders.
# Build the project
dotnet build src/CodingWithCalvin.VSToolbox/CodingWithCalvin.VSToolbox.csproj
# Run the application
dotnet run --project src/CodingWithCalvin.VSToolbox/CodingWithCalvin.VSToolbox.csproj- CodingWithCalvin.VSToolbox - Main WinUI 3 application
- CodingWithCalvin.VSToolbox.Core - Core library with models and services
App.xaml.cs- Application entry point, window management, single-instance supportMainPage.xaml- Main UI with Installed/Settings tabsMainViewModel.cs- ViewModel for VS instance discovery and launchingTrayIconService.cs- System tray icon managementSettingsService.cs- User settings persistence (JSON file in %LOCALAPPDATA%)
- Discovers installed Visual Studio instances via vswhere
- Launch VS instances directly
- Open VS Developer Command Prompt (CMD/PowerShell)
- Open installation folder in Explorer
- System tray integration with show/hide support
- Configurable startup and minimize/close behavior
- .NET 10.0 (Preview)
- WinUI 3 / Windows App SDK
- Windows 10.0.19041.0 target
- Unpackaged deployment (WindowsPackageType=None)
- Purple theme color:
#68217A - Square window corners (no rounded corners)
- Custom title bar with minimize/close buttons (no maximize)
- System tray integration
Helper scripts in scripts/ folder:
extract_icon.ps1- Extract icon from VS devenv.exeextract_large_icon.ps1- Extract large (256x256) icon from VS devenv.exe