Run dotnet watch, fix compile errors, and verify features in browser. Use when asked to "watch", "run and test", or "build and verify".
This skill uses Gemini CLI to run dotnet watch, monitor compiler output, fix errors, and guide the user through verification steps. Because the CLI cannot drive a GUI browser, provide clear manual verification instructions (or scripted HTTP checks) once the server is running.
Trigger on requests like:
Use the run_shell_command tool to start the process.
dotnet watch --project ./src/MotoRent.Server/MotoRent.Server.csproj
Check the output:
error CS, Unhandled exception, Build FAILED, or Hot reload of changes succeededWhen errors are found:
Common error patterns:
error CS0103: The name 'X' does not exist - missing using or variableerror CS1061: 'X' does not contain a definition for 'Y' - wrong property/method nameerror CS0246: The type or namespace name 'X' could not be found - missing referenceOnce watch reports success (look for Now listening on https://localhost:<port>): port number is the value of environment variable MOTO_BaseUrl
dotnet watch so the user knows where to browse.powershell > Invoke-WebRequest or curl) against public endpoints to confirm the API responds.If verification fails:
User: watch and verify the motorbike list page works
Gemini CLI: Starting dotnet watch...
[Runs: dotnet watch --project ./src/MotoRent.Server/MotoRent.Server.csproj]
Checking build status...
Build succeeded! Server running on https://localhost:<port>
Verification plan for the user:
- Navigate to https://localhost:<port>/vehicles
- Confirm table renders 5 motorbikes with status badges and working Edit buttons
- Report any console errors
Feature verified successfully via manual walkthrough!
Build output shows:
error CS1061: 'Motorbike' does not contain a definition for 'Plates'
Gemini CLI: Found compile error. The property should be 'LicensePlate' not 'Plates'.
[Reads file, fixes the property name]
Waiting for rebuild...
Build succeeded! Verifying in browser...
Use this checklist when describing manual test steps or validating with CLI tools:
When the user asks to impersonate someone, describe the UI steps they should follow once the app is running (since Gemini CLI cannot operate the browser directly):
https://localhost:<port>/account/impersonate?user=<user_name>&account=<tenant_account_no>User: watch and test the rental page as a shop manager
Gemini CLI: Starting dotnet watch...
Build succeeded!
Ask the user to:
1. Browse to `https://localhost:<port>/account/impersonate?user=<user_name>&account=<tenant_account_no>`
3. Confirm the header shows the impersonated user, then open /rentals and verify the page
https://localhost:<port>/account/impersonate?user=<user_name>&account=<tenant_account_no> page