# Fallow > Fallow finds the code that you can delete, merge or refactor in a TypeScript or JavaScript project. The static analysis is free and open source (MIT): unused code, duplication, complexity, architecture boundaries, styling drift and feature flags. Fallow Cloud adds production call counts per function, so you can check production use before you delete or refactor code. Each docs page has a Markdown version at the page path plus `.md`, for example https://fallow.tools/docs/quickstart.md. The full text of all docs pages is in https://fallow.tools/llms-full.txt. A read-only docs MCP server (Streamable HTTP, no authentication) is at `https://fallow.tools/docs/mcp`. ## Agent access - [Agent guide](https://fallow.tools/AGENTS.md): What this site offers to agents and how to connect to it. - [Fallow agent skill](https://fallow.tools/skill.md): Instructions that teach a coding agent to run fallow and read its output. - [Authentication](https://fallow.tools/auth.md): Which parts need an account, and how the CLI and the API authenticate. - [Pricing](https://fallow.tools/pricing.md): Plans, the trial, usage limits and what happens when the trial ends. ## Getting started - [Fallow documentation](https://fallow.tools/docs/index.md): Codebase intelligence for TypeScript and JavaScript. Fallow reports health, complexity, duplication, architecture drift, styling drift, and unused code from one graph of your repository. - [Installation](https://fallow.tools/docs/installation.md): Run fallow with npx and no install, or install it with npm, pnpm, yarn, cargo, Docker, or a prebuilt binary. Binaries exist for macOS, Linux, and Windows. - [Quick start](https://fallow.tools/docs/quickstart.md): Get your first list of unused code, duplication, and complexity hotspots in under a minute. Then add fallow to VS Code, CI, MCP, or Fallow Cloud. - [Adopt Fallow in an existing repo](https://fallow.tools/docs/adoption.md): Clean up the backlog in an existing TypeScript or JavaScript codebase under one team policy, then use fallow audit to keep new changes clean. An AI agent can do the cleanup work. ## Analysis - [Analysis](https://fallow.tools/docs/analysis/index.md): What fallow analyzes: complexity and health, duplication, architecture boundaries, styling drift, unused code, and runtime coverage. Some findings have an auto-fix. - [Dead code analysis](https://fallow.tools/docs/analysis/dead-code.md): Find the code, exports, and dependencies you can delete from a TypeScript or JavaScript project. Fallow also reports class members, circular dependencies, and boundary violations from the same module graph. - [Type-aware TypeScript analysis](https://fallow.tools/docs/analysis/type-aware.md): Confirm with the TypeScript checker that a symbol is unused before you delete or refactor it. Type-aware mode adds exact evidence for symbol usage, API leaks, affected tests, and public-signature coupling. - [Code duplication](https://fallow.tools/docs/analysis/duplication.md): Find copy-pasted code in your TypeScript and JavaScript codebase and see which copies to extract first. Runs in the same binary and config as dead-code, dependency, complexity, and architecture analysis. - [Semantic similar code](https://fallow.tools/docs/analysis/similar-code.md): Find JavaScript and TypeScript functions that may do the same job under different names and syntax, so you can review them for consolidation. Uses a pinned local model, and a person or agent decides. - [Architecture boundaries](https://fallow.tools/docs/analysis/boundaries.md): Keep your architecture intact: define which directories may import from which, and fallow reports every import that breaks the rule. Start from a preset or define your own zones. - [Auto-fix](https://fallow.tools/docs/analysis/auto-fix.md): Remove unused exports, dependencies, enum members, and catalog entries with one command, and preview each change first. Works interactively, in CI, and in agent workflows. - [Runtime coverage](https://fallow.tools/docs/analysis/runtime-coverage.md): See which functions your production traffic runs, which never run, and which hot paths a change touches. Runtime coverage merges execution data into fallow health, so you can delete cold code with evidence. - [Production mode](https://fallow.tools/docs/analysis/production-mode.md): Get findings for the code you ship only. Production mode excludes test files, story files, and devDependencies, and flags dependencies that are only imported as types. - [Non-JS file types](https://fallow.tools/docs/analysis/file-types.md): Files that only HTML, Vue, Svelte, Astro, MDX, GraphQL, or CSS reference still count as used. Fallow reads these file types and React Native platform files with no plugin or config. - [CSS, SCSS, and Tailwind analysis](https://fallow.tools/docs/analysis/css-analysis.md): Find unused CSS Module classes and Tailwind tokens, and stop false unused-file and unused-dependency reports for stylesheets. Fallow resolves CSS imports, SCSS partials, @use, @forward, and Tailwind directives. - [Debugging & troubleshooting](https://fallow.tools/docs/analysis/debugging.md): Find out why fallow reports a finding, or why it misses one. Trace exports, files, dependencies, and clones, profile slow runs, and fix common false positives. - [Known limitations](https://fallow.tools/docs/analysis/limitations.md): Know where fallow can miss a finding or report a false positive, and how to work around it. Covers the limits of syntactic analysis, runtime patterns, and framework edge cases. ## Cloud - [Cloud beacon setup](https://fallow.tools/docs/cloud/beacon.md): Send production execution counts from a browser or Node service to Fallow Cloud, so you can see which functions run and which never do. Covers setup, the first-ingest check, and an empty dashboard. ## Configuration - [Configuration](https://fallow.tools/docs/configuration/overview.md): Fallow runs with no config. Add .fallowrc.json, .fallowrc.jsonc, or fallow.toml when you need to change entry points, ignore patterns, rules, or plugin settings for your project. - [Rules & severity](https://fallow.tools/docs/configuration/rules.md): Adopt fallow in CI one issue type at a time. Set each issue type to error, warn, or off to decide what fails the build. - [Inline suppression](https://fallow.tools/docs/configuration/suppression.md): Keep fallow quiet about a false positive, a library export, or an intentional exception, without turning off a rule. Use fallow-ignore comments, JSDoc visibility tags (@public, @internal, @beta, @alpha), and @expected-unused. - [Workspaces](https://fallow.tools/docs/configuration/workspaces.md): Analyze a whole monorepo with no workspace setup. Fallow detects npm, yarn, pnpm, and Deno workspaces, resolves cross-package imports, and supports per-package configuration. - [Boundaries](https://fallow.tools/docs/configuration/boundaries.md): Keep your architecture intact as the codebase grows. Fallow reports each import that crosses a layer it should not cross. Start from a built-in preset or define your own zones and rules. - [Environment variables](https://fallow.tools/docs/configuration/environment.md): Change fallow defaults for a whole CI job, editor, or MCP server without editing every command. Reference for FALLOW_FORMAT, FALLOW_QUIET, and the other environment variables. ## Integrations - [Integrations](https://fallow.tools/docs/integrations/index.md): Get fallow findings where you work: in your coding agent, in your editor, and in CI. Covers MCP, VS Code, GitHub Actions, and GitLab CI. - [Agent integration](https://fallow.tools/docs/integrations/mcp.md): Give your coding agent complete, repeatable answers about unused code, duplication, complexity hotspots, and boundary violations, plus auto-fix. Works through the CLI or MCP in Claude Code, Cursor, and Windsurf. - [Node.js bindings](https://fallow.tools/docs/integrations/node-bindings.md): Run fallow analyses from your own Node.js code and get typed results. The NAPI bindings need no CLI subprocess or JSON parsing and return the same JSON envelopes as the CLI. - [Agent Skills](https://fallow.tools/docs/integrations/agent-skills.md): Teach your coding agent to run fallow with the right commands and flags and to read the output correctly. Install the skills in Claude Code, Cursor, Windsurf, Gemini CLI, and other agents that support the Agent Skills specification. - [Fallow app for Codex](https://fallow.tools/docs/integrations/codex-app.md): See code health inside the Codex desktop app: a dashboard in the sidebar, a Code Health tab beside each thread, findings you attach to the composer, a branch audit, a cleanup form, and a config editor with an impact preview. - [Claude Code hooks](https://fallow.tools/docs/integrations/claude-hooks.md): Stop Claude Code and Codex from committing or pushing code that fails fallow audit. A PreToolUse hook blocks the command and sends the findings back to the agent to fix. - [VS Code extension](https://fallow.tools/docs/integrations/vscode.md): See unused code, duplication, complexity hotspots, and boundary violations in VS Code while you edit, and fix them in one click. Includes inline warnings and a Code Lens that counts the files that import each export. - [Neovim](https://fallow.tools/docs/integrations/neovim.md): See unused code, duplication, circular dependencies, and complexity in Neovim as you edit. Uses the built-in LSP client, with hover, quick-fix code actions, and code lens. - [CI integration](https://fallow.tools/docs/integrations/ci.md): Check every push and pull request for changed-code risk, cleanup opportunities, duplication, and complexity hotspots before they merge. Runs in GitHub Actions or GitLab CI, with SARIF upload, Code Quality reports, MR comments, inline review with suggestions, and baselines. - [Health badges](https://fallow.tools/docs/integrations/badges.md): Show your project's health score and letter grade in your README with a shields.io-compatible badge. ## Explanations - [Explanations](https://fallow.tools/docs/explanations/index.md): Understand why fallow reports what it reports, so you can trust a finding and act on it. Covers static analysis vs production data, fallow vs linters, health, duplication, and dead code. - [Static analysis vs production data](https://fallow.tools/docs/explanations/static-vs-runtime.md): Know which fallow findings you can act on from the source alone and which need production evidence. Static analysis shows what is connected, production data shows what actually ran, and fallow health combines both. - [Fallow vs linters](https://fallow.tools/docs/explanations/fallow-vs-linters.md): Find the issues your linter cannot see, and decide which tool runs which check in CI. Linters such as oxlint, ESLint, and Biome check one file at a time. Fallow checks the project graph, so you run both. - [Health explained](https://fallow.tools/docs/explanations/health.md): Find the files and functions that are most likely to cause bugs, and decide what to refactor first. Learn what each metric in fallow health output means, how fallow computes it, and how to read the values. Covers complexity, hotspots, and refactoring targets, together with dead-code and duplication findings. - [Duplication explained](https://fallow.tools/docs/explanations/duplication.md): Decide which duplicated code to extract and which to leave alone. Learn what fallow dupes reports, how to read clone groups and families, and how clone detection works. - [Dead code explained](https://fallow.tools/docs/explanations/dead-code.md): Decide which dead-code findings to fix first and which are safe to keep. Learn what each issue type in fallow dead-code output means, including unused class members with inheritance tracking and circular dependencies with no depth limit. - [Telemetry & privacy](https://fallow.tools/docs/explanations/telemetry.md): Check exactly what fallow telemetry sends before you turn it on. Telemetry is opt-in and off by default, sends no identifiers, and you can print the payload before you consent. ## Frameworks - [React & Next.js analysis](https://fallow.tools/docs/frameworks/react.md): Catch React and Next.js bugs that per-file linters cannot see, before the build: wrong client and server directives, colliding routes, dead server actions, and unused or drilled props. - [Built-in plugins](https://fallow.tools/docs/frameworks/built-in.md): Get accurate results with zero configuration. Built-in plugins detect Next.js, Vite, Jest, Tailwind, ESLint, and many other tools, and tell fallow which files and exports each tool uses. - [Custom plugins](https://fallow.tools/docs/frameworks/custom-plugins.md): Stop false positives from an internal framework or a tool that fallow does not know. A custom plugin is a JSON or TOML file that declares entry points, config files, and used exports. ## Migration - [Migrating from knip](https://fallow.tools/docs/migration/from-knip.md): Move from knip to fallow: one command converts your knip config to a fallow config. Learn what gets migrated and what to check after the move. - [Migrating from jscpd](https://fallow.tools/docs/migration/from-jscpd.md): Move from jscpd to fallow: one command converts your jscpd config to fallow duplication settings. Learn what gets migrated and how detection modes map. ## CLI reference - [fallow dead-code](https://fallow.tools/docs/cli/dead-code.md): Find the files, exports, dependencies, and types that nothing uses, so you can delete them. Fallow dead-code starts at your entry points, traces reachable exports, and reports the rest. - [fallow dupes](https://fallow.tools/docs/cli/dupes.md): Find copy-pasted code that you can merge into one shared function. Fallow dupes detects duplicated code blocks across your codebase with suffix-array analysis and configurable thresholds. - [fallow viz](https://fallow.tools/docs/cli/viz.md): See where dead code, duplication, boundary violations, and complexity sit in your codebase. Fallow viz writes one self-contained HTML map with a file treemap and an import graph. - [fallow health](https://fallow.tools/docs/cli/health.md): Find the functions and files that are hardest to maintain and the best places to refactor first, from complexity, git churn, and coverage. CLI reference for fallow health. - [fallow license](https://fallow.tools/docs/cli/license.md): Turn on continuous and multi-capture runtime coverage on your machine or CI runner. Fallow license activates a trial or JWT, shows status, refreshes a license, or deactivates the local token. - [fallow telemetry](https://fallow.tools/docs/cli/telemetry.md): Control what fallow sends, and see the exact payload before it leaves your machine. Fallow telemetry manages opt-in product telemetry, which is off by default: check status, enable, disable, or inspect. - [fallow coverage](https://fallow.tools/docs/cli/coverage.md): Use production runtime data to see which code runs and which code you can delete. Fallow coverage runs the resumable setup flow, analyzes local or cloud runtime coverage, uploads source maps, and uploads the static inventory that shows untracked code in the dashboard. - [fallow flags](https://fallow.tools/docs/cli/flags.md): Find the feature flags in your codebase, so you can review them. Fallow flags detects environment variable gates, SDK calls, and config-based toggles. - [fallow security](https://fallow.tools/docs/cli/security.md): Find local security candidates for you or a coding agent to verify: server secrets that reach client code, and untrusted values that reach dangerous sinks. CLI reference for the opt-in fallow security command. - [Security agent verification](https://fallow.tools/docs/cli/security-agent-verification.md): Cut fallow security candidates down to a short list of survivors that a verifier could not dismiss. Fallow itself makes no model calls. - [fallow audit](https://fallow.tools/docs/cli/audit.md): Get one pass, warn, or fail verdict for the files a PR changes, from dead code, complexity, duplication, and styling checks. CLI reference for fallow audit, the quality gate for PRs and AI-generated code review. - [fallow mutation](https://fallow.tools/docs/cli/mutation.md): Check whether your tests fail when the changed code is wrong. fallow mutation makes small changes to your code, runs your Vitest, node:test, or bun test tests against each one, and reports the changes that no test detects. - [fallow impact](https://fallow.tools/docs/cli/impact.md): See what fallow has done for you in a project. Fallow impact is a local-only report of current findings, the trend, commits stopped at the gate, and findings resolved over time. - [fallow inspect](https://fallow.tools/docs/cli/inspect.md): Get all the context for one file or exported symbol before you edit it. Fallow inspect combines trace, dead-code, duplication, complexity, and security evidence in one bundle. - [fallow trace](https://fallow.tools/docs/cli/trace.md): See what calls an exported symbol and what it calls before you change it, or find how one module comes to import another. Fallow trace is a best-effort command, separate from the ranked review brief. - [fallow trace-error](https://fallow.tools/docs/cli/trace-error.md): Go from a runtime stack trace to the definitions in your code that its frames name. Fallow trace-error resolves each frame against the module graph, without reading source maps. - [fallow decision-surface](https://fallow.tools/docs/cli/decision-surface.md): Get the few structural decisions in a change that need a human judgment call, each as a question with the expert to ask. CLI reference for fallow decision-surface, the top layer of the review brief printed alone. - [fallow explain](https://fallow.tools/docs/cli/explain.md): Learn what a fallow finding means and how to fix it, without running analysis. Fallow explain prints the rationale, an example, fix guidance, and a docs link for one issue type. - [fallow fix](https://fallow.tools/docs/cli/fix.md): Remove unused exports and dependencies without editing each file by hand. Fallow fix edits your source files in place, with a dry-run preview and JSON output. - [fallow watch](https://fallow.tools/docs/cli/watch.md): Get dead code results each time you save a file. Fallow watch re-runs dead code analysis when files change. - [fallow init](https://fallow.tools/docs/cli/init.md): Start a fallow config with editor autocomplete and validation. Fallow init generates a .fallowrc.json or fallow.toml configuration file with schema support. - [fallow agent](https://fallow.tools/docs/cli/agent.md): Set up fallow for Claude Code, Codex, and Cursor with one command. Fallow agent installs the AGENTS.md task map, the skill, the MCP server registration, and the commit and push gate, and can show status or uninstall. - [fallow recommend](https://fallow.tools/docs/cli/recommend.md): Get a config proposal for your project that you can review before you write it. Fallow recommend is read-only and reports what fallow detected, a safe proposed config, and the decisions behind it, split into auto, default, and taste. - [fallow doctor](https://fallow.tools/docs/cli/doctor.md): Find out if fallow can see your project correctly before you trust its results. Fallow doctor runs read-only checks on the project root, config, workspaces, plugins, the optional type-aware companion, dependencies, and caches. - [fallow guard](https://fallow.tools/docs/cli/guard.md): Know the architecture rules for a file before you edit it. Fallow guard reports the boundary zone, the zones the file can import from, the forbidden calls, and the rule-pack policies with their suppression tokens. - [fallow architecture](https://fallow.tools/docs/cli/architecture.md): Check the structure of your code after an edit. Fallow architecture reports circular dependencies, re-export cycles, package cycles, boundary violations, and rule-pack policy violations. - [fallow plugin-check](https://fallow.tools/docs/cli/plugin-check.md): Find out why a custom plugin does not activate or seeds no entries. Fallow plugin-check is a read-only dry run that reports, for each external plugin, if it activated and what each manifestEntries rule matched and seeded. - [fallow migrate](https://fallow.tools/docs/cli/migrate.md): Move to fallow and keep the settings you already have. Fallow migrate converts your existing knip, jscpd, or stylelint configuration to the fallow config format. - [fallow list](https://fallow.tools/docs/cli/list.md): See what fallow found in your project, so you can debug the configuration and check the project setup. Fallow list shows discovered files, entry points, active plugins, boundary zones, workspaces, and the startup import weight of each entry. - [fallow config](https://fallow.tools/docs/cli/config.md): Find out why your config is not applied. Fallow config shows the resolved fallow config and which file was loaded, like eslint --print-config and dprint output-resolved-config. - [fallow schema](https://fallow.tools/docs/cli/schema.md): Let an agent learn everything fallow can do from one JSON document. Fallow schema prints the complete capability manifest: commands, issue types, MCP tools, plugins, and environment variables. - [fallow suppressions](https://fallow.tools/docs/cli/suppressions.md): See every finding your team chose to ignore, and why. Fallow suppressions is a read-only inventory of each active fallow-ignore marker, grouped by file with kind, level, and reason, plus project totals and a stale count. - [fallow baselines prune](https://fallow.tools/docs/cli/baselines.md): Remove the entries of fixed findings from committed fallow baselines. One whole-project run prunes the dead-code, health and duplication baselines, never adds an entry, and keeps the stale-baseline gate green. - [fallow report](https://fallow.tools/docs/cli/report.md): Analyze once, then produce every CI output from the saved result. Fallow report renders saved JSON results as CI artifacts, summaries, PR comments, or inline-review envelopes without re-running analysis. - [Global flags](https://fallow.tools/docs/cli/global-flags.md): Control the project root, config, output format, scope, cache, and CI gates the same way on every fallow command. Reference for the shared CLI flags, including workspace, changed-workspaces, score, trend, and snapshot options. ## Optional - [Product](https://fallow.tools/product): How Fallow and Fallow Cloud work together. - [Changelog](https://fallow.tools/changelog): Releases of the fallow CLI. - [About](https://fallow.tools/about): Who makes Fallow and where the code is. - [Contact](https://fallow.tools/contact): Email addresses for product, security and sales. - [Privacy policy](https://fallow.tools/privacy) - [Terms of service](https://fallow.tools/terms)