Skip to content

FSH Lint

Catch errors early with blazing-fast FSH linting

⚡ Blazing Fast

Built in Rust for maximum performance. Lint thousands of FSH files in seconds.

🔍 Comprehensive Rules

Extensive rule set covering FHIR and FSH best practices, from correctness to style.

🎨 Beautiful Errors

Rich, colorful diagnostics with code frames, diffs, and actionable suggestions.

🔧 Extensible

Write custom validation rules using powerful GritQL patterns.

⚙️ Configurable

Fine-tune every aspect with flexible JSON/JSONC configuration.

🚀 CI/CD Ready

First-class support for GitHub Actions, GitLab CI, and other platforms.

Terminal window
# Install
cargo install fsh-lint
# Initialize configuration
fsh-lint init
# Lint your FSH files
fsh-lint lint **/*.fsh
error[correctness/duplicate-definition]: Duplicate profile definition
> 15 │ Profile: PatientProfile
│ ^^^^^^^^^^^^^^ Profile 'PatientProfile' is already defined
16 │ * name 1..1 MS
17 │ * gender 1..1
i Safe fix: Rename this profile to avoid duplication
15 │ - Profile: PatientProfile
│ ^^^^^^^^^^^^^^^^
15 │ + Profile: PatientProfile2
│ ^^^^^^^^^^^^^^^^^

FHIR Shorthand (FSH) is a domain-specific language for defining FHIR Implementation Guides. FSH Lint helps you catch errors early and maintain high-quality FHIR profiles.