CLAUDE.md
CLAUDE.mdCLAUDE.mdroot
Quality
81/100
Scores the file, not the repository.Length
662 words
9 headings · 4 code blocksRepository
2
— · pushed 311 days agoLast changed
3 days ago
First indexed 3 days ago.1# CLAUDE.md23This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.45## Build and Development Commands67**Build the application:**8```bash9npm run build10```1112**Run the application in development:**13```bash14npm run dev15```1617**Run the application (production):**18```bash19npm start20```2122**Package the application:**23```bash24npm run package25```2627## Architecture Overview2829This is an Electron application built with TypeScript and React that manages development environments for the Steam game "Schedule I". The application provides automated branch management, DepotDownloader integration, and comprehensive Steam library detection.3031### Core Architecture Patterns3233**Electron Multi-Process Architecture**: The application uses Electron's standard architecture:34- **Main Process**: Node.js backend handling system operations and Steam integration35- **Renderer Process**: React frontend with secure IPC communication36- **Preload Script**: Secure bridge between main and renderer processes3738**IPC Communication**: All communication between processes uses Electron's IPC system with type-safe interfaces defined in the preload script.3940### Key Components4142**Main Process Services** (`src/main/services/`):43- `ConfigService`: Manages persistent configuration storage in AppData with DepotDownloader settings44- `LoggingService`: File-based logging implementation45- `CredentialService`: Secure Steam credential storage and encryption46- `UpdateService`: Application update checking and management4748**IPC Handlers** (`src/main/ipc/`):49- `steamHandlers.ts`: Steam library detection, manifest parsing, and branch detection50- `depotdownloaderHandlers.ts`: DepotDownloader integration replacing legacy SteamCMD51- `configHandlers.ts`: Configuration management operations52- `fileHandlers.ts`: File operations with progress tracking53- `steamLoginHandlers.ts`: Steam authentication and credential management5455**React Components** (`src/renderer/components/`):56- `SetupWizard/`: Multi-step setup process with DepotDownloader configuration57- `ManagedEnvironment/`: Main interface for environment management58- `Settings/`: Configuration and preferences management59- Progress dialogs and confirmation components6061**Shared Types** (`src/shared/types.ts`):62- `DevEnvironmentConfig`: Central configuration interface with DepotDownloader integration63- Steam-related interfaces and branch management types6465### Application State Management6667**Configuration Storage**: Uses JSON serialization to AppData (`%LOCALAPPDATA%\TVGS\Schedule I\Developer Env\config\`)6869**Branch Management**: Supports four branch types: main-branch, beta-branch, alternate-branch, alternate-beta-branch7071**DepotDownloader Integration Features**:72- Modern Steam depot downloading with simplified command syntax73- Automatic Steam Guard support with QR codes74- Parallel downloads with configurable thread counts75- Better error handling and progress reporting compared to legacy SteamCMD76- Installation via Windows Package Manager (winget) or manual download77- Manifest-based build ID extraction for branch verification7879**Steam Integration Features**:80- Automatic Steam library detection with multi-library support81- Steam manifest parsing for build ID extraction82- Branch detection via Steam's appinfo files83- Wait-for-branch-switch functionality for user-initiated Steam branch changes8485### UI Design Principles8687**Modern Electron Interface**: Dark-themed interface with:88- Custom title bar with window controls89- Progress tracking for file operations90- Multi-step setup wizard91- Responsive layout design9293**User Experience**: Prioritizes simplicity and automation:94- Guided setup process with validation95- Real-time progress feedback96- Clear error messaging and recovery options9798### Dependencies99100**Core Framework**:101- Electron with TypeScript102- React for the renderer process103- Node.js backend services104105**Key Dependencies**:106- `electron`: Application framework107- `react`: UI library for renderer process108- Various Node.js packages for Steam integration and file operations109110## Development Notes111112**DepotDownloader Migration**:113- Migrated from legacy SteamCMD to modern DepotDownloader for improved reliability114- Simplified command syntax: `-app 3164500 -branch beta -username user -password pass -dir path`115- Better Steam Guard support with QR code authentication116- Parallel downloads with configurable thread counts117- Enhanced error handling and progress reporting118119**Key Technical Details**:120- **Steam App ID**: Schedule I is hardcoded as "3164500"121- **Branch Mapping**: main-branch → public, beta-branch → beta, etc.122- **Build ID Extraction**: Uses manifest files instead of SteamCMD's app_info_print123- **Configuration**: Stored in `%LOCALAPPDATA%\TVGS\Schedule I\Developer Env\config\`124125**Architecture Patterns**:126- IPC handlers in main process for all system operations127- Type-safe API exposure through preload script128- React components with progress tracking and validation129- Secure credential storage with encryption130131**Testing Strategy**:132- Manual testing of UI flows and Steam integration133- Validation of DepotDownloader installation and authentication134- Progress tracking verification for file operations135- Configuration persistence testing136137**File Operations**: Large file operations (environment copying and downloading) show progress with proper cancellation support through Electron IPC communication.
Also in SirTidez/Schedule-I-Developer-Environment-Utility
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| SirTidez/Schedule-I-Developer-Environment-UtilityAGENTS.md · 2 | AGENTS.md | buildteststylearch+4 | 90/100 | 3 days ago |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| Adit-Jain-srm/NightmareNetCLAUDE.md · 45 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 3 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 3 days ago | |
| microsoft/playwrightCLAUDE.md · 94k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 3 days ago | |
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 3 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.4k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 3 days ago | |
| filamentphp/filamentCLAUDE.md · 32k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 3 days ago | |
| dotCMS/coreCLAUDE.md · 949 | CLAUDE.md | setupbuildteststyle+7 | 99/100 | today | |
| lollipopkit/flutter_server_boxCLAUDE.md · 8.3k | CLAUDE.md | buildteststylearch+2 | 98/100 | 3 days ago |
