Skip to content

Commit 291a892

Browse files
committed
chore(claude): standardize requirements
1 parent c360587 commit 291a892

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,3 +279,7 @@ $RECYCLE.BIN/
279279

280280
# Windows shortcuts
281281
*.lnk
282+
283+
# Claude Code local settings
284+
CLAUDE.local.md
285+
.claude/

CLAUDE.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Critical Rules
6+
7+
**These rules override all other instructions:**
8+
9+
1. **NEVER commit directly to main** - Always create a feature branch and submit a pull request
10+
2. **Conventional commits** - Format: `type(scope): description`
11+
3. **GitHub Issues for TODOs** - Use `gh` CLI to manage issues, no local TODO files. Use conventional commit format for issue titles
12+
4. **Pull Request titles** - Use conventional commit format (same as commits)
13+
5. **Branch naming** - Use format: `type/scope/short-description` (e.g., `feat/ui/settings-dialog`)
14+
6. **Working an issue** - Always create a new branch from an updated main branch
15+
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
16+
8. **WPF for all UI** - All UI must be implemented using WPF (XAML/C#). No web-based technologies (HTML, JavaScript, WebView)
17+
18+
---
19+
20+
### GitHub CLI Commands
21+
22+
```bash
23+
gh issue list # List open issues
24+
gh issue view <number> # View details
25+
gh issue create --title "type(scope): description" --body "..."
26+
gh issue close <number>
27+
```
28+
29+
### Conventional Commit Types
30+
31+
| Type | Description |
32+
|------|-------------|
33+
| `feat` | New feature |
34+
| `fix` | Bug fix |
35+
| `docs` | Documentation only |
36+
| `refactor` | Code change that neither fixes a bug nor adds a feature |
37+
| `test` | Adding or updating tests |
38+
| `chore` | Maintenance tasks |
39+
40+
---
41+
42+
## Project Overview
43+
44+
VS-BreakpointNotifier is a Visual Studio 2022 extension (VSIX) that displays a message box notification when a breakpoint is hit during debugging. This helps developers who are multi-tasking while waiting for breakpoints to trigger.
45+
46+
## Build Commands
47+
48+
```bash
49+
# Restore NuGet packages
50+
nuget restore src/CodingWithCalvin.BreakpointNotifier.sln
51+
52+
# Build Release (x64)
53+
msbuild src/CodingWithCalvin.BreakpointNotifier/CodingWithCalvin.BreakpointNotifier.csproj /p:configuration=Release /p:platform=x64 /p:DeployExtension=False
54+
55+
# Build Debug (x64)
56+
msbuild src/CodingWithCalvin.BreakpointNotifier/CodingWithCalvin.BreakpointNotifier.csproj /p:configuration=Debug /p:platform=x64 /p:DeployExtension=False
57+
```
58+
59+
Output: `bin\x64\{Configuration}\CodingWithCalvin.BreakpointNotifier.vsix`
60+
61+
## Development Setup
62+
63+
- Requires Visual Studio 2022 with C# development workload
64+
- Install "Extensibility Essentials 2022" extension for VS development
65+
- Open `CodingWithCalvin.BreakpointNotifier.sln` in Visual Studio
66+
- Test by running in experimental VS instance (F5 from VS)
67+
68+
## Architecture
69+
70+
The extension has a minimal architecture with two core files:
71+
72+
- **BreakpointNotifierPackage.cs** - Main VS Package class extending `AsyncPackage`. Initializes on solution load and sets up the debugger event handler.
73+
74+
- **DebuggerEvents.cs** - Implements `IVsDebuggerEvents` interface. Listens for debugger mode changes and shows a MessageBox when `DBGMODE.DBGMODE_Break` is triggered.
75+
76+
## Technology Stack
77+
78+
- C# / .NET Framework 4.8
79+
- Visual Studio SDK (v17.0+)
80+
- VSIX v3 package format
81+
- x64 architecture only
82+
83+
## CI/CD
84+
85+
GitHub Actions workflows in `.github/workflows/`:
86+
87+
- **release_build_and_deploy.yml** - Triggered on push to main or PR. Versions, builds, and uploads VSIX artifact.
88+
- **publish.yml** - Manual trigger to publish to VS Marketplace and create GitHub release.
89+
90+
Versioning is automated via `CodingWithCalvin/GHA-VSVsixVersioner` action.

0 commit comments

Comments
 (0)