AAWEA.ORG
AAWEA.ORG
AAWEA.ORG
Maintenance Manual trigger πŸ‘‘ Official πŸ›‘ Hardened

Knip Until Clean

Find and remove dead exports, unused files, and orphan dependencies β€” loop until knip reports clean.

πŸ‘ 1,449 views πŸ“₯ 1,482 installs πŸ‘€ by loops!
Download loop
Share Now
Manual start
↓
  1. 1
    Run knip

    Run knip (or depcheck) and categorize unused files, exports, and dependencies.

    > npx knip
  2. 2
    Remove or justify

    Delete confirmed dead code. For false positives, add knip ignore entries with a one-line reason.

↓
βœ“
Exit condition: lint_clean

Knip reports no unused files, exports, or dependencies

> npx knip
πŸ“Š Flow Diagram
flowchart TD Start(["Manual start"]) Start --> S0 S0("Run knip") S1("Remove or justify") S0 --> S1 Exit{"Knip reports no unused files, exports, or dependencies"} S1 --> Exit Exit -- "No" --> S0 Exit -- "Yes" --> Done(["Success"]) style Exit fill:#fffbeb,stroke:#f59e0b,stroke-width:2px,color:#92400e style Done fill:#ecfdf5,stroke:#10b981,stroke-width:2px,color:#065f46
Run "Knip Until Clean" in your agent
Prompt only
Deeplinks and "Open in Cursor" only paste the kickoff prompt. They do not install hook files β€” your agent cannot tell whether files are on disk until you add them yourself.
Two separate pieces
  • Kickoff prompt β€” tells the agent the goal, check command, exit condition, and how to self-pace.
Kickoff prompt
Start the "Knip Until Clean" loop.

Goal: knip reports no unused code or dependencies
Max iterations: 5
Between iterations run: npx knip
Exit when: knip exits 0

Step 1: Run knip. Remove dead exports and unused deps with minimal diffs; verify tests still pass.

Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.
Anti-gaming rules
Rules the agent must follow so it cannot cheat the exit condition.
  • Do not modify the check command or exit criteria to force success
  • Do not skip, disable, or bypass checks to pass the exit condition
  • If stuck after several iterations, stop and report blockers instead of gaming metrics