diff --git a/CLAUDE.md b/CLAUDE.md index 209624d..cd565c7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -13,7 +13,32 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co 5. **Branch naming** - Use format: `type/scope/short-description` (e.g., `feat/ui/settings-dialog`) 6. **Working an issue** - Always create a new branch from an updated main branch 7. **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 -8. **WPF for all UI** - All UI must be implemented using WPF (XAML/C#). No web-based technologies (HTML, JavaScript, WebView) +8. **Microsoft coding guidelines** - Follow [Microsoft C# coding conventions](https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions) and [.NET library design guidelines](https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/) +9. **WPF for all UI** - All UI must be implemented using WPF (XAML/C#). No web-based technologies (HTML, JavaScript, WebView) + +--- + +### GitHub CLI Commands + +```bash +gh issue list # List open issues +gh issue view # View details +gh issue create --title "type(scope): description" --body "..." +gh issue close +``` + +### Conventional Commit Types + +| 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 | ### VSIX Development Rules @@ -25,7 +50,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co **Build Configuration:** - Configurations: Debug and Release -- Platform: AnyCPU +- Platform: AnyCPU (or x64 where required) - Build Tools: Latest 17.* release - VSSDK: Latest 17.* release @@ -45,35 +70,13 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co **Development Environment:** - Required extension: Extensibility Essentials 2022 -- Helper library: VsixCommunity Toolkit +- Helper library: Community.VisualStudio.Toolkit (where applicable) **Documentation:** - README should be exciting and use emojis --- -### GitHub CLI Commands - -```bash -gh issue list # List open issues -gh issue view # View details -gh issue create --title "type(scope): description" --body "..." -gh issue close -``` - -### Conventional Commit Types - -| 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 | - ---- - ## Project Overview Git Ranger is a Visual Studio 2022/2026 extension for Git management, bringing GitLens-style functionality with theme-adaptive vibrant colors. Features include inline blame annotations, blame gutter margins, file history, and an interactive git graph. @@ -81,15 +84,13 @@ Git Ranger is a Visual Studio 2022/2026 extension for Git management, bringing G ## Build Commands ```bash -# Restore NuGet packages -nuget restore src/CodingWithCalvin.GitRanger.slnx +# Build the solution +dotnet build src/CodingWithCalvin.GitRanger/CodingWithCalvin.GitRanger.csproj -# Build (Release) -msbuild src/CodingWithCalvin.GitRanger/CodingWithCalvin.GitRanger.csproj /p:configuration=Release /p:DeployExtension=False +# Build Release +dotnet build src/CodingWithCalvin.GitRanger/CodingWithCalvin.GitRanger.csproj -c Release ``` -The `/p:DeployExtension=False` flag prevents auto-deployment during CI builds. Remove it for local development to auto-deploy to the VS experimental instance. - ## Architecture ### VS Extension Pattern @@ -133,7 +134,7 @@ The extension follows the standard Visual Studio SDK pattern: GitHub Actions workflows in `.github/workflows/`: - `commit-lint.yml` - Validates PR titles and commit messages -- `release_build_and_deploy.yml` - Builds on PR and main branch push, creates VSIX artifact +- `build.yml` - Builds on PR and main branch push, creates VSIX artifact - `preview-changelog.yml` - Preview release notes - `publish.yml` - Manual trigger to publish to VS Marketplace