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.

Datos de origen

Repositorio
dotnet/fsharp
Última actividad en el origen
4 de agosto de 2026 a las 09:26
Idioma detectado de SKILL.md
inglés
Estrellas
4347
Forks
883

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
9 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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.
Ver en GitHub