Standing rules for AI agents (and anyone) working in this repository.
The bin\Release output folders (in any project: SimpleLauncher, SimpleLauncher.Core,
SimpleLauncher.Updater, SimpleLauncher.Avalonia, SimpleLauncher.Avalonia.Updater,
Tools\*, etc.) contain the built release artifacts used for packaging and publishing.
They are intentionally kept on disk.
Rules:
- NEVER delete, move, rename, or clean files inside any
bin\Releasefolder — not individually, not with recursive cleanup, not withgit clean,dotnet clean,rm -rf,rd /s, or any other bulk operation. bin\Releasefolders are never to be touched by cleanup scripts or agents, even when asked to "clean the build output" or "remove build artifacts" — if such a request comes in, clarify it first (the requestor almost certainly meansbin\Debug/obj, or nothing at all).- If a task requires a fresh release build, rebuild over the existing
bin\Releaseoutput (dotnet build -c Releaseordotnet publish) — do not delete it first. - Deleting
bin\Debug,obj, orbin\Release\...content that the task itself just created during the same session is allowed, but only that. - These folders are gitignored (
[Bb]in/), so git operations will never touch them; the rule protects against direct filesystem operations.
- No CI: there is intentionally no CI pipeline for this solution. Verification is local:
dotnet build/dotnet testper project on Windows (plus WSL2 for the Linux paths). - No quarantine: there is no test filtering or
[Trait]-based exclusion — all tests run unfiltered in everydotnet test, including live-endpoint tests and app-launch tests. Never add a filter, quarantine, or skip mechanism back. - Bug reports: the
BugReportApiSinksends Warning+ log events to the bug-report API. Expected user-error conditions (missing files, rate limits, timeouts, unsupported input) must be logged at Information level, not Warning/Error, so they are never reported as bugs.
- Windows (per project):
dotnet build <proj>.csproj -c Debug(or-c Release) — expect 0 warnings / 0 errors. - Full WPF suite:
dotnet test SimpleLauncher.Tests/SimpleLauncher.Tests.csproj(~3 min, includes live endpoints and real app launches — no other SimpleLauncher instance may run). - Avalonia suite:
dotnet test SimpleLauncher.Avalonia.Tests/SimpleLauncher.Avalonia.Tests.csproj. - Version metadata is centralized:
SimpleLauncher/SimpleLauncher.csprojis canonical;SimpleLauncher.Core.csproj,SimpleLauncher/app.manifest, andSimpleLauncher.Updater/version.txtmust stay in sync (VersionConsistencyTestsenforces and auto-corrects this).