# Agent Guide — Pick'n'Play

Also see the other related files: API.md, IIS.md, SPEC.md

## Rules

- This is a Windows environment, WSL is not installed (i.e. sed is not available). Use PowerShell commands (e.g. Get-Content with the -First and -Skip options).
- If complex scripts need to be executed, consider using python. It's installed.
- web.config in the server is different than locally, it must be exluded from deployment.
- After every iteration, evaluate if the test coverage would fall below 100%, and write tests if necessary.
- After every iteration, run "dotnet test GameList.Tests/GameList.Tests.csproj" and make sure that nothing broke.
- After every iteration, do a git commit with a brief summary of the changes as a commit message.
- If you find unexpected changes in the code (deletions, changes, diff results that were not communicated.), never revert them and never restore the old state. Assume that those changes happened with intent.
- After changing the backend, feel free run "dotnet build" and "dotnet ef database update". If this is blocked by a running dotnet process, feel free to kill the process and retry the operations once.
- Keep changes small and testable
- Avoid introducing new dependencies unless they remove complexity.
- Keep endpoint logic in `Endpoints/` and shared helpers/DTOs in their folders to avoid Program.cs bloat.
- Keep css and js files diversified to avoid styles.css or app.js bloat.

## Tech constraints:
- .NET 10
- ASP.NET Core Minimal API
- Static HTML/CSS/JS (no Razor Pages, no Blazor, no HTMX)
- SQLite via EF Core
- Username+Password identity (account stored in database)
- Runs on IIS (Windows Server)
