Skip to content

Introduction

FSH Lint is a fast, powerful linter for FHIR Shorthand (FSH) files.

FHIR Shorthand (FSH) is a domain-specific language created to simplify the creation of FHIR Implementation Guides (IGs). It allows you to define FHIR resources, profiles, extensions, and value sets in a concise, human-readable format.

Writing FSH by hand can be error-prone. FSH Lint helps you:

  • Catch errors early - Find issues before SUSHI compilation
  • Maintain consistency - Enforce naming conventions and style guides
  • Follow best practices - Learn FHIR/FSH patterns from built-in rules
  • Save time - Auto-fix many issues automatically
  • Customize validation - Write custom rules for your organization

FSH Lint is written in Rust for maximum performance and reliability. It can lint thousands of FSH files in seconds.

  • Correctness: Catch logical errors and invalid FSH
  • Style: Maintain consistent formatting and naming
  • Documentation: Ensure proper descriptions and metadata
  • Best Practices: Learn recommended FHIR patterns

Get clear, actionable error messages with:

  • Exact line and column positions
  • Code frames showing context
  • Colored diffs for suggested fixes
  • Multiple severity levels (error, warning, info, hint)

Write custom validation rules using GritQL, a powerful pattern-matching language.

First-class support for:

  • GitHub Actions
  • GitLab CI
  • Jenkins
  • Any CI/CD platform

Ready to get started?

  1. Install FSH Lint
  2. Run your first lint
  3. Configure rules