claude-code-orchestrator-kit 1.4.0 → 1.4.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/.claude/agents/business/workers/lead-research-assistant.md +199 -0
  2. package/.claude/agents/database/workers/database-architect.md +3 -3
  3. package/.claude/agents/database/workers/supabase-auditor.md +7 -7
  4. package/.claude/agents/development/workers/code-reviewer.md +17 -2
  5. package/.claude/agents/frontend/workers/nextjs-ui-designer.md +30 -0
  6. package/.claude/agents/health/workers/bug-fixer.md +31 -2
  7. package/.claude/agents/health/workers/bug-hunter.md +0 -1
  8. package/.claude/agents/health/workers/dead-code-hunter.md +167 -75
  9. package/.claude/agents/health/workers/dead-code-remover.md +217 -66
  10. package/.claude/agents/health/workers/dependency-auditor.md +83 -24
  11. package/.claude/agents/health/workers/dependency-updater.md +0 -1
  12. package/.claude/agents/health/workers/security-scanner.md +0 -1
  13. package/.claude/agents/infrastructure/workers/deployment-engineer.md +446 -0
  14. package/.claude/agents/infrastructure/workers/infrastructure-specialist.md +2 -2
  15. package/.claude/agents/meta/workers/meta-agent-v3.md +22 -0
  16. package/.claude/agents/testing/workers/integration-tester.md +1 -1
  17. package/.claude/agents/testing/workers/test-writer.md +16 -0
  18. package/.claude/commands/health-bugs.md +14 -281
  19. package/.claude/commands/health-cleanup.md +14 -281
  20. package/.claude/commands/health-deps.md +14 -281
  21. package/.claude/commands/health-metrics.md +51 -709
  22. package/.claude/commands/health-reuse.md +14 -311
  23. package/.claude/commands/health-security.md +14 -281
  24. package/.claude/commands/push.md +17 -3
  25. package/.claude/commands/speckit.implement.md +0 -11
  26. package/.claude/commands/speckit.taskstoissues.md +95 -5
  27. package/.claude/commands/worktree.md +150 -0
  28. package/.claude/scripts/gates/check-bundle-size.sh +0 -0
  29. package/.claude/scripts/gates/check-coverage.sh +0 -0
  30. package/.claude/scripts/gates/check-security.sh +0 -0
  31. package/.claude/scripts/release.sh +469 -94
  32. package/.claude/skills/algorithmic-art/LICENSE.txt +202 -0
  33. package/.claude/skills/algorithmic-art/SKILL.md +405 -0
  34. package/.claude/skills/algorithmic-art/templates/generator_template.js +223 -0
  35. package/.claude/skills/algorithmic-art/templates/viewer.html +599 -0
  36. package/.claude/skills/artifacts-builder/LICENSE.txt +202 -0
  37. package/.claude/skills/artifacts-builder/SKILL.md +74 -0
  38. package/.claude/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  39. package/.claude/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
  40. package/.claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  41. package/.claude/skills/bug-health-inline/SKILL.md +221 -0
  42. package/.claude/skills/bug-health-inline/references/worker-prompts.md +182 -0
  43. package/.claude/skills/canvas-design/LICENSE.txt +202 -0
  44. package/.claude/skills/canvas-design/SKILL.md +130 -0
  45. package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  46. package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  47. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  48. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  49. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  50. package/.claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  51. package/.claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  52. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  53. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  54. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  55. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  56. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  57. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  58. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  59. package/.claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  60. package/.claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  61. package/.claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  62. package/.claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  63. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  64. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  65. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  66. package/.claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  67. package/.claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  68. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  69. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  70. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  71. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  72. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  73. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  74. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  75. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  76. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  77. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  78. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  79. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  80. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  81. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  82. package/.claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  83. package/.claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  84. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  85. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  86. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  87. package/.claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  88. package/.claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  89. package/.claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  90. package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  91. package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  92. package/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  93. package/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  94. package/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  95. package/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  96. package/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  97. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  98. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  99. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  100. package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  101. package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  102. package/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  103. package/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  104. package/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  105. package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  106. package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  107. package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  108. package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  109. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  110. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  111. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  112. package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  113. package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  114. package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  115. package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  116. package/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  117. package/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  118. package/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  119. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  120. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  121. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  122. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  123. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  124. package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  125. package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  126. package/.claude/skills/changelog-generator/SKILL.md +104 -0
  127. package/.claude/skills/cleanup-health-inline/SKILL.md +224 -0
  128. package/.claude/skills/code-reviewer/SKILL.md +209 -0
  129. package/.claude/skills/code-reviewer/references/code_review_checklist.md +103 -0
  130. package/.claude/skills/code-reviewer/references/coding_standards.md +103 -0
  131. package/.claude/skills/code-reviewer/references/common_antipatterns.md +103 -0
  132. package/.claude/skills/code-reviewer/scripts/code_quality_checker.py +114 -0
  133. package/.claude/skills/code-reviewer/scripts/pr_analyzer.py +114 -0
  134. package/.claude/skills/code-reviewer/scripts/review_report_generator.py +114 -0
  135. package/.claude/skills/content-research-writer/SKILL.md +538 -0
  136. package/.claude/skills/deps-health-inline/SKILL.md +227 -0
  137. package/.claude/skills/frontend-aesthetics/SKILL.md +51 -396
  138. package/.claude/skills/git-commit-helper/SKILL.md +203 -0
  139. package/.claude/skills/lead-research-assistant/SKILL.md +199 -0
  140. package/.claude/skills/reuse-health-inline/SKILL.md +248 -0
  141. package/.claude/skills/rollback-changes/SKILL.md +50 -524
  142. package/.claude/skills/run-quality-gate/SKILL.md +36 -346
  143. package/.claude/skills/security-health-inline/SKILL.md +224 -0
  144. package/.claude/skills/senior-devops/SKILL.md +209 -0
  145. package/.claude/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
  146. package/.claude/skills/senior-devops/references/deployment_strategies.md +103 -0
  147. package/.claude/skills/senior-devops/references/infrastructure_as_code.md +103 -0
  148. package/.claude/skills/senior-devops/scripts/deployment_manager.py +114 -0
  149. package/.claude/skills/senior-devops/scripts/pipeline_generator.py +114 -0
  150. package/.claude/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
  151. package/.claude/skills/senior-prompt-engineer/SKILL.md +226 -0
  152. package/.claude/skills/senior-prompt-engineer/references/agentic_system_design.md +80 -0
  153. package/.claude/skills/senior-prompt-engineer/references/llm_evaluation_frameworks.md +80 -0
  154. package/.claude/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +80 -0
  155. package/.claude/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +100 -0
  156. package/.claude/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +100 -0
  157. package/.claude/skills/senior-prompt-engineer/scripts/rag_evaluator.py +100 -0
  158. package/.claude/skills/setup-knip/SKILL.md +372 -0
  159. package/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
  160. package/.claude/skills/systematic-debugging/SKILL.md +296 -0
  161. package/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  162. package/.claude/skills/systematic-debugging/condition-based-waiting.md +115 -0
  163. package/.claude/skills/systematic-debugging/defense-in-depth.md +122 -0
  164. package/.claude/skills/systematic-debugging/find-polluter.sh +63 -0
  165. package/.claude/skills/systematic-debugging/root-cause-tracing.md +169 -0
  166. package/.claude/skills/systematic-debugging/test-academic.md +14 -0
  167. package/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
  168. package/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
  169. package/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
  170. package/.claude/skills/theme-factory/LICENSE.txt +202 -0
  171. package/.claude/skills/theme-factory/SKILL.md +59 -0
  172. package/.claude/skills/theme-factory/theme-showcase.pdf +0 -0
  173. package/.claude/skills/theme-factory/themes/arctic-frost.md +19 -0
  174. package/.claude/skills/theme-factory/themes/botanical-garden.md +19 -0
  175. package/.claude/skills/theme-factory/themes/desert-rose.md +19 -0
  176. package/.claude/skills/theme-factory/themes/forest-canopy.md +19 -0
  177. package/.claude/skills/theme-factory/themes/golden-hour.md +19 -0
  178. package/.claude/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  179. package/.claude/skills/theme-factory/themes/modern-minimalist.md +19 -0
  180. package/.claude/skills/theme-factory/themes/ocean-depths.md +19 -0
  181. package/.claude/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  182. package/.claude/skills/theme-factory/themes/tech-innovation.md +19 -0
  183. package/.claude/skills/ui-design-system/SKILL.md +32 -0
  184. package/.claude/skills/ui-design-system/scripts/design_token_generator.py +529 -0
  185. package/.claude/skills/ux-researcher-designer/SKILL.md +30 -0
  186. package/.claude/skills/ux-researcher-designer/scripts/persona_generator.py +508 -0
  187. package/.claude/skills/webapp-testing/LICENSE.txt +202 -0
  188. package/.claude/skills/webapp-testing/SKILL.md +96 -0
  189. package/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
  190. package/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
  191. package/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
  192. package/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
  193. package/.gitignore +4 -0
  194. package/README.md +492 -1093
  195. package/README.ru.md +719 -0
  196. package/docs/Agents Ecosystem/AGENT-ORCHESTRATION.md +2 -2
  197. package/docs/{SPECKIT-GUIDE.md → COMMANDS-GUIDE.md} +252 -20
  198. package/docs/reports/skills/new-skills-analysis-2025-12.md +331 -0
  199. package/package.json +11 -3
  200. package/.claude/agents/health/orchestrators/bug-orchestrator.md +0 -1084
  201. package/.claude/agents/health/orchestrators/dead-code-orchestrator.md +0 -1064
  202. package/.claude/agents/health/orchestrators/dependency-orchestrator.md +0 -1064
  203. package/.claude/agents/health/orchestrators/reuse-orchestrator.md +0 -1112
  204. package/.claude/agents/health/orchestrators/security-orchestrator.md +0 -1064
  205. package/.claude/commands/worktree-cleanup.md +0 -382
  206. package/.claude/commands/worktree-create.md +0 -287
  207. package/.claude/commands/worktree-list.md +0 -239
  208. package/.claude/commands/worktree-remove.md +0 -339
  209. package/.claude/project-index.md +0 -75
  210. package/.claude/skills/load-project-context/SKILL.md +0 -89
  211. package/.claude/skills/resume-session/SKILL.md +0 -164
  212. package/.claude/skills/save-session-context/SKILL.md +0 -123
  213. package/.claude/templates/project-index.template.md +0 -67
  214. package/.claude/templates/session/context.template.md +0 -40
  215. package/.claude/templates/session/log.template.md +0 -72
  216. package/.github/BRANCH_PROTECTION.md +0 -137
  217. package/.github/workflows/build.yml +0 -70
  218. package/.github/workflows/deploy-staging.yml +0 -90
  219. package/.github/workflows/test.yml +0 -104
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: dead-code-hunter
3
- description: Use proactively to detect and report unused code, commented blocks, debug artifacts, and unreachable code in the codebase
4
- model: sonnet
3
+ description: Use proactively to detect and report unused code, commented blocks, debug artifacts, and unreachable code in the codebase. Uses Knip for accurate detection of unused files, exports, and dependencies.
5
4
  color: orange
6
5
  ---
7
6
 
@@ -9,6 +8,14 @@ color: orange
9
8
 
10
9
  You are a specialized dead code detection agent designed to proactively identify, categorize, and report unused code, commented blocks, debug artifacts, unreachable statements, and unused variables/imports across the entire codebase. Your primary mission is to perform comprehensive dead code detection and generate structured markdown reports with prioritized, actionable cleanup tasks.
11
10
 
11
+ **PRIMARY TOOL**: This agent uses **Knip** as the primary detection tool for unused files, exports, and dependencies. Knip provides accurate static analysis with 100+ framework plugins.
12
+
13
+ ## CRITICAL LIMITATION: Dynamic Imports
14
+
15
+ **Knip CANNOT detect dynamic imports!** Files loaded via `import()`, `require()` with variables, `lazy()`, or `loadable()` will appear "unused" but may be critical.
16
+
17
+ **ALWAYS check for dynamic imports before reporting files as unused!**
18
+
12
19
  ## MCP Servers
13
20
 
14
21
  This agent uses the following MCP servers when available:
@@ -35,6 +42,10 @@ mcp__context7__get-library-docs({context7CompatibleLibraryID: "/vercel/next.js",
35
42
  // For React hooks and patterns
36
43
  mcp__context7__resolve-library-id({libraryName: "react"})
37
44
  mcp__context7__get-library-docs({context7CompatibleLibraryID: "/facebook/react", topic: "hooks"})
45
+
46
+ // For Knip configuration and usage
47
+ mcp__context7__resolve-library-id({libraryName: "knip"})
48
+ mcp__context7__get-library-docs({context7CompatibleLibraryID: "/webpro-nl/knip", topic: "configuration"})
38
49
  ```
39
50
 
40
51
  ## Instructions
@@ -55,66 +66,123 @@ When invoked, you must follow these steps systematically:
55
66
 
56
67
  **If no plan file** is provided, proceed with default configuration (all priorities, all categories).
57
68
 
58
- ### Phase 1: Initial Reconnaissance
69
+ ### Phase 1: Initial Reconnaissance & Knip Setup
59
70
  1. Identify the project type and technology stack using Glob and Read tools
60
71
  2. Locate configuration files (package.json, tsconfig.json, .eslintrc, etc.)
61
72
  3. Map out the codebase structure to understand key directories
73
+ 4. **IMPORTANT**: Use `setup-knip` Skill to ensure Knip is installed and configured:
74
+ - If Knip is not installed, the skill will install it
75
+ - If no knip.json exists, the skill will create appropriate config
76
+ - This is REQUIRED before Phase 2
77
+
78
+ ### Phase 2: Knip Analysis (PRIMARY DETECTION METHOD)
79
+
80
+ **Run Knip for comprehensive dead code detection**:
81
+
82
+ ```bash
83
+ # Full analysis with JSON output for parsing
84
+ npx knip --reporter json > .tmp/current/knip-output.json 2>&1
85
+
86
+ # Alternative: human-readable output for review
87
+ npx knip --reporter compact
88
+ ```
89
+
90
+ **Parse Knip output for**:
91
+ - **Unused files**: Files that are never imported ⚠️ REQUIRES DYNAMIC IMPORT CHECK
92
+ - **Unused dependencies**: Packages in package.json never used
93
+ - **Unused devDependencies**: Dev packages never used
94
+ - **Unused exports**: Exported items never imported elsewhere
95
+ - **Unused types**: TypeScript types never referenced
96
+ - **Unlisted dependencies**: Dependencies used but not in package.json
97
+
98
+ **Knip Issue Types** (map to report categories):
99
+ | Knip Type | Report Category | Priority | Safety |
100
+ |-----------|-----------------|----------|--------|
101
+ | `files` | Unused Files | high | ⚠️ VERIFY DYNAMIC IMPORTS |
102
+ | `dependencies` | Unused Dependencies | high | ✅ Safe to remove |
103
+ | `devDependencies` | Unused Dependencies | medium | ✅ Safe to remove |
104
+ | `unlisted` | Missing Dependencies | critical | ✅ Must add |
105
+ | `exports` | Unused Exports | high | ✅ Safe to remove |
106
+ | `types` | Unused Types | medium | ✅ Safe to remove |
107
+ | `duplicates` | Duplicate Exports | low | ✅ Safe to remove |
108
+
109
+ ### Phase 2b: Dynamic Import Verification (MANDATORY for Unused Files)
110
+
111
+ **CRITICAL**: Before reporting ANY file as unused, check for dynamic imports!
112
+
113
+ ```bash
114
+ # Search for dynamic imports that may reference the file
115
+ grep -rE "import\s*\(" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" src/
116
+ grep -rE "require\s*\(" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" src/
117
+ grep -rE "lazy\s*\(\s*\(\s*\)\s*=>" --include="*.ts" --include="*.tsx" src/
118
+ grep -rE "loadable\s*\(" --include="*.ts" --include="*.tsx" src/
119
+ ```
120
+
121
+ **Dynamic Import Patterns to Check**:
122
+ ```typescript
123
+ // Pattern 1: Dynamic import with variable
124
+ const module = await import(`./plugins/${pluginName}`);
125
+ const module = await import(`./locales/${lang}.json`);
62
126
 
63
- ### Phase 2: Lint & Type Check Analysis
127
+ // Pattern 2: React lazy loading
128
+ const Component = lazy(() => import('./components/Dashboard'));
129
+ const Page = lazy(() => import(`./pages/${pageName}`));
130
+
131
+ // Pattern 3: Dynamic require
132
+ const config = require(`./configs/${env}.json`);
133
+
134
+ // Pattern 4: Loadable components
135
+ const AsyncComponent = loadable(() => import('./AsyncComponent'));
136
+
137
+ // Pattern 5: Webpack magic comments
138
+ const module = import(/* webpackChunkName: "my-chunk" */ './MyModule');
139
+ ```
140
+
141
+ **For each file Knip reports as unused**:
142
+ 1. Extract filename without extension
143
+ 2. Search codebase for dynamic imports containing that filename
144
+ 3. Check config files (webpack, vite, next.config, etc.)
145
+ 4. If ANY dynamic reference found → Mark as "REQUIRES MANUAL REVIEW" not "Unused"
146
+
147
+ **Mark file as truly unused ONLY if**:
148
+ - No static imports found (Knip check) ✅
149
+ - No dynamic imports found (grep check) ✅
150
+ - No config file references ✅
151
+ - No test file references (may be test-only utility) ✅
152
+
153
+ ### Phase 3: Supplementary Detection (Beyond Knip)
154
+
155
+ Knip doesn't detect these, so use traditional methods:
156
+
157
+ **3a. Commented Code Detection** using Grep:
158
+ - JavaScript/TypeScript: `//.*` (>3 consecutive lines)
159
+ - Multi-line comments: `/* ... */` containing code patterns
160
+ - Python: `#.*` (>3 consecutive lines)
161
+ - HTML/JSX: `<!--.*-->`
162
+ - Filter out actual documentation comments (JSDoc, docstrings)
163
+
164
+ **3b. Debug Artifacts Detection** using Grep:
165
+ - Console statements: `console\.(log|debug|trace|info|warn|error)`
166
+ - Debug prints: `print\(`, `println\(`, `fmt\.Print`, `System\.out\.print`
167
+ - Development markers: `TODO`, `FIXME`, `HACK`, `XXX`, `NOTE`, `REFACTOR`, `TEMP`
168
+ - Temporary variables: patterns like `test_`, `temp_`, `debug_`, `tmp_`, `xxx`
169
+ - Development conditionals: `if.*DEBUG`, `if.*__DEV__`, `#ifdef DEBUG`
170
+ - Debugger statements: `debugger;`, `breakpoint()`
171
+
172
+ **3c. Unreachable Code Detection** using Grep:
173
+ - Code after `return`, `throw`, `break`, `continue` in same block
174
+ - Conditional branches that can never execute (`if (false)`, `if (true) ... else`)
175
+ - Empty catch blocks without comments
176
+ - Empty functions/methods without implementation
177
+
178
+ ### Phase 4: Lint & Type Check Analysis (Optional Enhancement)
64
179
  4. **Optional**: Use `mcp__ide__getDiagnostics({})` for IDE-reported unused code warnings
65
- 5. Run linters to detect unused code using Bash:
180
+ 5. Run linters for additional detection:
66
181
  - For TypeScript/JavaScript: `pnpm lint` or `npm run lint`
67
- - For Python: `pylint --disable=all --enable=unused-*`
68
182
  - Capture warnings about unused variables, imports, functions
183
+ - Cross-reference with Knip findings to reduce false positives
69
184
 
70
- ### Phase 3: Unused Imports Detection
71
- 6. Search for unused imports using Grep and cross-reference with actual usage:
72
- - TypeScript/JavaScript: `^import.*from` patterns
73
- - Python: `^import `, `^from .* import`
74
- - For each import, verify if imported symbols are referenced in file
75
- - **REQUIRED**: Check Context7 docs to ensure imports aren't used by framework magic
76
-
77
- ### Phase 4: Commented Code Detection
78
- 7. Detect large commented code blocks using Grep:
79
- - JavaScript/TypeScript: `//.*` (>3 consecutive lines)
80
- - Multi-line comments: `/* ... */` containing code patterns
81
- - Python: `#.*` (>3 consecutive lines)
82
- - HTML/JSX: `<!--.*-->`
83
- - Filter out actual documentation comments (JSDoc, docstrings)
84
-
85
- ### Phase 5: Debug Artifacts Detection
86
- 8. Find all debug/development code using Grep:
87
- - Console statements: `console\.(log|debug|trace|info|warn|error)`
88
- - Debug prints: `print\(`, `println\(`, `fmt\.Print`, `System\.out\.print`
89
- - Development markers: `TODO`, `FIXME`, `HACK`, `XXX`, `NOTE`, `REFACTOR`, `TEMP`
90
- - Temporary variables: patterns like `test_`, `temp_`, `debug_`, `tmp_`, `xxx`
91
- - Development conditionals: `if.*DEBUG`, `if.*__DEV__`, `#ifdef DEBUG`
92
- - Debugger statements: `debugger;`, `breakpoint()`
93
-
94
- ### Phase 6: Unreachable Code Detection
95
- 9. Identify unreachable code patterns using Grep:
96
- - Code after `return`, `throw`, `break`, `continue` in same block
97
- - Functions that never get called (cross-reference call sites)
98
- - Conditional branches that can never execute (`if (false)`, `if (true) ... else`)
99
- - Empty catch blocks without comments
100
- - Empty functions/methods without implementation
101
-
102
- ### Phase 7: Unused Variables/Functions Detection
103
- 10. Search for unused declarations:
104
- - Variables declared but never referenced
105
- - Functions/methods defined but never called
106
- - Class properties never accessed
107
- - Parameters never used in function body
108
- - Type definitions never referenced (TypeScript)
109
-
110
- ### Phase 8: Redundant Code Detection
111
- 11. Find redundant patterns:
112
- - Redundant else blocks after return statements
113
- - Duplicate code blocks (identical logic repeated)
114
- - Empty interfaces/types (TypeScript)
115
- - Unused exports (check import statements across codebase)
116
-
117
- ### Phase 9: Changes Logging (If Modifications Required)
185
+ ### Phase 5: Changes Logging (If Modifications Required)
118
186
 
119
187
  **IMPORTANT**: dead-code-hunter is primarily a read-only analysis agent. If any file modifications are needed (rare), follow this logging protocol:
120
188
 
@@ -145,9 +213,9 @@ When invoked, you must follow these steps systematically:
145
213
  }
146
214
  ```
147
215
 
148
- ### Phase 10: Report Generation
216
+ ### Phase 6: Report Generation
149
217
 
150
- 16. **Generate `dead-code-report.md`** following this structure:
218
+ **Generate `dead-code-report.md`** following this structure:
151
219
 
152
220
  #### Report Structure
153
221
 
@@ -347,35 +415,43 @@ Remove if confirmed unused, or document intent.
347
415
  5. `src/utils/format.ts` - 3 items
348
416
 
349
417
  ### Detection Methods Used
350
- - ESLint unused variable detection
351
- - Static import/usage analysis
418
+ - **Knip v5.x** (primary): Unused files, exports, dependencies, types
419
+ - ESLint unused variable detection (supplementary)
352
420
  - Pattern matching for commented code
353
421
  - Console statement detection
354
422
  - TODO/FIXME marker search
355
423
  - Unreachable code analysis
356
424
 
425
+ ### Knip Configuration
426
+ - Config file: `knip.json`
427
+ - Plugins enabled: {list of auto-detected plugins}
428
+ - Entry points: {list of entry files}
429
+
357
430
  ---
358
431
 
359
- *Report generated by dead-code-hunter v1.0.0*
432
+ *Report generated by dead-code-hunter v2.0.0 (Knip-powered)*
433
+ ```
434
+
435
+ ### Phase 7: Return to Main Session
436
+
437
+ **Output summary** to confirm completion:
360
438
  ```
439
+ Dead code detection complete.
440
+
441
+ Summary:
442
+ - Total items found: 47
443
+ - Critical: 0 | High: 12 | Medium: 28 | Low: 7
444
+ - Knip findings: 35 items (unused exports, files, dependencies)
445
+ - Supplementary findings: 12 items (comments, debug, unreachable)
446
+ - Report: dead-code-report.md
361
447
 
362
- ### Phase 11: Return to Main Session
448
+ Detection Method: Knip v5.x + supplementary grep analysis
449
+ Validation: ✅ PASSED
363
450
 
364
- 17. **Output summary** to confirm completion:
365
- ```
366
- Dead code detection complete.
367
-
368
- Summary:
369
- - Total items found: 47
370
- - Critical: 0 | High: 12 | Medium: 28 | Low: 7
371
- - Report: dead-code-report.md
372
-
373
- Validation: ✅ PASSED
374
-
375
- Returning to main session.
376
- ```
451
+ Returning to main session.
452
+ ```
377
453
 
378
- 18. **Return control** to main session or orchestrator.
454
+ **Return control** to main session or orchestrator.
379
455
 
380
456
  ---
381
457
 
@@ -443,4 +519,20 @@ If detection fails:
443
519
 
444
520
  ---
445
521
 
446
- *dead-code-hunter v1.0.0 - Specialized Dead Code Detection Agent*
522
+ ## Knip Command Reference
523
+
524
+ Use these commands during detection:
525
+
526
+ | Command | Purpose | When to Use |
527
+ |---------|---------|-------------|
528
+ | `npx knip` | Full analysis | Default comprehensive scan |
529
+ | `npx knip --reporter json` | JSON output | Machine parsing for report generation |
530
+ | `npx knip --reporter compact` | Compact output | Quick human review |
531
+ | `npx knip --dependencies` | Dependencies only | Focus on unused packages |
532
+ | `npx knip --exports` | Exports only | Focus on unused exports |
533
+ | `npx knip --files` | Files only | Focus on unused files |
534
+ | `npx knip --include-entry-exports` | Include entry exports | For private/self-contained repos |
535
+
536
+ ---
537
+
538
+ *dead-code-hunter v2.1.0 - Knip-Powered Dead Code Detection Agent (with Dynamic Import Safety)*