# loeffel-io/ls-lint

An extremely fast directory and filename linter - Bring some structure to your project filesystem

Repository: https://github.com/loeffel-io/ls-lint
Canonical: https://ross.abutalabs.com/products/ls-lint
Homepage: https://ls-lint.org
Language: Go
License: MIT
License Family: permissive
Topics: linter, filesystem-linter, ls-lint
Last push: 2026-08-21T10:31:07+00:00

## Health v2 (maintenance only)
Score: 74/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 28, longevity 100
- inputs: {"age_days": 2390, "days_push": 12, "days_rel": 455, "gap_med": 68, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2417, forks 45 (observed 2026-08-28T04:06:50.302894+00:00)

## What it is
ls-lint is an extremely fast directory and filename linter written in Go that enforces naming conventions via simple .ls-lint.yml configuration files. It supports all extensions, full unicode, and lints thousands of files in milliseconds.

## Use cases
- enforce kebab-case file names in a project
- lint directory and file naming conventions in CI
- check that test files follow camelCase naming
- validate filename structure across monorepo packages
- add filename linting as a GitHub Action
- ensure consistent naming for all file extensions

## When to choose
- you need fast filename/directory naming convention enforcement
- you want minimal setup with a single YAML config
- you need cross-platform support including npm, Homebrew, Docker, and GitHub Actions

## When to avoid
- you need to lint file contents rather than names
- you need highly custom lint rules beyond naming patterns

## Facets
- artifact type: cli-tool
- maturity: active
- function: linter, cli, file-system, developer-tools
- domain: developer-tools, files
- platform: windows, cli
- tags: filename-linter, filesystem-linter, naming-conventions, yaml-config, github-action, command-line, automation, linux, macos, docker, nodejs

## Member repositories
- loeffel-io/ls-lint (main) score 74

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:50.302894+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:33:07.749857+00:00, confidence not recorded.
  - readme: https://github.com/loeffel-io/ls-lint (fetched 2026-08-28T04:06:50.302894+00:00, sha 04b8cf5e645d)
  - homepage: https://ls-lint.org (fetched 2026-08-29T10:13:41.251526+00:00, sha f9c4c71d202a)
  - site_page: https://ls-lint.org/2.3/getting-started/introduction.html (fetched 2026-08-29T10:13:41.258070+00:00, sha def71391bf6c)
  - site_page: https://ls-lint.org/2.2/getting-started/introduction.html (fetched 2026-08-29T10:13:41.260157+00:00, sha f56819db8d98)
  - site_page: https://ls-lint.org/2.1/getting-started/introduction.html (fetched 2026-08-29T10:13:41.261856+00:00, sha 54a568022a4a)
  - site_page: https://ls-lint.org/2.0/getting-started/introduction.html (fetched 2026-08-29T10:13:41.263563+00:00, sha 54a568022a4a)
  - site_page: https://ls-lint.org/1.x/getting-started/introduction.html (fetched 2026-08-29T10:13:41.265148+00:00, sha 3514b286e13c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
