| title | Quick start | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| description | 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. | ||||||||
| keywords |
|
||||||||
| icon | rocket |
This page gets you from zero to a useful result fast. Everyone starts the same way. Branch off at the end.
From your project root:
npx fallowThat runs three analyses in one pass:
- Dead code: unused files, exports, dependencies, cycles, boundaries, and more
- Duplication: repeated logic across files
- Health: complexity hotspots and refactor targets
npx fallow dead-code # Cleanup candidates
npx fallow dupes # Repeated logic
npx fallow health # Complexity and refactor targets
npx fallow fix --dry-run # Preview automatic cleanupUse this when you want cleanup candidates.
npx fallow dead-codeReports unused files, exports, types, dependencies, circular deps, and boundary violations. See the dead code guide.
Use this when repeated logic is spreading.
npx fallow dupesDefault mild mode catches AST-based duplicates. Add --mode semantic to also catch clones with renamed variables. See the duplication guide.
Use this when you want to prioritize refactors.
npx fallow healthReports complexity findings, per-file maintainability, hotspots, and ranked refactor targets. See the health explanation.
Use this before deleting anything automatically.
npx fallow fix --dry-runWhen you're ready, drop --dry-run. See the auto-fix guide.
Fallow works without a config file. When you want to customize, run:
fallow initThis auto-detects your project structure and generates a tailored config. It also adds .fallow/ to your .gitignore.
[rules] unused-files = "error" unused-exports = "warn" unused-types = "off"
</CodeGroup>
<Info>
Migrating from knip or jscpd? Run `fallow migrate`, or see the [knip](/migration/from-knip) or [jscpd](/migration/from-jscpd) guides.
</Info>
## Optional: runtime intelligence
Fallow's static layer is free and open source. If you want to know what actually executed in production, add the runtime layer:
```bash
npx fallow license activate --trial --email you@company.com
npx fallow coverage setup
npx fallow health --runtime-coverage ./coverage
Before you do that, read Static vs runtime intelligence for the mental model, then the runtime coverage guide for setup details.
Any agent that can run a shell command can use Fallow. Use --format json for structured output:
npx fallow --format json
npx fallow dead-code --format json
npx fallow fix --dry-run --format jsonIf your agent supports MCP, add structured tool calling:
{
"mcpServers": {
"fallow": {
"command": "fallow-mcp"
}
}
}See the MCP integration guide.
Install the VS Code extension for real-time diagnostics, Code Lens above exports, and one-click fixes:
code --install-extension fallow-rs.fallow-vscodeSee the VS Code integration guide.
Use the GitHub Action, the GitLab template, or npx fallow --ci on any CI:
fallow:
extends: .fallow
```
See the CI integration guide.
What Fallow analyzes, at a glance. Customize entry points, rules, and ignore patterns. Mental models for how Fallow works. Every command and flag.