Skip to content

Latest commit

 

History

History
78 lines (57 loc) · 4.61 KB

File metadata and controls

78 lines (57 loc) · 4.61 KB

Linter reference

Browse Flint checks by language or purpose. Each linter links to a dedicated page with its behavior, configuration, and examples.

Overview

Languages

Name Linter Formatter
C# dotnet-format
Go golangci-lint gofmt
Java checkstyle google-java-format
JavaScript / TypeScript biome biome-format
Kotlin ktlint ktlint
Python ruff ruff-format
Rust cargo-clippy cargo-fmt

Files / Formats

Name Linter Formatter
Dotenv dotenv-linter dotenv-linter
JSON biome biome-format
Markdown rumdl rumdl
Shell shellcheck shfmt
TOML taplo
XML xmllint
YAML ryl ryl

Tooling / CI

Name Check
Dockerfile hadolint
GitHub Actions actionlint / zizmor
Kubernetes manifests kube-linter

General

Name Check Description
EditorConfig editorconfig-checker EditorConfig compliance
Flint setup flint-setup Flint-managed setup and mise.toml layout
License headers license-header Required file header text
Links lychee Broken links
Renovate renovate-deps Dependency update configuration
Spelling typos Spelling in source and text files

Scopes

Scope: file

Invoked once per matched file.

Scope: files

Invoked once with all matched files as args; only changed files are passed.

Scope: project

Invoked once with no file args; for checks with patterns set (e.g. cargo-clippy), skipped entirely if no matching files changed, but runs on the whole project when it does run. golangci-lint is the exception — it uses --new-from-rev to scope analysis to changed code even within the project run.

Scope: native

Implemented in-process rather than via a command template. These checks may run without file arguments or use custom orchestration logic. See How Flint runs checks for the higher-level model and when to choose native vs template checks.