@knip/mcp 0.0.14 → 0.0.16

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 (140) hide show
  1. package/package.json +2 -2
  2. package/src/docs/docs/blog/for-editors-and-agents.md +34 -30
  3. package/src/docs/docs/features/monorepos-and-workspaces.md +19 -4
  4. package/src/docs/docs/guides/configuring-project-files.md +1 -1
  5. package/src/docs/docs/guides/handling-issues.mdx +2 -2
  6. package/src/docs/docs/guides/troubleshooting.md +3 -3
  7. package/src/docs/docs/overview/features.md +3 -3
  8. package/src/docs/docs/overview/getting-started.mdx +16 -5
  9. package/src/docs/docs/reference/cli.md +269 -243
  10. package/src/docs/docs/reference/configuration.md +7 -0
  11. package/src/docs/docs/reference/faq.md +1 -2
  12. package/src/docs/docs/reference/known-issues.md +13 -8
  13. package/src/docs/docs/reference/plugins/angular.md +1 -1
  14. package/src/docs/docs/reference/plugins/astro-db.md +1 -1
  15. package/src/docs/docs/reference/plugins/astro.md +1 -1
  16. package/src/docs/docs/reference/plugins/ava.md +1 -1
  17. package/src/docs/docs/reference/plugins/babel.md +1 -1
  18. package/src/docs/docs/reference/plugins/biome.md +1 -1
  19. package/src/docs/docs/reference/plugins/bumpp.md +1 -1
  20. package/src/docs/docs/reference/plugins/c8.md +1 -1
  21. package/src/docs/docs/reference/plugins/capacitor.md +1 -1
  22. package/src/docs/docs/reference/plugins/changelogen.md +1 -1
  23. package/src/docs/docs/reference/plugins/changelogithub.md +1 -1
  24. package/src/docs/docs/reference/plugins/changesets.md +1 -1
  25. package/src/docs/docs/reference/plugins/commitizen.md +1 -1
  26. package/src/docs/docs/reference/plugins/commitlint.md +1 -1
  27. package/src/docs/docs/reference/plugins/convex.md +1 -1
  28. package/src/docs/docs/reference/plugins/create-typescript-app.md +1 -1
  29. package/src/docs/docs/reference/plugins/cspell.md +1 -1
  30. package/src/docs/docs/reference/plugins/cucumber.md +1 -1
  31. package/src/docs/docs/reference/plugins/cypress.md +1 -1
  32. package/src/docs/docs/reference/plugins/danger.md +1 -1
  33. package/src/docs/docs/reference/plugins/dependency-cruiser.md +2 -2
  34. package/src/docs/docs/reference/plugins/docusaurus.md +1 -1
  35. package/src/docs/docs/reference/plugins/dotenv.md +1 -1
  36. package/src/docs/docs/reference/plugins/drizzle.md +1 -1
  37. package/src/docs/docs/reference/plugins/eleventy.md +1 -1
  38. package/src/docs/docs/reference/plugins/eslint.md +2 -2
  39. package/src/docs/docs/reference/plugins/expo.md +1 -1
  40. package/src/docs/docs/reference/plugins/gatsby.md +1 -1
  41. package/src/docs/docs/reference/plugins/github-action.md +1 -1
  42. package/src/docs/docs/reference/plugins/github-actions.md +1 -1
  43. package/src/docs/docs/reference/plugins/glob.md +1 -1
  44. package/src/docs/docs/reference/plugins/graphql-codegen.md +1 -1
  45. package/src/docs/docs/reference/plugins/hardhat.md +1 -1
  46. package/src/docs/docs/reference/plugins/husky.md +1 -1
  47. package/src/docs/docs/reference/plugins/i18next-parser.md +2 -2
  48. package/src/docs/docs/reference/plugins/jest.md +2 -2
  49. package/src/docs/docs/reference/plugins/karma.md +1 -1
  50. package/src/docs/docs/reference/plugins/knex.md +37 -0
  51. package/src/docs/docs/reference/plugins/ladle.md +1 -1
  52. package/src/docs/docs/reference/plugins/lefthook.md +1 -1
  53. package/src/docs/docs/reference/plugins/lint-staged.md +1 -1
  54. package/src/docs/docs/reference/plugins/linthtml.md +1 -1
  55. package/src/docs/docs/reference/plugins/lockfile-lint.md +1 -1
  56. package/src/docs/docs/reference/plugins/lost-pixel.md +1 -1
  57. package/src/docs/docs/reference/plugins/markdownlint.md +1 -1
  58. package/src/docs/docs/reference/plugins/mdx.md +1 -1
  59. package/src/docs/docs/reference/plugins/mdxlint.md +1 -1
  60. package/src/docs/docs/reference/plugins/metro.md +1 -1
  61. package/src/docs/docs/reference/plugins/mocha.md +2 -2
  62. package/src/docs/docs/reference/plugins/moonrepo.md +1 -1
  63. package/src/docs/docs/reference/plugins/msw.md +1 -1
  64. package/src/docs/docs/reference/plugins/nano-staged.md +1 -1
  65. package/src/docs/docs/reference/plugins/nest.md +1 -1
  66. package/src/docs/docs/reference/plugins/netlify.md +1 -1
  67. package/src/docs/docs/reference/plugins/next-intl.md +1 -1
  68. package/src/docs/docs/reference/plugins/next-mdx.md +1 -1
  69. package/src/docs/docs/reference/plugins/next.md +1 -1
  70. package/src/docs/docs/reference/plugins/node-modules-inspector.md +2 -2
  71. package/src/docs/docs/reference/plugins/node.md +2 -2
  72. package/src/docs/docs/reference/plugins/nodemon.md +1 -1
  73. package/src/docs/docs/reference/plugins/npm-package-json-lint.md +1 -1
  74. package/src/docs/docs/reference/plugins/nuxt.md +1 -1
  75. package/src/docs/docs/reference/plugins/nx.md +3 -3
  76. package/src/docs/docs/reference/plugins/nyc.md +1 -1
  77. package/src/docs/docs/reference/plugins/oclif.md +1 -1
  78. package/src/docs/docs/reference/plugins/oxlint.md +2 -2
  79. package/src/docs/docs/reference/plugins/parcel.md +41 -0
  80. package/src/docs/docs/reference/plugins/playwright-ct.md +1 -1
  81. package/src/docs/docs/reference/plugins/playwright-test.md +1 -1
  82. package/src/docs/docs/reference/plugins/playwright.md +2 -2
  83. package/src/docs/docs/reference/plugins/plop.md +1 -1
  84. package/src/docs/docs/reference/plugins/pnpm.md +1 -1
  85. package/src/docs/docs/reference/plugins/postcss.md +1 -1
  86. package/src/docs/docs/reference/plugins/preconstruct.md +1 -1
  87. package/src/docs/docs/reference/plugins/prettier.md +1 -1
  88. package/src/docs/docs/reference/plugins/prisma.md +2 -2
  89. package/src/docs/docs/reference/plugins/react-cosmos.md +1 -1
  90. package/src/docs/docs/reference/plugins/react-router.md +1 -1
  91. package/src/docs/docs/reference/plugins/relay.md +2 -2
  92. package/src/docs/docs/reference/plugins/release-it.md +1 -1
  93. package/src/docs/docs/reference/plugins/remark.md +1 -1
  94. package/src/docs/docs/reference/plugins/remix.md +1 -1
  95. package/src/docs/docs/reference/plugins/rollup.md +2 -2
  96. package/src/docs/docs/reference/plugins/rsbuild.md +1 -1
  97. package/src/docs/docs/reference/plugins/rslib.md +1 -1
  98. package/src/docs/docs/reference/plugins/rspack.md +1 -1
  99. package/src/docs/docs/reference/plugins/rstest.md +1 -1
  100. package/src/docs/docs/reference/plugins/semantic-release.md +1 -1
  101. package/src/docs/docs/reference/plugins/sentry.md +1 -1
  102. package/src/docs/docs/reference/plugins/simple-git-hooks.md +1 -1
  103. package/src/docs/docs/reference/plugins/size-limit.md +1 -1
  104. package/src/docs/docs/reference/plugins/sst.md +1 -1
  105. package/src/docs/docs/reference/plugins/starlight.md +1 -1
  106. package/src/docs/docs/reference/plugins/storybook.md +1 -1
  107. package/src/docs/docs/reference/plugins/stryker.md +1 -1
  108. package/src/docs/docs/reference/plugins/stylelint.md +1 -1
  109. package/src/docs/docs/reference/plugins/svelte.md +1 -1
  110. package/src/docs/docs/reference/plugins/svgo.md +1 -1
  111. package/src/docs/docs/reference/plugins/svgr.md +1 -1
  112. package/src/docs/docs/reference/plugins/swc.md +1 -1
  113. package/src/docs/docs/reference/plugins/syncpack.md +1 -1
  114. package/src/docs/docs/reference/plugins/tailwind.md +1 -1
  115. package/src/docs/docs/reference/plugins/tanstack-router.md +49 -0
  116. package/src/docs/docs/reference/plugins/taskfile.md +1 -1
  117. package/src/docs/docs/reference/plugins/travis.md +1 -1
  118. package/src/docs/docs/reference/plugins/ts-node.md +1 -1
  119. package/src/docs/docs/reference/plugins/tsdown.md +2 -2
  120. package/src/docs/docs/reference/plugins/tsup.md +2 -2
  121. package/src/docs/docs/reference/plugins/tsx.md +2 -2
  122. package/src/docs/docs/reference/plugins/typedoc.md +2 -2
  123. package/src/docs/docs/reference/plugins/typescript.md +4 -3
  124. package/src/docs/docs/reference/plugins/unbuild.md +1 -1
  125. package/src/docs/docs/reference/plugins/unocss.md +1 -1
  126. package/src/docs/docs/reference/plugins/vercel-og.md +1 -1
  127. package/src/docs/docs/reference/plugins/vike.md +1 -1
  128. package/src/docs/docs/reference/plugins/vite.md +2 -2
  129. package/src/docs/docs/reference/plugins/vitepress.md +1 -1
  130. package/src/docs/docs/reference/plugins/vitest.md +2 -2
  131. package/src/docs/docs/reference/plugins/vue.md +1 -1
  132. package/src/docs/docs/reference/plugins/webdriver-io.md +1 -1
  133. package/src/docs/docs/reference/plugins/webpack.md +2 -2
  134. package/src/docs/docs/reference/plugins/wireit.md +1 -1
  135. package/src/docs/docs/reference/plugins/wrangler.md +1 -1
  136. package/src/docs/docs/reference/plugins/xo.md +1 -1
  137. package/src/docs/docs/reference/plugins/yarn.md +1 -1
  138. package/src/docs/docs/reference/plugins/yorkie.md +1 -1
  139. package/src/docs/docs/reference/plugins.md +5 -1
  140. package/src/docs/docs/writing-a-plugin/index.md +16 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knip/mcp",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
4
4
  "description": "Knip MCP Server",
5
5
  "type": "module",
6
6
  "bin": {
@@ -28,7 +28,7 @@
28
28
  "dependencies": {
29
29
  "@modelcontextprotocol/sdk": "^1.25.1",
30
30
  "zod": "^4.1.11",
31
- "knip": "^5.80.0"
31
+ "knip": "^5.81.0"
32
32
  },
33
33
  "engines": {
34
34
  "node": ">=18.18.0"
@@ -30,8 +30,11 @@ with [3 key features][5]:
30
30
  2. **Imports Tree View** for direct links to implementations
31
31
  3. **Exports Tree View** for direct links to import & usage locations
32
32
 
33
- Find [Knip on the VS Code Marketplace][6] and find [Knip in the Open VSX
34
- Registry][7].
33
+ The extension has a [built-in MCP Server][6] with a command and resources to
34
+ configure Knip for you, _completely automated_.
35
+
36
+ Find [Knip on the VS Code Marketplace][7] and find [Knip in the Open VSX
37
+ Registry][8].
35
38
 
36
39
  ## MCP Server
37
40
 
@@ -40,7 +43,7 @@ coding agent to "configure knip" and it will RTFM so you don't have to. Using a
40
43
  newer model like Opus 4.5 or GPT 5.2 results in an optimized `knip.json` file
41
44
  and an uncluttered codebase.
42
45
 
43
- The [MCP Server is available][8] separately and built into the VS Code
46
+ The [MCP Server is available][9] separately and built into the VS Code
44
47
  Extension.
45
48
 
46
49
  ## Language Server
@@ -52,25 +55,25 @@ information. Queries like "where is an export imported" or "is this import part
52
55
  of a circular dependency" are just scratching the surface here.
53
56
 
54
57
  Extensions for other IDEs can be built on top. See
55
- [language-server/README.md][9]
58
+ [language-server/README.md][10]
56
59
 
57
60
  ## Screenshots
58
61
 
59
62
  - [Lint Findings][4]
60
63
  - [Imports & Exports][5]
61
- - [Contention][10]
62
- - [Circular Dependencies][11]
63
- - [Conflicts][12]
64
- - [Branching][13]
65
- - [VS Code Extension Settings][14]
64
+ - [Contention][11]
65
+ - [Circular Dependencies][12]
66
+ - [Conflicts][13]
67
+ - [Branching][14]
68
+ - [VS Code Extension Settings][15]
66
69
 
67
70
  ### Lint Findings
68
71
 
69
- ![Lint Findings][15]
72
+ ![Lint Findings][16]
70
73
 
71
74
  ### Imports & Exports
72
75
 
73
- ![hover][16]
76
+ ![hover][17]
74
77
 
75
78
  ### Contention
76
79
 
@@ -82,7 +85,7 @@ branched/diamond-shaped import chains.
82
85
 
83
86
  If an import is part of a circular dependency, Knip will display:
84
87
 
85
- ![Circular Dependencies][17]
88
+ ![Circular Dependencies][18]
86
89
 
87
90
  #### Conflicts
88
91
 
@@ -90,7 +93,7 @@ TypeScript shows direct conflicts when importing or re-exporting the same named
90
93
  export from different files. Except when the problem is more subtle and the
91
94
  chain spans more than one file. Knip warns:
92
95
 
93
- ![Conflicts][18]
96
+ ![Conflicts][19]
94
97
 
95
98
  #### Branching
96
99
 
@@ -98,30 +101,31 @@ Branched or diamond-shaped imports chains indicate unnecessary re-exports and
98
101
  complexity. They help to untangle large codebases and shrink or get rid of
99
102
  barrel files. Knip warns:
100
103
 
101
- ![Branching][19]
104
+ ![Branching][20]
102
105
 
103
106
  ### VS Code Extension Settings
104
107
 
105
- ![VS Code Extension Settings][20]
108
+ ![VS Code Extension Settings][21]
106
109
 
107
110
  [1]: https://github.com/webpro-nl/knip/network/dependents
108
111
  [2]: https://www.npmjs.com/package/knip
109
112
  [3]: #editor-extension
110
113
  [4]: #lint-findings
111
114
  [5]: #imports--exports
112
- [6]: https://marketplace.visualstudio.com/items?itemName=webpro.vscode-knip
113
- [7]: https://open-vsx.org/extension/webpro/vscode-knip
114
- [8]: https://www.npmjs.com/package/@knip/mcp
115
- [9]:
115
+ [6]: #mcp-server
116
+ [7]: https://marketplace.visualstudio.com/items?itemName=webpro.vscode-knip
117
+ [8]: https://open-vsx.org/extension/webpro/vscode-knip
118
+ [9]: https://www.npmjs.com/package/@knip/mcp
119
+ [10]:
116
120
  https://github.com/webpro-nl/knip/blob/main/packages/language-server/README.md
117
- [10]: #contention
118
- [11]: #circular-dependencies
119
- [12]: #conflicts
120
- [13]: #branching
121
- [14]: #vs-code-extension-settings
122
- [15]: /screenshots/editors-and-agents/diagnostics.webp
123
- [16]: /screenshots/editors-and-agents/imports-exports.webp
124
- [17]: /screenshots/editors-and-agents/circular-dependency.webp
125
- [18]: /screenshots/editors-and-agents/conflict.webp
126
- [19]: /screenshots/editors-and-agents/branch.webp
127
- [20]: /screenshots/editors-and-agents/vscode-extension-settings.webp
121
+ [11]: #contention
122
+ [12]: #circular-dependencies
123
+ [13]: #conflicts
124
+ [14]: #branching
125
+ [15]: #vs-code-extension-settings
126
+ [16]: /screenshots/editors-and-agents/diagnostics.webp
127
+ [17]: /screenshots/editors-and-agents/imports-exports.webp
128
+ [18]: /screenshots/editors-and-agents/circular-dependency.webp
129
+ [19]: /screenshots/editors-and-agents/conflict.webp
130
+ [20]: /screenshots/editors-and-agents/branch.webp
131
+ [21]: /screenshots/editors-and-agents/vscode-extension-settings.webp
@@ -100,16 +100,31 @@ The following options are available inside workspace configurations:
100
100
  Use `--debug` for verbose output and see the workspaces Knip includes, their
101
101
  configurations, enabled plugins, glob options and resolved files.
102
102
 
103
- ## Lint a single workspace
103
+ ## Filter workspaces
104
104
 
105
- Use the `--workspace` (or `-W`) argument to focus on a single workspace (and let
106
- Knip run faster). Example:
105
+ Use the `--workspace` (or `-W`) argument to select one or more workspaces:
107
106
 
108
107
  ```sh
109
108
  knip --workspace packages/my-lib
110
109
  ```
111
110
 
112
- This will include the target workspace, but also ancestor and dependent
111
+ The filter supports multiple formats:
112
+
113
+ ```sh
114
+ knip --workspace @myorg/my-lib # Package name
115
+ knip --workspace '@myorg/*' # Package name glob
116
+ knip --workspace packages/my-lib # Directory path
117
+ knip --workspace './apps/*' # Directory glob
118
+ ```
119
+
120
+ Combine selectors to include or exclude workspaces:
121
+
122
+ ```sh
123
+ knip --workspace @myorg/* --workspace '!@myorg/legacy'
124
+ knip --workspace './apps/*' --workspace '@shared/utils'
125
+ ```
126
+
127
+ This will include the target workspace(s), but also ancestor and dependent
113
128
  workspaces. For two reasons:
114
129
 
115
130
  - Ancestor workspaces may list dependencies in `package.json` the linted
@@ -200,6 +200,6 @@ automatically added as well.
200
200
 
201
201
  [1]: ../typescript/unused-exports.md
202
202
  [2]: ../explanations/entry-files.md
203
- [3]: ../reference/configuration#ignoreexportsusedinfile
203
+ [3]: ../reference/configuration.md#ignoreexportsusedinfile
204
204
  [4]: ../features/production-mode.md
205
205
  [5]: ../explanations/plugins.md#entry-files
@@ -294,7 +294,7 @@ Some packages have the same name as a Node.js builtin (for instance `buffer` or
294
294
  **Solution**: if Knip reports such a dependency as unused, add it to
295
295
  [ignoreDependencies][22].
296
296
 
297
- #### Conditional or dynamic dependencies
297
+ ### Conditional or dynamic dependencies
298
298
 
299
299
  Dependencies added conditionally in configuration files may not be detected by
300
300
  Knip. This happens because Knip loads and executes config files, and conditional
@@ -586,7 +586,7 @@ To exclude false positives from the report, there are a few options:
586
586
  - [Ignore exports used in file][47] for exports used internally.
587
587
  - Individual exports can be [tagged using JSDoc syntax][48].
588
588
  - Have the export in an entry file:
589
-
589
+
590
590
  - Add the file to the `entry` file patterns array in the configuration.
591
591
  - Move the export(s) to an entry file.
592
592
  - Add the file to the `exports` field of `package.json`
@@ -90,7 +90,7 @@ a regex that works too:
90
90
 
91
91
  <img src="/screenshots/trace-dependency.png" alt="trace dependency" class="mw500" />
92
92
 
93
- Use [--workspace \[dir\]][8] to filter accordingly.
93
+ Use [--workspace \[filter\]][8] to filter accordingly.
94
94
 
95
95
  #### Legend
96
96
 
@@ -121,10 +121,10 @@ to [open an issue on GitHub][14].
121
121
  [2]: #exceptions-thrown-by-knip
122
122
  [3]: #debug
123
123
  [4]: #trace
124
- [5]: ../guides/handling-issues.md
124
+ [5]: ../guides/handling-issues.mdx
125
125
  [6]: ./issue-reproduction.md
126
126
  [7]: ../reference/known-issues.md
127
- [8]: ../reference/cli.md#--workspace-dir
127
+ [8]: ../reference/cli.md#--workspace-filter
128
128
  [9]: ../explanations/entry-files.md
129
129
  [10]: ../explanations/plugins.md
130
130
  [11]: ../features/production-mode.md
@@ -36,7 +36,7 @@ Also see [related tooling][2].
36
36
  | [Strict mode][23] | Use `--strict` to isolate workspaces and consider only `dependencies` |
37
37
  | [Trace][24] | Trace exports to find where they are used |
38
38
  | [Watch mode][25] | Use `--watch` for live updates of unused files and exports |
39
- | [Workspace][26] | Use `--workspace` to lint a single workspace in a monorepo |
39
+ | [Workspace][26] | Use `--workspace` to filter workspaces in a monorepo |
40
40
 
41
41
  [1]: ../reference/issue-types.md
42
42
  [2]: ../reference/related-tooling.md
@@ -44,7 +44,7 @@ Also see [related tooling][2].
44
44
  [4]: ../reference/cli.md#--cache
45
45
  [5]: ../guides/working-with-commonjs.md
46
46
  [6]: ../features/compilers.md
47
- [7]: ../guides/troubleshooting.md#issues-reported-by-knip
47
+ [7]: ../guides/troubleshooting.md#debug
48
48
  [8]: ../features/rules-and-filters.md#filters
49
49
  [9]: ../features/auto-fix.mdx#format
50
50
  [10]: ../reference/jsdoc-tsdoc-tags.md
@@ -63,4 +63,4 @@ Also see [related tooling][2].
63
63
  [23]: ../features/production-mode.md#strict-mode
64
64
  [24]: ../guides/troubleshooting.md#trace
65
65
  [25]: ../reference/cli.md#--watch
66
- [26]: ../features/monorepos-and-workspaces#lint-a-single-workspace
66
+ [26]: ../features/monorepos-and-workspaces.md#lint-a-single-workspace
@@ -77,7 +77,17 @@ If the output makes sense to you, feel free to go to the next page:
77
77
 
78
78
  ## Too Much?
79
79
 
80
- In large or complex codebases the output might be overwhelming. Start by
80
+ In large or complex codebases the output might be overwhelming.
81
+
82
+ :::tip[NEW]
83
+
84
+ Use the new [Knip Editor Extension][3] and let your coding agent configure Knip
85
+ for you. The built-in MCP Server will intelligently craft a custom `knip.json`
86
+ based on the documentation and configuration hints.
87
+
88
+ :::
89
+
90
+ Start by
81
91
  limiting the number of shown issues per type:
82
92
 
83
93
  <Tabs syncKey="pm">
@@ -108,12 +118,12 @@ limiting the number of shown issues per type:
108
118
 
109
119
  The output is easier to digest and may include some configuration hints to get
110
120
  an idea of what's left to configure. Many unused files? Go to [configuration][2]
111
- and follow up with [troubleshooting][3] if needed.
121
+ and follow up with [troubleshooting][4] if needed.
112
122
 
113
123
  :::tip
114
124
 
115
125
  Do not use the `ignore` option just to get rid of unwanted output. Read
116
- [Configuring Project Files][4] to get the most out of Knip.
126
+ [Configuring Project Files][5] to get the most out of Knip.
117
127
 
118
128
  :::
119
129
 
@@ -191,5 +201,6 @@ already.
191
201
 
192
202
  [1]: /playground
193
203
  [2]: ./configuration.md
194
- [3]: ../guides/troubleshooting.md
195
- [4]: ../guides/configuring-project-files.md
204
+ [3]: ../blog/for-editors-and-agents.md
205
+ [4]: ../guides/troubleshooting.md
206
+ [5]: ../guides/configuring-project-files.md