Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 33 additions & 32 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <number> # View details
gh issue create --title "type(scope): description" --body "..."
gh issue close <number>
```

### 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

Expand All @@ -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

Expand All @@ -45,51 +70,27 @@ 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 <number> # View details
gh issue create --title "type(scope): description" --body "..."
gh issue close <number>
```

### 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.

## 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
Expand Down Expand Up @@ -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

Expand Down