AI-Assisted IDE Setup for Skyline Developers

These instructions help Skyline developers configure their Windows workstation so LLM-assisted IDEs (Cursor, VS Code + Copilot/Claude, etc.) can build, test, and inspect Skyline autonomously. Perform these steps after cloning pwiz and completing the standard setup.

1. Install PowerShell 7 (UTF-8 Terminal Support)

  1. Run:
    winget install Microsoft.PowerShell
  2. Restart Cursor / VS Code.
  3. Open a terminal and confirm PowerShell 7.x:
    $PSVersionTable.PSVersion

2. Configure Cursor / VS Code Terminal

Edit .vscode/settings.json inside the pwiz workspace:

{
  "terminal.integrated.defaultProfile.windows": "PowerShell",
  "terminal.integrated.env.windows": {
    "LANG": "en_US.UTF-8",
    "LC_ALL": "en_US.UTF-8"
  }
}

This ensures all terminals use UTF-8 output with PowerShell 7.

3. Install ReSharper Command-Line Tools

Needed for the build/inspection scripts used by LLMs:

dotnet tool install -g JetBrains.ReSharper.GlobalTools

4. Install GitHub CLI (gh)

The GitHub CLI enables AI agents to review PRs, fetch issue details, and check CI status directly from the IDE terminal.

Install:

winget install GitHub.cli --accept-source-agreements --accept-package-agreements

Authenticate: Open a separate PowerShell 7 window (outside VS Code/Cursor) and run:

gh auth login

Follow the interactive prompts:

  1. Select GitHub.com as the account
  2. Select SSH as your preferred protocol for Git operations
  3. Answer No to generating a new SSH key (you should already have SSH configured via Git/TortoiseGit)
  4. Select Login with a web browser
  5. Copy the one-time code displayed, then press Enter to open the browser
  6. In the browser, click Continue to sign in with your active GitHub account
  7. Paste the one-time code (Ctrl+V) and click Continue
  8. Click Continue again if asked
  9. Click Authorize github
  10. Complete your 2FA (authenticator app, security key, etc.)
  11. Browser shows "Congratulations, you're all set!"

Verify:

gh auth status
gh pr view 3700   # Test with any open PR

Note: The gh auth login command requires an interactive terminal and will not work inside an AI agent's shell context.

5. Verify Git Line Ending Settings

Run once to ensure Windows-style line endings locally:

git config --global core.autocrlf true

6. Recommended IDE Extensions

  • VS Code / Cursor: C# Dev Kit (or C# extension), PowerShell, Markdown support
    • For VS Code - Install Copilot and Copilot chat, and Claude Code.
    • Ctrl+Shift+V - To switch to preview viewer for a .md file.
  • Browser: Markdown Viewer extension for reading ai/ docs
    • Requires registry editing to associate .md files with Chrome in Windows 10.
  • Optional: Beyond Compare / WinMerge for reviewing LLM diffs

7. Optional: Install dotCover Command Line Tools

Needed for code coverage analysis (Run-Tests.ps1 -Coverage). This is optional but recommended for analyzing test coverage of new features.

Installation options:

  1. Download from JetBrains (recommended):
  2. Install via .NET global tools:
    dotnet tool install --global JetBrains.dotCover.CommandLineTools
    Installs to: %USERPROFILE%\.dotnet\tools\dotCover.exe

Note: dotCover 2025.3.0.2 has a known bug with JSON export. If JSON export fails, use version 2025.1.7 or earlier.

See ai/docs/build-and-test-guide.md for details on using code coverage.

8. Validation Checklist

From pwiz_tools\Skyline run:

.\ai\Build-Skyline.ps1 -RunTests -QuickInspection
.\ai\Run-Tests.ps1 -TestName CodeInspection

All commands should report [OK]. Resolve any [FAILED] messages before committing.

9. Common Issues

SymptomCauseFix
gh not foundGitHub CLI not installedwinget install GitHub.cli
gh auth login hangsRunning inside agent terminalRun in separate PowerShell 7 window
jb not foundReSharper CLI missingdotnet tool install -g JetBrains.ReSharper.GlobalTools
CRLF/LF diffs everywherecore.autocrlf not setgit config --global core.autocrlf true

10. Full Details

The repository now includes a complete reference in ai/docs/developer-setup-guide.md. Review that document for rationale, troubleshooting tips, and optional productivity tools.

Last updated: 2025-12-05


previousnext
 
expand allcollapse all