This file is for all AI agents (Codex, Gemini, Claude, Copilot, etc.) working on this repository.
- Project: mRemoteNG — remote connections manager (RDP, SSH, VNC, etc.)
- Stack: .NET 10, WinForms, COM references (MSTSCLib for RDP ActiveX)
- Solution:
mRemoteNG.sln(SDK-style projects) - Fork:
robertpopa22/mRemoteNG(upstream:mRemoteNG/mRemoteNG) - Main branch:
main(syncs with upstreamv1.78.2-dev) - Source code:
mRemoteNG/,mRemoteNGTests/,mRemoteNGSpecs/
Do NOT use dotnet build — it fails with MSB4803 on COM references (MSTSCLib RDP ActiveX control). You MUST use MSBuild via build.ps1.
| Action | Command |
|---|---|
| Build (full) | powershell.exe -NoProfile -ExecutionPolicy Bypass -File "D:\github\mRemoteNG\build.ps1" |
| Build (fast) | powershell.exe -NoProfile -ExecutionPolicy Bypass -File "D:\github\mRemoteNG\build.ps1" -NoRestore |
| Test (all) | powershell.exe -NoProfile -ExecutionPolicy Bypass -File "D:\github\mRemoteNG\run-tests.ps1" -NoBuild |
| Test (single group) | dotnet test "mRemoteNGTests/bin/x64/Release/mRemoteNGTests.dll" --results-directory /tmp/mrt --verbosity normal --filter "FullyQualifiedName~mRemoteNGTests.Tools" |
| Kill stale tests | taskkill /F /IM testhost.exe |
--verbosity normalONLY — minimal/quiet crashes testhost on .NET 10--results-directoryoutside repo — TestResults inside repo causes cascading crashes- DLL path is
bin\x64\Release\, notbin\Release\— Platform=x64 changes the output path - No interactive tests — NEVER create tests with GUI dialogs, message boxes, or user input
Follow these steps IN ORDER. Do NOT skip any step.
- The triage suggested files may be WRONG. You MUST verify them.
- Read each suggested file (if they exist). If a suggested file doesn't exist, that's a red flag.
- Search the codebase for keywords from the issue (grep for error messages, class names, symptoms).
- Trace the code path: who calls what, where does the actual bug live?
- If the triage files are wrong, find the CORRECT file(s) with the root cause.
- Write a brief plan (max 5 lines): root cause, which file(s) to change, what to change.
- If previous attempts exist, analyze WHY each one failed — avoid repeating their mistakes.
- Only proceed to Step 2 after you have identified the correct file(s) and have a clear plan.
- Make changes according to your plan
- Do NOT change existing behavior — only fix the reported issue
- Do ONLY the fix, nothing else
- Run build:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "D:\github\mRemoteNG\build.ps1" - Run tests:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "D:\github\mRemoteNG\run-tests.ps1" -NoBuild
- If YOUR change breaks build or tests, fix it
- If tests fail for unrelated reasons, ignore
- Do NOT run git commit, git add, git push, or ANY git operations. The orchestrator handles all commits.
- NEVER modify infrastructure files:
run-tests.ps1,build.ps1,mRemoteNG.sln,Directory.Build.props,Directory.Packages.props,.github/workflows/* - NEVER modify or read files in
.project-roadmap/. You are a CODE FIXER, not a project manager. - Do NOT create interactive tests (no dialogs, MessageBox, notepad.exe, user input prompts)
- Do NOT change existing behavior — only fix the reported issue
- ONLY modify files under
mRemoteNG/,mRemoteNGTests/, ormRemoteNGSpecs/directories - Never use
dotnet build— usebuild.ps1(COM references require MSBuild)
- No narration. Don't write "Let me read the file" — just read it.
- No summaries. Don't summarize what you changed. The diff speaks for itself.
- No unnecessary comments. Don't add comments or docstrings to code you didn't change.
- Fix, don't explain. If a test fails, fix it immediately.
- One pass. Read the code, understand it, make the change.