How shraman-c/watcher works
Watcher 2.0 is a Windows desktop file organizer. Users configure watched folders and rules in the React UI; the WebView2 bridge sends those requests to the .NET host, which monitors folders, applies safe organization rules, moves files, and records activity for dashboards, analytics, and undo. The graph preserves the documented shell integrations and migration capability. Some backend wiring and UI pages were not sampled, so those links rely on README statements or are omitted where no relationship is evidenced.
Main entry points: BridgeService.cs Bridge Service · FileOrganizationService.cs File Organization · MainForm.cs Desktop Host · MonitoringManager.cs Folder Monitoring
Components 21
Desktop UI and Bridge
- React Application
src/frontend/src/App.tsx - Product Views
src/frontend/src/pages - UI State Stores
src/frontend/src/stores/useMonitoringStore.ts - Bridge Client
src/frontend/src/services/bridgeClient.ts - Bridge Contracts
src/shared/contracts/contracts.ts - Desktop Host
src/desktop/Watcher.Desktop/MainForm.cs - Bridge Service
src/desktop/Watcher.Desktop/Services/BridgeService.cs
Monitoring and Organization
- Folder Monitoring
src/desktop/Watcher.Core/Monitoring/MonitoringManager.cs - Folder Watcher
src/desktop/Watcher.Core/Monitoring/FolderMonitor.cs - File Organization
src/desktop/Watcher.Core/Organization/FileOrganizationService.cs - Readiness Detection
src/desktop/Watcher.Core/Organization/FileReadinessDetector.cs - Collision Handling
src/desktop/Watcher.Core/Organization/FileCollisionResolver.cs - Loop Guard
src/desktop/Watcher.Core/Organization/InfiniteLoopGuard.cs - Rule Engine
src/desktop/Watcher.Core/Rules/RuleEngine.cs - Default Categories
src/desktop/Watcher.Core/Rules/DefaultCategories.cs
Persistence and Migration
- SQLite Database
src/desktop/Watcher.Infrastructure/Database/DatabaseContext.cs - Repositories
src/desktop/Watcher.Infrastructure/Repositories - Legacy Config Migration
src/desktop/Watcher.Infrastructure/Configuration/LegacyConfigMigrator.cs - Activity History
src/desktop/Watcher.Infrastructure/Repositories/ActivityRepository.cs
Windows Integration
- Windows Services
src/desktop/Watcher.Infrastructure/Windows
Other components
- User
Connections 26
- User → React Application: uses
- React Application → Product Views: renders
src/frontend/src/App.tsx - React Application → UI State Stores: loads state
src/frontend/src/App.tsx - Product Views → UI State Stores: requests data
src/frontend/src/pages/FoldersPage.tsx - UI State Stores → Bridge Client: calls actions
src/frontend/src/stores/useMonitoringStore.ts - Bridge Client → Bridge Contracts: uses types
src/frontend/src/services/bridgeClient.ts - Bridge Client → Bridge Service: sends RPC
- Bridge Service → Desktop Host: posts messages
- Desktop Host → Folder Monitoring: starts monitoring
- Desktop Host → Bridge Service: hosts bridge
- Folder Monitoring → Repositories: loads folders
src/desktop/Watcher.Core/Monitoring/MonitoringManager.cs - Folder Monitoring → Folder Watcher: starts watchers
src/desktop/Watcher.Core/Monitoring/MonitoringManager.cs - Folder Monitoring → File Organization: organizes existing files
src/desktop/Watcher.Core/Monitoring/MonitoringManager.cs - File Organization → Rule Engine: evaluates files
src/desktop/Watcher.Core/Organization/FileOrganizationService.cs - File Organization → Readiness Detection: checks readiness
src/desktop/Watcher.Core/Organization/FileOrganizationService.cs - File Organization → Collision Handling: resolves conflicts
src/desktop/Watcher.Core/Organization/FileOrganizationService.cs - File Organization → Loop Guard: checks paths
src/desktop/Watcher.Core/Organization/FileOrganizationService.cs - Rule Engine → Default Categories: loads defaults
src/desktop/Watcher.Core/Rules/RuleEngine.cs - Repositories → SQLite Database: reads and writes
src/desktop/Watcher.Infrastructure/Repositories/ActivityRepository.cs - Bridge Service → Repositories: serves settings and rules
src/desktop/Watcher.Desktop/Services/BridgeService.cs - Bridge Service → Activity History: serves activity
src/desktop/Watcher.Desktop/Services/BridgeService.cs - Activity History → SQLite Database: persists movements
src/desktop/Watcher.Infrastructure/Repositories/ActivityRepository.cs - Legacy Config Migration → SQLite Database: migrates configuration
- Desktop Host → Legacy Config Migration: runs migration
src/desktop/Watcher.Desktop/Program.cs - Bridge Service → Windows Services: uses shell features
src/desktop/Watcher.Desktop/Services/BridgeService.cs - Windows Services → User: notifies and launches