Skip to content

Commit 9d45e87

Browse files
committed
init claude code
1 parent f466d01 commit 9d45e87

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

CLAUDE.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Build Commands
6+
7+
### Windows
8+
```bash
9+
./build.ps1
10+
```
11+
12+
### Linux/Cross-platform
13+
```bash
14+
./build-linux.ps1
15+
```
16+
17+
### Core Build Commands
18+
```bash
19+
# Build
20+
dotnet build --configuration Release
21+
22+
# Run tests (no tests currently exist)
23+
dotnet test
24+
25+
# Publish executable
26+
dotnet publish Source/VisualPairCoding/VisualPairCoding.AvaloniaUI/VisualPairCoding.AvaloniaUI.csproj \
27+
--configuration Release \
28+
--output ./artifacts \
29+
--runtime win-x64 \
30+
--self-contained true \
31+
-p:PublishSingleFile=true
32+
```
33+
34+
## Architecture Overview
35+
36+
This is a Visual Pair Coding timer application built with Clean Architecture:
37+
38+
```
39+
VisualPairCoding.Interfaces/ → Core contracts and interfaces
40+
VisualPairCoding.BL/ → Business logic and domain models
41+
VisualPairCoding.Infrastructure/ → External concerns (file I/O, JSON serialization)
42+
VisualPairCoding.AvaloniaUI/ → Cross-platform UI using Avalonia
43+
```
44+
45+
### Key Components
46+
47+
- **PairCodingSession** (BL/PairCodingSession.cs): Core session logic, timer management, participant rotation
48+
- **SessionConfiguration** (Infrastructure/): Handles saving/loading session configuration as JSON
49+
- **UI Forms**:
50+
- EnterNamesWindow: Initial participant setup
51+
- RunSessionForm: Main timer display (always-on-top)
52+
- NewturnForm: Full-screen transition between drivers
53+
54+
### Technology Stack
55+
- .NET 9.0
56+
- Avalonia UI 11.2.3 (cross-platform desktop UI)
57+
- Newtonsoft.Json for serialization
58+
59+
## Development Notes
60+
61+
- Solution file: `Source/VisualPairCoding/VisualPairCoding.sln`
62+
- Version management: `Scripts/Set-Version-Number.ps1` replaces `$$VERSION$$` placeholder during CI builds
63+
- No unit tests currently exist
64+
- Application supports command-line startup with config file path

0 commit comments

Comments
 (0)