← Back to Blog

Fallow: Codebase Intelligence for TypeScript & JavaScript

Rust-native. Zero config. Sub-second.

Fallow is codebase intelligence for TypeScript and JavaScript. It analyzes your codebase to find unused code, duplicated logic, complexity issues, and architecture drift across your entire project — not just individual files.

The core insight: Linters check files. TypeScript checks types. Fallow checks the codebase by building a module graph across your entire project. This enables it to find problems that file-local tools cannot.

What Fallow Finds

How Agents Use Fallow

Agents do not need to guess from limited context. They can call Fallow directly via the CLI or MCP:

  1. Generate or edit code
  2. Run `fallow --format json`
  3. Inspect dead code, duplication, health findings, and per-issue `actions`

Performance

Dead Code: Fallow vs knip

Project Files Fallow knip v5 knip v6 vs v5 vs v6
zod 174 25ms 650ms 330ms 26x 13x
fastify 286 27ms 933ms 222ms 34x 8x
preact 244 200ms 911ms 2.15s 5x 11x

Duplication: Fallow vs jscpd

Project Files Fallow jscpd Speedup
fastify 286 76ms 1.96s 26x
vue/core 522 124ms 3.11s 25x
next.js 20,416 2.89s 24.37s 8x

Framework Plugins

91 built-in plugins detect entry points, convention exports, config-defined aliases, and template-visible usage for your framework automatically.

Frameworks

Next.js, Nuxt, Remix, Qwik, SvelteKit, Gatsby, Astro, Angular, NestJS, Expo, Expo Router, Electron

Bundlers

Vite, Webpack, Rspack, Rsbuild, Rollup, Rolldown, Tsup, Tsdown, Parcel

Editor & AI Support

Runtime Intelligence (Optional)

Static analysis answers: what is connected to what? Runtime intelligence answers: what actually ran?

Fallow Runtime is the optional paid team layer. It uses runtime coverage as the collection engine (V8 dumps via `NODE_V8_COVERAGE=...` and Istanbul `coverage-final.json` files), then merges that evidence into `fallow health` so teams and coding agents can:

Install

npm install --save-dev fallow   # or: pnpm add -D fallow / yarn add -D fallow / bun add -d fallow

# For one-off CLI use
npx fallow

# Rust users
cargo install fallow-cli

# Programmatic Node API
import { Fallow } from 'fallow';
const fallow = new Fallow();
const result = await fallow.analyze();

Quick Start

# Dead code + duplication + health
fallow

# Specific checks
fallow dead-code          # Cleanup candidates
fallow dupes              # Repeated logic
fallow health             # Complexity + refactor targets

# Combined mode
fallow --production-health

CI Integration

# GitHub Action
- uses: fallow-rs/fallow@v2

# GitLab CI
include:
  - remote: https://github.com/fallow-rs/fallow/raw/main/.gitlab-ci.yml

# Quality gate
fallow audit --base HEAD~3