knip-deadcode-best-practices

Community Knip Dead Code Detection Best Practices

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "knip-deadcode-best-practices" with this command: npx skills add pproenca/dot-skills/pproenca-dot-skills-knip-deadcode-best-practices

Community Knip Dead Code Detection Best Practices

Comprehensive guide for detecting and removing dead code in JavaScript and TypeScript projects using Knip. Contains 43 rules across 8 categories, prioritized by impact to guide configuration, CI integration, and cleanup workflows.

When to Apply

Reference these guidelines when:

  • Configuring Knip for a new project or monorepo

  • Investigating false positives or false negatives

  • Setting up CI pipelines to prevent dead code regressions

  • Using auto-fix to clean up unused code

  • Optimizing Knip performance for large codebases

Rule Categories by Priority

Priority Category Impact Prefix

1 Configuration Foundations CRITICAL config-

2 Entry Point Strategy CRITICAL entry-

3 Workspace & Monorepo HIGH workspace-

4 Dependency Analysis HIGH deps-

5 Export Detection MEDIUM-HIGH exports-

6 CI Integration MEDIUM ci-

7 Auto-Fix Workflow MEDIUM fix-

8 Performance Optimization LOW-MEDIUM perf-

Quick Reference

  1. Configuration Foundations (CRITICAL)
  • config-avoid-broad-ignore

  • Avoid broad ignore patterns

  • config-configure-path-aliases

  • Configure path aliases in Knip

  • config-enable-plugins-explicitly

  • Enable framework plugins explicitly

  • config-run-without-config

  • Run without config first for baseline

  • config-separate-entry-project

  • Separate entry files from project files

  • config-use-json-schema

  • Use JSON schema for configuration validation

  • config-use-negation-patterns

  • Use negation patterns for exclusions

  • config-use-production-mode

  • Use production mode for shipping code analysis

  1. Entry Point Strategy (CRITICAL)
  • entry-add-dynamic-imports

  • Add dynamic import targets as entry points

  • entry-exclude-test-files

  • Exclude test files from production entries

  • entry-include-all-entry-points

  • Include all application entry points

  • entry-include-bin-scripts

  • Include binary scripts as entry points

  • entry-use-compilers

  • Use compilers for non-standard file types

  • entry-use-plugin-entries

  • Use plugin entry points for frameworks

  • entry-verify-with-debug

  • Verify entry points with debug mode

  1. Workspace & Monorepo (HIGH)
  • workspace-configure-root-workspace

  • Configure root workspace explicitly

  • workspace-ignore-specific

  • Ignore specific workspaces when needed

  • workspace-isolate-for-strict

  • Isolate workspaces for strict dependency checking

  • workspace-list-cross-deps

  • List cross-workspace dependencies explicitly

  • workspace-per-workspace-plugins

  • Configure plugins per workspace

  • workspace-use-workspace-globs

  • Use workspace globs for consistent configuration

  1. Dependency Analysis (HIGH)
  • deps-add-unlisted-deps

  • Add unlisted dependencies to package.json

  • deps-avoid-transitive-reliance

  • Avoid relying on transitive dependencies

  • deps-configure-plugin-deps

  • Configure plugins for tool-specific dependencies

  • deps-fix-files-first

  • Fix unused files before dependencies

  • deps-ignore-conditional-deps

  • Ignore conditionally loaded dependencies

  • deps-remove-obsolete-types

  • Remove obsolete type definition packages

  1. Export Detection (MEDIUM-HIGH)
  • exports-check-class-members

  • Check class members for unused code

  • exports-enable-entry-exports

  • Enable entry export checking for private packages

  • exports-handle-reexports

  • Handle re-exports in barrel files

  • exports-ignore-same-file

  • Ignore exports used in same file

  • exports-tag-public-api

  • Tag public API exports with JSDoc

  • exports-trace-usage

  • Trace export usage before removal

  • exports-use-include-libs

  • Use include libs for type-based consumption

  1. CI Integration (MEDIUM)
  • ci-add-to-pipeline

  • Add Knip to CI pipeline

  • ci-separate-production-check

  • Separate production and default mode checks

  • ci-use-cache

  • Enable cache for faster CI runs

  • ci-use-max-issues

  • Use max issues for gradual adoption

  • ci-use-reporters

  • Use appropriate reporters for CI output

  • ci-watch-mode-local

  • Use watch mode for local development

  1. Auto-Fix Workflow (MEDIUM)
  • fix-allow-remove-files

  • Explicitly allow file removal

  • fix-format-after-fix

  • Format code after auto-fix

  • fix-review-before-commit

  • Review auto-fix changes before commit

  • fix-update-deps-after

  • Update package manager after dependency fix

  • fix-use-fix-type

  • Use fix type for targeted cleanup

  1. Performance Optimization (LOW-MEDIUM)
  • perf-filter-issue-types

  • Filter issue types for focused analysis

  • perf-limit-output

  • Limit output for large codebases

  • perf-profile-performance

  • Profile performance for slow analysis

  • perf-use-bun-runtime

  • Use Bun runtime for faster analysis

  • perf-use-cache-flag

  • Enable cache for repeated analysis

  • perf-use-workspace-filter

  • Filter workspaces for faster monorepo analysis

How to Use

Read individual reference files for detailed explanations and code examples:

  • Section definitions - Category structure and impact levels

  • Rule template - Template for adding new rules

Reference Files

File Description

references/_sections.md Category definitions and ordering

assets/templates/_template.md Template for new rules

metadata.json Version and reference information

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

typescript

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

clean-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-simplifier

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python

No summary provided by upstream source.

Repository SourceNeeds Review