Introduction
FSH Lint is a fast, powerful linter for FHIR Shorthand (FSH) files.
What is FSH?
Section titled “What is FSH?”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.
Why FSH Lint?
Section titled “Why FSH Lint?”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
Key Features
Section titled “Key Features”Built in Rust 🦀
Section titled “Built in Rust 🦀”FSH Lint is written in Rust for maximum performance and reliability. It can lint thousands of FSH files in seconds.
Comprehensive Rules
Section titled “Comprehensive Rules”- 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
Beautiful Error Messages
Section titled “Beautiful Error Messages”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)
Extensible with GritQL
Section titled “Extensible with GritQL”Write custom validation rules using GritQL, a powerful pattern-matching language.
CI/CD Integration
Section titled “CI/CD Integration”First-class support for:
- GitHub Actions
- GitLab CI
- Jenkins
- Any CI/CD platform
Next Steps
Section titled “Next Steps”Ready to get started?