Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 1.69 KB

File metadata and controls

49 lines (34 loc) · 1.69 KB

AGENTS.md

Guidance for AI coding agents working in this repository.

Project

FolderSyncr is a .NET 10 WPF folder comparison and synchronization tool.

Build And Run

dotnet build .\FolderSyncr.slnx
dotnet run --project .\FolderSyncr\FolderSyncr.csproj

Important Files

  • FolderSyncr/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.

Conventions

  • 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.

Validation

Run this before committing:

dotnet build .\FolderSyncr.slnx
dotnet test .\FolderSyncr.slnx

For UI changes, also run the documented WPF smoke test:

.\scripts\Invoke-UiSmoke.ps1

See docs/AUTOMATION.md before changing the smoke test. Prefer scoped UI Automation InvokePattern checks for WPF buttons and robust process/title dialog lookup.