fallow

Detect dead code, duplication, and complexity hotspots in TypeScript and JavaScript monorepos.

Updated Aug 2, 2026
One-click install
npx skills add https://github.com/leonardoacosta/skills --skill fallow-leonardoacosta
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fallow
Source: https://github.com/leonardoacosta/skills/tree/main/leo-core/skills/fallow
Command: npx skills add https://github.com/leonardoacosta/skills --skill fallow-leonardoacosta

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? TypeScript and JavaScript monorepos accumulate unused files, exports, dependencies, and copy-pasted code that slow builds and obscure architecture. This Skill runs the fallow Rust CLI to audit codebases, gate PRs on regressions, and safely auto-remove dead code with evidence. ## Core Features & Use Cases - Dead Code and Dependency Audits: Find unused files, exports, types, dependencies, circular imports, and architecture boundary violations with sub-second static analysis and 95 auto-detecting framework plugins. - PR Quality Gates and CI Regression Baselines: Snapshot existing findings with --save-regression-baseline, then fail CI only on newly introduced issues using fallow audit --base <branch> or --fail-on-regression. - Duplication and Complexity Analysis: Detect copy-pasted code with strict-to-semantic clone modes and rank churn-weighted refactoring targets via cyclomatic/cognitive complexity hotspots. - Use Case: Before a refactor of a T3 Turbo monorepo, run fallow dead-code --format json --quiet --changed-workspaces origin/main to scope analysis to changed workspaces, preview removals with fallow fix --dry-run, then apply with fix --yes after user sign-off. ## Quick Start Ask the agent to audit this TypeScript repo for dead code and unused dependencies using fallow with JSON output, then preview safe auto-fixes before applying them.

Frequently Asked Questions about fallow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find dead code in a TypeScript monorepo?

Run fallow dead-code with --format json --quiet to get structured findings for unused files, exports, types, and dependencies. In a pnpm or Turbo monorepo, add --workspace or --changed-workspaces origin/main to scope results to affected packages.

How do I migrate from knip or jscpd to fallow?

Run fallow migrate --dry-run to preview the converted config, then fallow migrate to write .fallowrc.json. It auto-detects knip.json, .jscpd.json, and package.json embedded configs, mapping rules, ignore patterns, and duplication settings.

Why does fallow fix exit with code 2 in CI or agent environments?

The fix command requires --yes in non-TTY environments because it normally prompts for confirmation. Always preview with fix --dry-run --format json --quiet first, then apply with fix --yes --format json --quiet.

Does fallow work with Python or Go projects?

No, fallow only analyzes TypeScript and JavaScript codebases using Oxc-based syntactic analysis. It is also not a replacement for type checking (tsc), linting (ESLint/Biome), or security scanning.

How do I adopt fallow on a legacy repo without fixing everything at once?

Save a regression baseline with fallow --save-regression-baseline .fallow/baseline.json and commit it. CI then compares against the snapshot with --fail-on-regression so only newly introduced issues fail the gate, not pre-existing debt.

Why does fallow report exit code 1 even when the run succeeded?

Exit code 1 means issues were found at error severity, which is the expected result of an audit. Append || true to invocations so shells do not treat it as failure; only exit code 2 indicates a real runtime error.