Skip to content

Commit 2b4a158

Browse files
committed
Add project documentation for Claude Code integration
Add CLAUDE.md file containing project overview, architecture details, build commands, and development guidance for Claude Code assistant.
1 parent ce8e164 commit 2b4a158

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

CLAUDE.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Project Overview
6+
7+
This is a .NET 9 Razor SDK library that provides common infrastructure components for Pro Reception distributed applications. The library is packaged and distributed as a NuGet package (`ProReception.DistributionServerInfrastructure`).
8+
9+
## Build and Development Commands
10+
11+
```bash
12+
# Build the project
13+
dotnet build
14+
15+
# Build in release mode
16+
dotnet build -c Release
17+
18+
# Package for NuGet (happens automatically via GitHub Actions)
19+
dotnet pack
20+
```
21+
22+
## Architecture
23+
24+
This is a shared infrastructure library with the following key components:
25+
26+
### Core Extension Methods
27+
- `WebApplicationBuilderExtensions.AddProReceptionDistributionServerInfrastructure<TSettingsManagerInterface, TSettingsManagerImplementation>()` - Main configuration method
28+
- `WebApplicationExtensions.UseProReceptionDistributionServerInfrastructure()` - Application middleware setup
29+
30+
### Settings Management System
31+
- `SettingsManagerBase<T>` - Abstract base class for app-specific settings management
32+
- `ISettingsManagerBase` - Core interface for settings operations
33+
- Settings are encrypted and stored in `%LocalAppData%\Pro Reception\{AppName}\`
34+
- Supports secure token storage and retrieval for Pro Reception API authentication
35+
36+
### Pro Reception API Client
37+
- `ProReceptionApiClient` - HTTP client for Pro Reception API endpoints
38+
- `ApiClientBase` - Base class with authentication and retry logic
39+
- Extension methods for specific API endpoints:
40+
- `ActConnectorExtensions` - ACT system integration
41+
- `NoxConnectorExtensions` - NOX system integration
42+
- `MyExtensions` - User account operations
43+
- `PrinterLabelExtensions` - Label printing functionality
44+
- `NotificationExtensions` - Push notification services
45+
46+
### Blazor Components
47+
- `<ProReceptionConnection />` - Pro Reception login/connection component
48+
- `<Logs />` - Real-time log viewing component via SignalR
49+
50+
### SignalR Hub
51+
- `LogsHub` - Real-time log streaming to connected clients
52+
- `SignalRHostedService` - Background service for SignalR operations
53+
54+
### Configuration Requirements
55+
Applications using this library must provide:
56+
```json
57+
{
58+
"ProReceptionApi": {
59+
"BaseUrl": "https://localhost:7016"
60+
}
61+
}
62+
```
63+
64+
Optional proxy configuration:
65+
```json
66+
{
67+
"Proxy": {
68+
"Address": "http://proxy-server:8080"
69+
}
70+
}
71+
```
72+
73+
### Logging
74+
- Uses Serilog with console, file, and SignalR observers
75+
- Log files written to `{SettingsDirectory}\Logs\log.txt` with daily rolling
76+
- Real-time log streaming via SignalR hub
77+
78+
### Dependencies
79+
Key external dependencies:
80+
- MudBlazor 8.1.0 (UI components)
81+
- Flurl.Http 4.0.2 (HTTP client)
82+
- Serilog.AspNetCore 9.0.0 (logging)
83+
- AuthenticatedEncryption 2.0.0 (settings encryption)
84+
- System.Reactive 6.0.1 (reactive extensions)
85+
86+
## Publishing
87+
88+
The library is automatically published to NuGet when `version.props` is updated on the main branch via GitHub Actions workflow.
89+
90+
## MudBlazor Hosting Issue
91+
92+
Due to a known issue with MudBlazor CSS/JS loading in Windows Services, the library uses Azure-hosted MudBlazor assets. When updating MudBlazor versions, the new CSS/JS files must be uploaded to the Pro Reception Azure storage account.

0 commit comments

Comments
 (0)