knip
Original:🇺🇸 English
Not Translated
Run knip to find and remove unused files, dependencies, and exports. Use for cleaning up dead code and unused dependencies.
1installs
Sourceartivilla/agents-config
Added on
NPX Install
npx skill4agent add artivilla/agents-config knipSKILL.md Content
Knip Code Cleanup
Run knip to find and remove unused files, dependencies, and exports from this codebase.
Setup
-
Check if knip is available:
- Run to test
npx knip --version - If it fails or is very slow, check if is in package.json devDependencies
knip - If not installed locally, install with (or pnpm/yarn equivalent based on lockfile present)
npm install -D knip
- Run
-
If noor
knip.jsonconfig exists and knip reports many false positives, consider creating a minimal config based on the frameworks detected in package.jsonknip.jsonc
Execution
- Run to get initial report
npx knip - Review the output categories:
- Unused files - files not imported anywhere
- Unused dependencies - packages in package.json not imported
- Unused devDependencies - dev packages not used
- Unused exports - exported functions/variables not imported elsewhere
- Unused types - exported types not used
Cleanup Strategy
Auto-delete (high confidence):
- Unused exports that are clearly internal (not part of public API)
- Unused type exports
- Unused dependencies (remove from package.json)
- Unused files that are clearly orphaned (not entry points, not config files)
For these, proceed with deletion without asking. Use for automated fixes, or manually delete/edit as needed.
--fix --allow-remove-filesAsk first (needs clarification):
- Files that might be entry points or dynamically imported
- Exports that might be part of a public API (index.ts, lib exports)
- Dependencies that might be used via CLI or peer dependencies
- Anything in paths like ,
src/index, or files with "public" or "api" in the namelib/
Use the AskUserQuestion tool to clarify before deleting these.
Workflow
- Run knip, capture full output
- Categorize each issue as auto-delete or needs-clarification
- Ask about uncertain items in a single batch question
- Perform all deletions (use Edit tool to remove exports, Bash to remove files/deps)
- Re-run knip to verify cleanup is complete
- Repeat until no issues remain or only intentionally-ignored items exist
Common Commands
bash
# Basic run
npx knip
# Production only (ignore test files)
npx knip --production
# Auto-fix what's safe
npx knip --fix
# Auto-fix including file deletion
npx knip --fix --allow-remove-files
# JSON output for parsing
npx knip --reporter jsonNotes
- If knip config exists, respect its ignore patterns
- Watch for monorepo setups - may need flag
--workspace - Some frameworks need plugins enabled in config
- Re-run after each batch of fixes to catch newly-exposed unused code