# fallow ## Docs - [Adopt Fallow in an existing repo](https://docs.fallow.tools/adoption.md): Bring an existing TypeScript or JavaScript codebase to a clean Fallow policy, then keep new changes clean with fallow audit. Drive the cleanup with an AI agent. - [Auto-fix](https://docs.fallow.tools/analysis/auto-fix.md): Automatically remove unused exports and dependencies from your TypeScript and JavaScript codebase. Supports dry-run preview and non-interactive agent workflows. - [Architecture boundaries](https://docs.fallow.tools/analysis/boundaries.md): Enforce architecture rules with directory-based import boundaries. Define zones for UI, data, and shared code. Fallow catches violations at Rust speed. - [CSS, SCSS, and Tailwind analysis](https://docs.fallow.tools/analysis/css-analysis.md): How fallow tracks CSS imports, SCSS partials, Tailwind dependencies, and CSS Module class names using AST-based extraction. Zero false positives on @use, @forward, and partial imports. - [Dead code analysis](https://docs.fallow.tools/analysis/dead-code.md): Find unused files, exports, dependencies, types, class members, circular dependencies, and boundary violations in TypeScript and JavaScript. Inheritance-aware class member detection, CSS/SCSS tracking, and cycle detection built into the module graph. - [Debugging & troubleshooting](https://docs.fallow.tools/analysis/debugging.md): Trace export usage, diagnose false positives, and debug fallow's analysis pipeline with built-in tracing and performance profiling tools. - [Code duplication](https://docs.fallow.tools/analysis/duplication.md): Detect copy-pasted code blocks across your TypeScript and JavaScript codebase. Built-in to the same binary as dead-code analysis. Suffix-array detection runs 8-26x faster than standalone tools. - [Non-JS file types](https://docs.fallow.tools/analysis/file-types.md): Fallow analyzes HTML, Vue, Svelte, Astro, MDX, GraphQL, CSS modules, SCSS, and React Native files automatically. No plugins or config needed. - [Analysis](https://docs.fallow.tools/analysis/index.md): What Fallow analyzes: dead code, duplication, architecture boundaries, auto-fix, and runtime-backed runtime coverage. - [Known limitations](https://docs.fallow.tools/analysis/limitations.md): Known limitations of fallow's syntactic analysis, including dynamic imports, runtime patterns, and framework-specific edge cases with workarounds. - [Production mode](https://docs.fallow.tools/analysis/production-mode.md): Restrict fallow's dead code analysis to production code by excluding test files, devDependencies, and type-only imports. - [Runtime coverage](https://docs.fallow.tools/analysis/runtime-coverage.md): Merge runtime coverage into fallow health to see which functions actually execute in production-like traffic, which stay cold, and which hot paths changed. - [fallow audit](https://docs.fallow.tools/cli/audit.md): CLI reference for fallow audit. Combined dead code, complexity, and duplication analysis scoped to changed files, with a pass/warn/fail verdict for PR quality gates and AI-generated code review. - [fallow config](https://docs.fallow.tools/cli/config.md): Show the resolved fallow config and which file was loaded. Mirrors eslint --print-config and dprint output-resolved-config. - [fallow coverage](https://docs.fallow.tools/cli/coverage.md): CLI reference for fallow coverage. Run the resumable setup flow, analyze local or cloud runtime coverage, upload source maps, and push static inventory so the dashboard can surface untracked code. - [fallow dead-code](https://docs.fallow.tools/cli/dead-code.md): CLI reference for fallow dead-code. Scan entry points, trace reachable exports, and report unused files, exports, dependencies, and types. - [fallow dupes](https://docs.fallow.tools/cli/dupes.md): CLI reference for fallow dupes. Detect duplicated code blocks across your codebase using suffix-array analysis with configurable thresholds. - [fallow explain](https://docs.fallow.tools/cli/explain.md): CLI reference for fallow explain. Print rule rationale, examples, fix guidance, and docs links for one issue type without running analysis. - [fallow fix](https://docs.fallow.tools/cli/fix.md): CLI reference for fallow fix. Automatically remove unused exports and dependencies from source files with dry-run preview and JSON output. - [fallow flags](https://docs.fallow.tools/cli/flags.md): CLI reference for fallow flags. Detect feature flag patterns, environment variable gates, SDK calls, and config-based toggles across your codebase. - [Global flags](https://docs.fallow.tools/cli/global-flags.md): Global CLI flags available on every fallow command, including root, config, format, cache, threads, workspace, changed-workspaces, score, trend, and snapshot options. - [fallow health](https://docs.fallow.tools/cli/health.md): CLI reference for fallow health. Analyze function complexity, per-file maintainability, git-churn hotspots, refactoring targets, static coverage gaps, and runtime coverage. - [fallow init](https://docs.fallow.tools/cli/init.md): CLI reference for fallow init. Generate a .fallowrc.json or fallow.toml configuration file with schema support for editor autocomplete. - [fallow license](https://docs.fallow.tools/cli/license.md): CLI reference for fallow license. Activate a trial or JWT, inspect status, refresh a license, or deactivate the local token for paid runtime coverage. - [fallow list](https://docs.fallow.tools/cli/list.md): CLI reference for fallow list. Inspect discovered files, entry points, active plugins, and architecture boundary zones to debug configuration and verify project setup. - [fallow migrate](https://docs.fallow.tools/cli/migrate.md): CLI reference for fallow migrate. Automatically convert your existing knip or jscpd configuration to fallow's config format. - [fallow watch](https://docs.fallow.tools/cli/watch.md): CLI reference for fallow watch. Re-run unused code analysis automatically when files change for continuous feedback during development. - [Boundaries](https://docs.fallow.tools/configuration/boundaries.md): Configure architecture boundary zones and rules. Use built-in presets or define custom zones to enforce import direction in your codebase. - [Environment variables](https://docs.fallow.tools/configuration/environment.md): Override fallow defaults with environment variables like FALLOW_FORMAT and FALLOW_QUIET. Useful for CI pipelines, editor integrations, and MCP. - [Configuration](https://docs.fallow.tools/configuration/overview.md): Configure fallow with .fallowrc.json or fallow.toml. Customize entry points, ignore patterns, rules, and plugin settings for your project. - [Rules & severity](https://docs.fallow.tools/configuration/rules.md): Configure fallow rules to set issue severity as error, warning, or off. Use rules for incremental CI adoption and granular dead code reporting. - [Inline suppression](https://docs.fallow.tools/configuration/suppression.md): Suppress fallow findings with inline fallow-ignore comments, JSDoc visibility tags (@public, @internal, @beta, @alpha), and @expected-unused. Handle false positives, library exports, and intentional exceptions. - [Workspaces](https://docs.fallow.tools/configuration/workspaces.md): Fallow automatically detects monorepo workspaces for npm, yarn, and pnpm. Resolves cross-package imports and supports per-package configuration. - [Dead code explained](https://docs.fallow.tools/explanations/dead-code.md): What each issue type in fallow's dead-code output means, how to interpret the results, and when to act. Covers unused class members with inheritance tracking, circular dependency detection with no depth limits, and CSS/SCSS import resolution. - [Duplication explained](https://docs.fallow.tools/explanations/duplication.md): What fallow's duplication output means, how clone detection works, and how to interpret and act on the results. - [Fallow vs linters](https://docs.fallow.tools/explanations/fallow-vs-linters.md): Why fallow and linters (ESLint, Biome, oxlint) are complementary, not competing. Linters work at the file level. Fallow is codebase intelligence that works at the project graph level. They find fundamentally different things. - [Health explained](https://docs.fallow.tools/explanations/health.md): What each metric in fallow's health output means, how it's computed, and how to interpret the values. Complexity analysis, hotspot detection, and refactoring targets integrated with dead-code and duplication findings. - [Explanations](https://docs.fallow.tools/explanations/index.md): Mental models for how Fallow works and how to use it well. Static vs runtime intelligence, Fallow vs linters, health, duplication, and dead code explained. - [Static vs runtime intelligence](https://docs.fallow.tools/explanations/static-vs-runtime.md): Static analysis answers 'what is connected to what?'. Runtime intelligence answers 'what actually ran?'. Both are necessary, neither replaces the other, and they meet in fallow health. - [Built-in plugins](https://docs.fallow.tools/frameworks/built-in.md): Fallow ships with 94 built-in plugins for Next.js, Vite, Jest, Tailwind, ESLint, and more. Auto-detected framework conventions for accurate analysis. - [Custom plugins](https://docs.fallow.tools/frameworks/custom-plugins.md): Create custom fallow plugins for internal frameworks using declarative JSON or TOML files. Define entry points, config files, and used exports. - [Fallow documentation](https://docs.fallow.tools/index.md): Get started with Fallow: codebase intelligence for TypeScript and JavaScript. Free static analysis for unused code, duplication, complexity, and architecture drift. Optional runtime intelligence for hot paths, cold paths, and deletion confidence. - [Installation](https://docs.fallow.tools/installation.md): Install Fallow via npx, npm, pnpm, yarn, cargo, or a prebuilt binary. Binaries for macOS, Linux, and Windows. - [Agent Skills](https://docs.fallow.tools/integrations/agent-skills.md): Install fallow analysis skills for Claude Code, Cursor, Windsurf, Gemini CLI, and other AI agents that support the Agent Skills specification. - [Health badges](https://docs.fallow.tools/integrations/badges.md): Add a shields.io-compatible health badge to your README showing your project's health score and letter grade. - [CI integration](https://docs.fallow.tools/integrations/ci.md): Run fallow in CI with GitHub Actions or GitLab CI to catch dead code, duplication, and complexity hotspots on every push and PR. Supports SARIF upload, Code Quality reports, rich MR comments, inline review with suggestions, and baseline diffing. - [Claude Code hooks](https://docs.fallow.tools/integrations/claude-hooks.md): Block Claude Code git commits and pushes with a PreToolUse hook that runs fallow audit and feeds structured findings back to the agent. - [Integrations](https://docs.fallow.tools/integrations/index.md): Use Fallow from agents, editors, and CI systems. MCP, VS Code, GitHub Actions, and GitLab CI. - [Agent integration](https://docs.fallow.tools/integrations/mcp.md): Integrate fallow with AI agents via CLI and MCP. Unused code, duplication, complexity hotspots, boundary violations, and auto-fix in Claude Code, Cursor, and Windsurf. - [Node.js bindings](https://docs.fallow.tools/integrations/node-bindings.md): Call fallow analyses directly from Node.js via NAPI bindings. No CLI subprocess, no JSON parsing, same JSON envelopes the CLI emits. - [VS Code extension](https://docs.fallow.tools/integrations/vscode.md): Real-time codebase analysis in your editor: unused code, duplication, complexity hotspots, and boundary violations. Inline warnings, Code Lens reference counts, and one-click fixes. - [Fallow vs Knip](https://docs.fallow.tools/migration/comparison.md): Compare fallow and knip for TypeScript and JavaScript codebase analysis. Side-by-side benchmarks, detection capabilities, plugin coverage, and when to choose each tool. Fallow also covers duplication, complexity, and architecture boundaries. - [Migrating from jscpd](https://docs.fallow.tools/migration/from-jscpd.md): Migrate from jscpd to fallow for 8-26x faster duplication detection. One command converts your jscpd config. Also covers unused code, complexity, circular dependencies, and architecture boundaries. - [Migrating from knip](https://docs.fallow.tools/migration/from-knip.md): Migrate from knip to fallow in minutes. One command converts your knip config. Fallow also covers duplication, complexity, and architecture boundaries that knip does not. - [Quick start](https://docs.fallow.tools/quickstart.md): Run Fallow for the first time and understand the output in under a minute. One golden path, then branch into VS Code, CI, MCP, or runtime intelligence. ## OpenAPI Specs - [openapi](https://docs.fallow.tools/api-reference/openapi.json) ## Optional - [GitHub](https://github.com/fallow-rs/fallow) - [npm](https://www.npmjs.com/package/fallow) - [crates.io](https://crates.io/crates/fallow-cli) - [VS Code](https://marketplace.visualstudio.com/items?itemName=fallow-rs.fallow-vscode)