Skip to content

Commit fd1a41b

Browse files
L-Qunoctogonz
andauthored
Add rush docs mcp plugin (#5245)
* feat: rush docs plugin * feat: rush docs plugin * rush change * fix ci * Update common/changes/@rushstack/mcp-server/feat-add-new-mcp-plugin_2025-06-09-13-09.json --------- Co-authored-by: Pete Gonzalez <[email protected]>
1 parent 86cffa3 commit fd1a41b

File tree

21 files changed

+253
-24
lines changed

21 files changed

+253
-24
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ These GitHub repositories provide supplementary resources for Rush Stack:
103103
| [/rush-plugins/rush-bridge-cache-plugin](./rush-plugins/rush-bridge-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-bridge-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-bridge-cache-plugin) | | [@rushstack/rush-bridge-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-bridge-cache-plugin) |
104104
| [/rush-plugins/rush-buildxl-graph-plugin](./rush-plugins/rush-buildxl-graph-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-buildxl-graph-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-buildxl-graph-plugin) | | [@rushstack/rush-buildxl-graph-plugin](https://www.npmjs.com/package/@rushstack/rush-buildxl-graph-plugin) |
105105
| [/rush-plugins/rush-http-build-cache-plugin](./rush-plugins/rush-http-build-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-http-build-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-http-build-cache-plugin) | | [@rushstack/rush-http-build-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-http-build-cache-plugin) |
106+
| [/rush-plugins/rush-mcp-docs-plugin](./rush-plugins/rush-mcp-docs-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-mcp-docs-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-mcp-docs-plugin) | [changelog](./rush-plugins/rush-mcp-docs-plugin/CHANGELOG.md) | [@rushstack/rush-mcp-docs-plugin](https://www.npmjs.com/package/@rushstack/rush-mcp-docs-plugin) |
106107
| [/rush-plugins/rush-redis-cobuild-plugin](./rush-plugins/rush-redis-cobuild-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-redis-cobuild-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-redis-cobuild-plugin) | | [@rushstack/rush-redis-cobuild-plugin](https://www.npmjs.com/package/@rushstack/rush-redis-cobuild-plugin) |
107108
| [/rush-plugins/rush-resolver-cache-plugin](./rush-plugins/rush-resolver-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-resolver-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-resolver-cache-plugin) | | [@rushstack/rush-resolver-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-resolver-cache-plugin) |
108109
| [/rush-plugins/rush-serve-plugin](./rush-plugins/rush-serve-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-serve-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-serve-plugin) | | [@rushstack/rush-serve-plugin](https://www.npmjs.com/package/@rushstack/rush-serve-plugin) |

apps/rush-mcp-server/.npmignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
/lib-*/**/test/
2222
*.test.js
2323

24-
!*.mock.json
25-
2624
# NOTE: These don't need to be specified, because NPM includes them automatically.
2725
#
2826
# package.json

apps/rush-mcp-server/src/server.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import {
88
RushMigrateProjectTool,
99
RushCommandValidatorTool,
1010
RushWorkspaceDetailsTool,
11-
RushProjectDetailsTool,
12-
RushDocsTool
11+
RushProjectDetailsTool
1312
} from './tools';
1413
import { RushMcpPluginLoader } from './pluginFramework/RushMcpPluginLoader';
1514

@@ -41,7 +40,6 @@ export class RushMCPServer extends McpServer {
4140
this._tools.push(new RushCommandValidatorTool());
4241
this._tools.push(new RushWorkspaceDetailsTool());
4342
this._tools.push(new RushProjectDetailsTool());
44-
this._tools.push(new RushDocsTool());
4543
}
4644

4745
private _registerTools(): void {

apps/rush-mcp-server/src/tools/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,3 @@ export * from './project-details.tool';
77
export * from './rush-command-validator.tool';
88
export * from './workspace-details';
99
export * from './conflict-resolver.tool';
10-
export * from './docs.tool';
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"changes": [
3+
{
4+
"packageName": "@rushstack/mcp-server",
5+
"comment": "Move the `rush docs` tool to a plugin package `@rushstack/rush-mcp-docs-plugin`",
6+
"type": "patch"
7+
}
8+
],
9+
"packageName": "@rushstack/mcp-server"
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"changes": [
3+
{
4+
"packageName": "@rushstack/rush-mcp-docs-plugin",
5+
"comment": "Add rush docs mcp plugin",
6+
"type": "minor"
7+
}
8+
],
9+
"packageName": "@rushstack/rush-mcp-docs-plugin"
10+
}

common/config/rush/nonbrowser-approved-packages.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@
232232
},
233233
{
234234
"name": "@rushstack/mcp-server",
235-
"allowedCategories": [ "tests" ]
235+
"allowedCategories": [ "libraries", "tests" ]
236236
},
237237
{
238238
"name": "@rushstack/module-minifier",
@@ -494,6 +494,10 @@
494494
"name": "buttono",
495495
"allowedCategories": [ "tests" ]
496496
},
497+
{
498+
"name": "chokidar",
499+
"allowedCategories": [ "libraries" ]
500+
},
497501
{
498502
"name": "cli-table",
499503
"allowedCategories": [ "libraries" ]
@@ -662,10 +666,6 @@
662666
"name": "https-proxy-agent",
663667
"allowedCategories": [ "libraries" ]
664668
},
665-
{
666-
"name": "chokidar",
667-
"allowedCategories": [ "libraries" ]
668-
},
669669
{
670670
"name": "ignore",
671671
"allowedCategories": [ "libraries" ]

common/config/subspaces/default/pnpm-lock.yaml

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// This is a workaround for https://github.com/eslint/eslint/issues/3458
2+
require('local-eslint-config/patch/modern-module-resolution');
3+
// This is a workaround for https://github.com/microsoft/rushstack/issues/3021
4+
require('local-eslint-config/patch/custom-config-package-names');
5+
6+
module.exports = {
7+
extends: [
8+
'local-eslint-config/profile/node',
9+
'local-eslint-config/mixins/friendly-locals',
10+
'local-eslint-config/mixins/tsdoc'
11+
],
12+
parserOptions: { tsconfigRootDir: __dirname }
13+
};
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# THIS IS A STANDARD TEMPLATE FOR .npmignore FILES IN THIS REPO.
2+
3+
# Ignore all files by default, to avoid accidentally publishing unintended files.
4+
*
5+
6+
# Use negative patterns to bring back the specific things we want to publish.
7+
!/bin/**
8+
!/lib/**
9+
!/lib-*/**
10+
!/dist/**
11+
12+
!CHANGELOG.md
13+
!CHANGELOG.json
14+
!heft-plugin.json
15+
!rush-plugin-manifest.json
16+
!ThirdPartyNotice.txt
17+
18+
# Ignore certain patterns that should not get published.
19+
/dist/*.stats.*
20+
/lib/**/test/
21+
/lib-*/**/test/
22+
*.test.js
23+
24+
# NOTE: These don't need to be specified, because NPM includes them automatically.
25+
#
26+
# package.json
27+
# README.md
28+
# LICENSE
29+
30+
# ---------------------------------------------------------------------------
31+
# DO NOT MODIFY ABOVE THIS LINE! Add any project-specific overrides below.
32+
# ---------------------------------------------------------------------------
33+
34+
!rush-mcp-plugin.json
35+
!*.schema.json
36+
37+
!*.mock.json

0 commit comments

Comments
 (0)