# Install ls-lint with Homebrew, Nix, scoop

Extremely fast file and directory name linter. Version 2.3.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:ls-lint
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ls-lint
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#ls-lint
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ls/ls-lint/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Scoop (92%):

```sh
scoop install main/ls-lint
```

  Evidence: Scoop official bucket manifest trees: bucket/ls-lint.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:ls-lint
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ls-lint>
- **Version:** 2.3.1
- **Source summary:** Extremely fast file and directory name linter
- **Homepage:** <https://ls-lint.org/>
- **Repository:** <https://github.com/loeffel-io/ls-lint>
- **Upstream docs:** <https://ls-lint.org/>
- **License:** MIT
- **Source archive:** <https://github.com/loeffel-io/ls-lint/archive/refs/tags/v2.3.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ls-lint (cli)
- ls-lint (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.3.1
- Local data: ok
- Upstream repository: https://github.com/loeffel-io/ls-lint
- Upstream latest detected: v2.3.1 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

ls-lint is a file and directory name linter that enforces naming rules from one or more `.ls-lint.yml` files.

### Project history

The official site and README present ls-lint as an extremely fast directory and filename linter intended to bring structure to project filesystems. The GitHub repository was created in February 2020, and releases show v1.0.0 published in March 2020.

The project grew into a cross-platform developer tool with documentation versions, a GitHub Action, npm distribution, Homebrew packaging, and Docker support. Its public docs emphasize minimal setup, Unicode support, and linting thousands of files and directories in milliseconds.

### Adoption history

The README advertises use by Renovate, Terser, and other projects, and GitHub metadata shows roughly 2.4k stars by July 2026. The supplied package-manager facts list Homebrew, Nix, and Scoop packages.

ls-lint fits the rise of repository hygiene tooling in CI: rather than linting code syntax, it makes naming conventions enforceable across folders, generated files, fixtures, and language-mixed monorepos.

### How it is used

Users place rules in `.ls-lint.yml` and run `ls-lint` locally or in CI. The docs and README show YAML rules that map path globs and extensions to naming styles such as kebab-case, camelCase, PascalCase, regex rules, and existence checks.

No credentials are involved. Configuration is project-local and intentionally simple, with the README describing one or multiple `.ls-lint.yml` files.

### Why package nerds care

ls-lint is notable because it treats the filesystem itself as lintable source. For package maintainers and CI users, it is a small binary that enforces repository conventions without depending on a specific programming language stack.

### Timeline

- 2020: GitHub repository created and v1.0.0 released.
- 2023: v2.0.0 released.
- 2025: v2.3.x releases published and official docs list 2.3 as the current documentation track.
- 2026: Official site copyright spans 2020-2026 and GitHub metadata shows continued activity.

### Related projects

- Related tooling includes language-specific linters, pre-commit hooks, GitHub Actions, Renovate, and repository policy tools that enforce naming or layout conventions.

### Sources

- <https://api.github.com/repos/loeffel-io/ls-lint>
- <https://api.github.com/repos/loeffel-io/ls-lint/releases?per_page=100>
- <https://github.com/loeffel-io/ls-lint>
- <https://ls-lint.org/>
- <https://raw.githubusercontent.com/loeffel-io/ls-lint/master/README.md>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: .ls-lint.yml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ls-lint
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - ls-lint: normalized package name match | nixpkgs package indexes: pkgs/by-name/ls/ls-lint/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Scoop - main/ls-lint: normalized package name match | Scoop official bucket manifest trees: bucket/ls-lint.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [actionlint](https://www.automicvault.com/pkg/brew/actionlint/) - Shares av.db curated category or tags: ci, cli, developer-tools, linting.
- [editorconfig-checker](https://www.automicvault.com/pkg/brew/editorconfig-checker/) - Shares av.db curated category or tags: ci, cli, developer-tools, linting.
- [golangci-lint](https://www.automicvault.com/pkg/brew/golangci-lint/) - Shares av.db curated category or tags: ci, cli, developer-tools, linting.
- [bashate](https://www.automicvault.com/pkg/brew/bashate/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [bpmnlint](https://www.automicvault.com/pkg/brew/bpmnlint/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [checkbashisms](https://www.automicvault.com/pkg/brew/checkbashisms/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [checkmake](https://www.automicvault.com/pkg/brew/checkmake/) - Shares av.db curated category or tags: cli, developer-tools, linting.
- [codespell](https://www.automicvault.com/pkg/brew/codespell/) - Shares av.db curated category or tags: cli, developer-tools, linting.

## Combined YAML source

View the package source record on GitHub. [combined/ls-lint.yml](https://github.com/automic-vault/db/blob/main/combined/ls-lint.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
