Skip to content

Commit e38a5d3

Browse files
authored
docs(claude): add CLAUDE.md with development rules (#2)
1 parent 856d6de commit e38a5d3

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

CLAUDE.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
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+
### VSIX Development Rules
19+
20+
**Solution & Project Structure:**
21+
- SLNX solution files only (no legacy .sln)
22+
- Solution naming: `CodingWithCalvin.<ProjectFolder>`
23+
- Primary project naming: `CodingWithCalvin.<ProjectFolder>`
24+
- Additional project naming: `CodingWithCalvin.<ProjectFolder>.<Classifier>`
25+
26+
**Build Configuration:**
27+
- Configurations: Debug and Release
28+
- Platform: AnyCPU
29+
- Build Tools: Latest 17.* release
30+
- VSSDK: Latest 17.* release
31+
32+
**Target Frameworks:**
33+
- Main VSIX project: .NET Framework 4.8
34+
- Library projects: .NET Standard 2.0 (may use SDK-style project format)
35+
36+
**VSIX Manifest:**
37+
- Version range: `[17.0,19.0)` — supports VS 2022 through VS 2026
38+
- Architectures: AMD64 and ARM64
39+
- Prerequisites: List Community edition only (captures Pro/Enterprise)
40+
41+
**CI/CD:**
42+
- Build workflow: Automated build on push/PR
43+
- Publish workflow: Automated marketplace publishing
44+
- Marketplace config: `publish.manifest.json` for automated publishing
45+
46+
**Development Environment:**
47+
- Required extension: Extensibility Essentials 2022
48+
- Helper library: VsixCommunity Toolkit
49+
50+
**Documentation:**
51+
- README should be exciting and use emojis
52+
53+
---
54+
55+
### GitHub CLI Commands
56+
57+
```bash
58+
gh issue list # List open issues
59+
gh issue view <number> # View details
60+
gh issue create --title "type(scope): description" --body "..."
61+
gh issue close <number>
62+
```
63+
64+
### Conventional Commit Types
65+
66+
| Type | Description |
67+
|------|-------------|
68+
| `feat` | New feature |
69+
| `fix` | Bug fix |
70+
| `docs` | Documentation only |
71+
| `refactor` | Code change that neither fixes a bug nor adds a feature |
72+
| `test` | Adding or updating tests |
73+
| `chore` | Maintenance tasks |

0 commit comments

Comments
 (0)