diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38dc214e..6c93899b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,7 +21,7 @@ your contribution is aligned with the project's goals. npm run test:integration npm start ``` - All tests should pass, and the application should start successfully with confirmation messaging in the terminal. + All tests should pass, and the application should start successfully with a confirmation message in the terminal. ##### Windows and repository symlinks @@ -48,7 +48,7 @@ Our process follows the standard GitHub fork and pull request workflow. ##### Main repository branches - The `main` branch currently represents both development and stable releases -> In the future, a consideration for a `stable` branch may be made against an increase in contributions. +> In the future, if there is an increase in contributions, we may consider implementing a `stable` branch. > - `main` would be the default branch for development and feature work rebased from `stable` after release. > - `stable` would be a branch used for stable releases/hashes, reference links, and only updated with release commits. @@ -93,8 +93,8 @@ Commit messages follow two basic guidelines: - **Description**: What the commit work encompasses. - **#PR_NUMBER**: The pull request number. Typically added automatically during merge/squash operations. Including it manually is optional. It can help with traceability during review. -> If your **pull request contains multiple commits**, they will be squashed into a single commit before merging and the messaging -> altered to reflect current guidelines. +> If your **pull request contains multiple commits**, they will be squashed into a single commit before merging, and the messaging +> will be altered to reflect current guidelines. #### Pull request test failures Before any review takes place, all tests should pass. You may be asked to update your pull request to resolve any failing tests diff --git a/README.md b/README.md index 68ec69cf..c990a1e0 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ A Model Context Protocol (MCP) server that provides access to PatternFly rules and documentation, built with Node.js. The PatternFly MCP server is a comprehensive library resource for PatternFly. -It is intended to be extensible to meet the needs of different teams and projects, from simple to complex, from design to development. +It is intended to be extensible to meet the needs of different teams and projects, from simple to complex, from design to development. [Read more about our roadmap and how we've structured the server in our architecture docs](./docs/architecture.md). ## Requirements @@ -68,7 +68,6 @@ Visualize and test the MCP interface: npx -y @modelcontextprotocol/inspector npx @patternfly/patternfly-mcp ``` - #### Embed the server in your application ```typescript @@ -94,7 +93,7 @@ main(); For comprehensive usage, development, and project state [read the docs](./docs/README.md). -- **Architecture**: Learn about our [hybrid documentation model and data sources](./docs/architecture.md#data-sources-and-integrations). +- **Architecture**: Learn about our [hybrid documentation concept and data sources](./docs/architecture.md#data-sources-and-integrations). - **Usage**: Detailed guide on [built-in tools and resources](./docs/usage.md). - **Development**: Reference for [CLI options and tool plugins](./docs/development.md). diff --git a/docs/README.md b/docs/README.md index 186a769b..2353e0cf 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,5 +12,5 @@ Welcome to the PatternFly MCP Server documentation. This guide is organized by u - **[Examples](./examples/README.md)**: Standalone snippets for HTTP transport, embedding, and custom tools. ### 🏗️ Architecture & design -- **[System Architecture](./architecture.md)**: Architecture and roadmap. +- **[System Architecture](./architecture.md)**: Design and core concepts. - **[Roadmap](./architecture.md#roadmap)**: Future plans for the project. diff --git a/docs/architecture.md b/docs/architecture.md index 0ef2640b..c0bad92c 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -44,7 +44,7 @@ These helpers are a core part of our [Hybrid documentation](#hybrid-documentatio ### Tools, resources, and prompts as customizable plugins -Tools, resources, and prompts as customizable plugins are the result of predictable MCP SDK patterns. In the case of the PatternFly MCP server, +Customizable plugins for tools, resources, and prompts follow predictable MCP SDK patterns. In the case of the PatternFly MCP server, this actively plays a role in the library architecture because it allows us to focus on providing stability. Key goals aided by moving towards plugins: diff --git a/docs/development.md b/docs/development.md index 960153b9..9a1c924c 100644 --- a/docs/development.md +++ b/docs/development.md @@ -32,7 +32,7 @@ Complete guide to using the PatternFly MCP Server for development including CLI #### Notes - **HTTP transport mode** - By default, the server uses `stdio`. Use the `--http` flag to enable HTTP transport. -- **Logging** - The server uses a `diagnostics_channel`-based logger that keeps STDIO stdout pure by default. +- **Logging** - The server uses a `diagnostics_channel`-based logger that keeps stdout pure by default. - **Programmatic API** - The server can also be used programmatically with options. See [Programmatic usage](#programmatic-usage) for more details. - **Tool plugins** - The server can load external tool plugins at startup. See [MCP tool plugins](#mcp-tool-plugins) for more details. - **Test Mode** - When `--mode test` is used, the server redirects resource requests to the URL provided by `--mode-test-url`, enabling E2E testing without local filesystem access. @@ -205,7 +205,7 @@ process.on('SIGINT', async () => { #### server.getStats() -Returns a `PfMcpStats` object containing server metrics, includes diagnostic channel IDs for listening to server activity. +Returns a `PfMcpStats` object containing server metrics and diagnostic channel IDs for listening to server activity. ```typescript import { channel, unsubscribe, subscribe } from 'node:diagnostics_channel'; @@ -220,7 +220,6 @@ const logHandler = (event: PfMcpStatReport) => { }; const logSubscription = subscribe(logChannel, logHandler); - ``` ### Typing reference @@ -254,8 +253,8 @@ const main = async () => { ] }); - // Optional: observe refined server logs in‑process. - // We recommend getting in the habit of avoiding use of console.log and info, they pollute STDOUT. + // Optional: observe refined server logs in-process. + // We recommend getting in the habit of avoiding use of console.log and info since they pollute stdout. server.onLog((event) => { if (event.level !== 'debug') { console.warn(`[${event.level}] ${event.msg || ''}`); @@ -276,7 +275,7 @@ See [examples/](examples/) for more programmatic usage examples. ## MCP tool plugins -You can extend the server's capabilities by loading **Tool Plugins** at startup. These plugins run out‑of‑process in an isolated **Tools Host** to ensure security and stability. +You can extend the server's capabilities by loading **Tool Plugins** at startup. These plugins run out-of-process in an isolated **Tools Host** to ensure security and stability. ### Tool plugin runtime requirements diff --git a/docs/examples/README.md b/docs/examples/README.md index f8802a3a..69a98548 100644 --- a/docs/examples/README.md +++ b/docs/examples/README.md @@ -8,7 +8,6 @@ PatternFly MCP code examples for tooling plugins and development use cases. - **[toolPluginGitStatus.js](toolPluginGitStatus.js)** - A custom tool using Git - **[toolPluginHelloWorld.js](toolPluginHelloWorld.js)** - A basic JS tool plugin example - ## Adding new example guidance Examples should follow the basic guidelines: diff --git a/docs/usage.md b/docs/usage.md index 4f672e79..e866e00d 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -3,10 +3,10 @@ A comprehensive guide to PatternFly MCP Server tools, resources, and configuration. **User Guide:** -- [Built-in Tools](#built-in-tools) -- [Built-in Resources](#built-in-resources) -- [MCP Client Configuration](#mcp-client-configuration) -- [Custom MCP Tool Plugins](#custom-mcp-tool-plugins) +- [Built-in tools](#built-in-tools) +- [Built-in resources](#built-in-resources) +- [MCP client configuration](#mcp-client-configuration) +- [Custom MCP tool plugins](#custom-mcp-tool-plugins) ## Built-in tools diff --git a/guidelines/README.md b/guidelines/README.md index 913a020c..cdaa3a0d 100644 --- a/guidelines/README.md +++ b/guidelines/README.md @@ -46,9 +46,9 @@ Agents should use these phrases as signals to consult specific documentation and ### File Maintenance Principles - Update index files (e.g., `docs/examples/README.md` or `guidelines/README.md`) immediately when adding or removing content. -- Reference and index guidelines. Don't duplicate content -- Update references when adding new files -- Keep descriptions concise and focused +- Reference and index guidelines. Don't duplicate content. +- Update references when adding new files. +- Keep descriptions concise and focused. ### Adding New Guidelines 1. Add entry to "Guidelines Index" section diff --git a/guidelines/agent_behaviors.md b/guidelines/agent_behaviors.md index 8614af65..6b28de45 100644 --- a/guidelines/agent_behaviors.md +++ b/guidelines/agent_behaviors.md @@ -8,7 +8,7 @@ Comprehensive guide to agent behaviors, workflows, and standards for the codebas ### Processing Priority -Critical - Process first when working with the repository. +Critical - This document should be processed first when working with agent guidelines in the repository. ### Related Guidelines diff --git a/guidelines/agent_coding.md b/guidelines/agent_coding.md index a9de30e6..4a6722f2 100644 --- a/guidelines/agent_coding.md +++ b/guidelines/agent_coding.md @@ -229,5 +229,5 @@ Agents MUST validate all code outputs using the project's quality suite: 1. **Linting**: `npm run test:lint` (Ensures style consistency) 2. **Type Checking**: `npm run test:types` (tsc validation) -3. **Documentation**: `npm run test:spell-docs` (Cspell validation) +3. **Documentation**: `npm run test:spell-docs` (CSpell validation) 4. **Testing**: `npm run test` (Unit) and `npm run test:integration` (E2E)