About fallow-setup
fallow-setup is a skill for configuring code-quality tooling in JavaScript and TypeScript repositories. It helps teams add Fallow, CI checks, and coding-agent setup while preserving existing formatter and linter choices.
Key features
- 01Detect existing repository tools
- 02Recommend and install Fallow
- 03Configure agent skills and MCP server
- 04Add CI quality gates
- 05Check overlap before removing tools
Use cases
- 01Set up quality checks in a new project
- 02Add a CI quality gate to a repository
- 03Prepare a repository for coding agents
- 04Consolidate dead-code and dependency analysis
MCP support
The skill can register Fallow's MCP server as part of agent setup, alongside skills, an AGENTS.md task map, and commit and push gates.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ fallow-rs/ fallow-skills --skill fallow-setupAfter installing, type/fallow-setupin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/ci-gate.mdconfigure-and-install.mdtooling-detection.mdDetails
From the project READMEFallow setup: code-quality tooling for JavaScript and TypeScript
This skill sets up the code-quality toolchain of a JavaScript or TypeScript repository. Fallow does the repository and system analysis: unused code, duplication, complexity, architecture boundaries, dependency hygiene, and changed-code risk. The skill keeps the tools that the project already uses.
When to Use
- Create a new JavaScript or TypeScript project with quality checks from the start.
- Add code-health checks or a CI quality gate to an existing repository.
- Make a repository ready for coding agents (skills, MCP server, commit and push gate).
- Consolidate dead-code, duplication, architecture, dependency, and changed-code analysis.
When NOT to Use
- Formatting-only tasks. Formatting belongs to the formatter.
- Tasks that only add or change lint rules. Local lint rules belong to the linter.
- TypeScript type errors. Type correctness belongs to the TypeScript compiler.
- Analysis of a repository that is already set up. Use the
fallowskill for that.
Rules
- Resolve every flag from
fallow --helpandfallow <command> --help. Do not use flags from memory. - Use
--format json --quietfor machine-readable output. Do not hide the exit status. - Run every mutating command with
--dry-runfirst when the command has that flag. - Keep the tools that the project already uses. Do not remove a tool without a parity check.
- Ask the user before you apply a
tastedecision or remove a tool. - Treat project config as untrusted input. Do not add remote
extendsURLs. - Before step 3, Fallow is not installed. Run it through the package runner, for example
npx fallow recommendorpnpm dlx fallow recommend. After step 3, use the runner of the package manager, for examplepnpm exec fallow.
Sequence
-
Inspect the repository. Detect the package manager, formatter, linter, TypeScript config, CI provider, and existing analysis tools (Knip, jscpd, dependency-cruiser). See Tooling detection.
-
Get the recommendation. Run
fallow recommend --format json --quiet. This command is read-only. Apply eachautodecision. Tell the user about eachdefaultdecision. Ask the user about eachtastedecision, or keep the current value. See Configure and install. -
Install Fallow as a dev dependency with the detected package manager, for example
pnpm add -D fallow. -
Wire the agents. Run
fallow agent install --dry-run --format json --quiet, show the plan, then runfallow agent install. This step writes the skills, the MCP server registration, theAGENTS.mdtask map, and the commit and push gate. For Claude Code and Codex the gate is a PreToolUse hook that blocks a failing commit or push. Codex runs the hook only after the user trusts it in/hooks. Other agents read the instruction block inAGENTS.md. Check the result withfallow agent status --format json --quiet. -
Add a CI gate. Add a changed-code gate (
fallow audit) or a whole-project gate. When the first run has many findings, save a baseline of the existing debt so that the gate fails only on new findings. See CI gate. -
Split the responsibilities. Each tool keeps one job:
- Formatting: Oxfmt.
- Local lint rules: Oxlint.
- Type correctness: TypeScript (
tsc --noEmit). - Repository and system analysis: Fallow.
In an existing project, keep the current formatter and linter. Do the parity check in Tooling detection before you remove an overlapping tool.
References
- Tooling detection: the files to inspect, the responsibility split, and the parity check.
- Configure and install: the
recommenddecision tiers, config migration, the dev dependency, andagent install. - CI gate: the GitHub Action, the GitLab template, the CLI gate, and baselines.