diff --git a/CLAUDE.md b/CLAUDE.md index 78afff1..047f73d 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,44 +70,25 @@ 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 This is a Visual Studio extension that adds a right-click context menu command to open solution files, project files, or individual files in Notepad++. It targets .NET Framework 4.8 and uses the VS SDK. ## Build Commands -Build the extension (requires Visual Studio with VS SDK or .NET Framework 4.8 targeting pack): -``` -msbuild src\CodingWithCalvin.OpenInNotepadPlusPlus.slnx +```bash +# Build the solution +dotnet build src/CodingWithCalvin.OpenInNotepadPlusPlus/CodingWithCalvin.OpenInNotepadPlusPlus.csproj + +# Build Release +dotnet build src/CodingWithCalvin.OpenInNotepadPlusPlus/CodingWithCalvin.OpenInNotepadPlusPlus.csproj -c Release ``` Debug by pressing F5 in Visual Studio - this launches the VS Experimental Instance (`/rootsuffix Exp`). @@ -106,6 +112,13 @@ Path resolution in `ProjectHelpers.GetSelectedPath()` handles three selection ty The extension auto-detects Notepad++ in the default install location but allows custom paths via Tools > Options. +## CI/CD + +GitHub Actions workflows in `.github/workflows/`: + +- **build.yml** - Triggered on push to main or PR. Builds and uploads VSIX artifact. +- **publish.yml** - Manual trigger to publish to VS Marketplace. + ## Development Requirements Install the [Extensibility Essentials 2022](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.ExtensibilityEssentials2022) extension for Visual Studio.