Skip to main content

fsharp-diagnostics

Always invoke after editing `.fs` files under `src/Compiler/`. Fast parse/typecheck without `dotnet build`, plus symbol references and inferred type hints. Use whenever the user asks about F# errors, compile errors, type inference, finding usages, or renaming a symbol in the compiler tree.

소스 정보

저장소
dotnet/fsharp
최근 소스 활동
2026년 8월 4일 09:26
감지된 SKILL.md 언어
영어
스타
4,347
포크
883

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
9 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
fsharp-diagnostics
description
Always invoke after editing `.fs` files under `src/Compiler/`. Fast parse/typecheck without `dotnet build`, plus symbol references and inferred type hints. Use whenever the user asks about F# errors, compile errors, type inference, finding usages, or renaming a symbol in the compiler tree.
# F# Diagnostics **Scope:** `src/Compiler/` files only. ## Setup (once per session) Requires pwsh 7+ (`brew install powershell` / `winget install Microsoft.PowerShell` / `apt install powershell`). ```pwsh function GetErrors { & "$(git rev-parse --show-toplevel)/.github/skills/fsharp-diagnostics/scripts/get-fsharp-errors.ps1" @args } ``` From bash/zsh without a function: `pwsh -File <repo>/.github/skills/fsharp-diagnostics/scripts/get-fsharp-errors.ps1 <args>`. ## Parse first, typecheck second ```pwsh GetErrors -ParseOnly src/Compiler/Checking/CheckBasics.fs # syntax only GetErrors src/Compiler/Checking/CheckBasics.fs # full typecheck ``` Fix all parse errors before typechecking; type errors on top of bad syntax are noise. ## Symbol references (line 1-based, col 0-based) ```pwsh GetErrors -FindRefs src/Compiler/Checking/CheckBasics.fs 30 5 ``` Use before any rename. ## Type hints (line range, 1-based) Returns the range with inferred types as inline `// (name: Type)` comments: ```pwsh GetErrors -TypeHints src/Compiler/TypedTree/TypedTreeOps.Transforms.fs 100 120 ``` ## Other ```pwsh GetErrors -CheckProject # typecheck entire project GetErrors -Ping # liveness check, no side effects GetErrors -Shutdown ``` ## Timing - First real call after a fresh clone: server build + in-memory warmup, 5–15 min → `initial_wait=1200`. - After warmup: real commands answer in seconds → `initial_wait=180`. - `-Ping` / `-Shutdown`: sub-second; never trigger build or warmup. Auto-shuts down after 4h idle; ~3 GB RAM while running.
GitHub에서 보기