Fallow

Version: 2.22.1 darwin linux windows javascript typescript static-code-analysis

Linters enforce style. Formatters enforce consistency. Fallow enforces relevance.

AI writes code. Nobody deletes it. Every file added by an agent, every export left after a refactor, every boundary your architecture agreed to enforce — it accumulates. Linters work file by file. TypeScript works type by type. Neither builds the full , so neither can see what nothing depends on.

Fallow does. One pass covers unused code, circular dependencies, architecture boundary violations, duplicated logic, and complexity hotspots. Rust-native, deterministic, zero configuration. Most projects finish in under a second. Run it today.

Installation Instructions

Linux

Download Fallow
{
  "url": "{{ .SVar `.tool.fallow.download.url` }}",
  "destination_folder": "{{ .PDownloads }}",
  "output_filename": "{{ .SVar `.tool.fallow.download.filename` }}",
  "overwrite": false
}
Extract Fallow Release
{
  "destination": "{{ .PTools }}/fallow/{{ .SVar `.tool.fallow.download.version` }}",
  "skip_symlinks": true,
  "preserve_permissions": true,
  "remove_existing": true,
  "source": "{{ .PDownloads }}/{{ .SVar `.tool.fallow.download.filename` }}"
}

MacOS

Download Fallow
{
  "url": "{{ .SVar `.tool.fallow.download.url` }}",
  "destination_folder": "{{ .PDownloads }}",
  "output_filename": "{{ .SVar `.tool.fallow.download.filename` }}",
  "overwrite": false
}
Extract Fallow Release
{
  "destination": "{{ .PTools }}/fallow/{{ .SVar `.tool.fallow.download.version` }}",
  "skip_symlinks": true,
  "preserve_permissions": true,
  "remove_existing": true,
  "source": "{{ .PDownloads }}/{{ .SVar `.tool.fallow.download.filename` }}"
}

Binaries