Guidance for AI coding agents working in this repository.
FolderSyncr is a .NET 10 WPF folder comparison and synchronization tool.
dotnet build .\FolderSyncr.slnx
dotnet run --project .\FolderSyncr\FolderSyncr.csprojFolderSyncr/MainWindow.xaml: main WPF UI.FolderSyncr/ViewModels/MainViewModel.cs: commands, user-facing state, theme toggle, folder picking.FolderSyncr/Services/SyncEngine.cs: compare and synchronization logic.FolderSyncr/Services/FileFilter.cs: include/exclude wildcard filtering.FolderSyncr/Services/ThemeManager.cs: light/dark theme resource updates..github/workflows/release.yml: release ZIP packaging workflow.
- Keep the app WPF-only. Do not reintroduce WinForms for folder selection; use
Microsoft.Win32.OpenFolderDialog. - Keep synchronization behavior preview-first: compare before writing files.
- Avoid generated or fake screenshots in docs. Documentation screenshots must be captured from the running app and stored as PNG files.
- After any UI, layout, or theme change, run the app and recreate the real documentation screenshots under
docs/screenshots/. - Keep release versioning aligned with GitHub release tags.
- Do not commit
bin/,obj/,.vs/, or local artifacts.
Run this before committing:
dotnet build .\FolderSyncr.slnx
dotnet test .\FolderSyncr.slnxFor UI changes, also run the documented WPF smoke test:
.\scripts\Invoke-UiSmoke.ps1See docs/AUTOMATION.md before changing the smoke test. Prefer scoped UI Automation InvokePattern checks for WPF buttons and robust process/title dialog lookup.