From 2731d6096ebc91f4f1de94e0aae6c43db4771e71 Mon Sep 17 00:00:00 2001 From: "Chris.Weber" <chris.weber@velir.com> Date: Sat, 29 Mar 2025 20:40:47 -0500 Subject: [PATCH 1/3] Add The Claude.md and add .idea to the gitignore. --- .gitignore | 2 ++ CLAUDE.md | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 CLAUDE.md diff --git a/.gitignore b/.gitignore index f93ea89..282b5fb 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ phpcs.xml.dist phpstan.neon phpstan-baseline.neon + +.idea diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..818febb --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,20 @@ +# MCP Drupal Module Development Guidelines + +## Commands +- **PHPUnit Tests**: `vendor/bin/phpunit modules/path/to/tests` (single test) +- **Code Style Check**: `vendor/bin/grumphp run` or `vendor/bin/phpcs` +- **Install Dependencies**: `composer install` +- **Drupal Test**: `./vendor/bin/phpunit --testsuite Functional` + +## Code Style +- Follow **Drupal Coding Standards** (enforced via PHPCS) +- Use **PSR-4** autoloading with `Drupal\mcp` namespace +- Add `declare(strict_types=1)` to all PHP files +- Use **type hints** and **return types** consistently +- **Class naming**: `CamelCase` with `Mcp` prefix (e.g., `McpPluginBase`) +- **Method naming**: `camelCase` (e.g., `getTools()`) +- **Interface naming**: Use `Interface` suffix (e.g., `McpInterface`) +- Organize code into **PSR-4 namespaces** by feature +- Use **PHPDoc** comment blocks for all classes/methods +- Follow **Drupal plugin patterns** for extensions +- Avoid debug functions (var_dump, print_r, etc.) \ No newline at end of file -- GitLab From 1ab70671e19b13390eceea6e4b21aa6c60f86b99 Mon Sep 17 00:00:00 2001 From: "Chris.Weber" <chris.weber@velir.com> Date: Sat, 29 Mar 2025 20:43:24 -0500 Subject: [PATCH 2/3] Add context priming section to the readme file. --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index b6010b2..5c57e66 100644 --- a/README.md +++ b/README.md @@ -45,3 +45,6 @@ from your Drupal website. - This module is under active development and is not yet ready for production use. - Use at your own risk. - Everything is subject to change. + +## Context Priming +Read README.md, docs/*, and run git ls-files to understand this codebase. -- GitLab From 5531a96774caa5bb836e7d257aa62099d3ad197d Mon Sep 17 00:00:00 2001 From: "Chris.Weber" <chris.weber@velir.com> Date: Sun, 30 Mar 2025 08:59:27 -0500 Subject: [PATCH 3/3] Additional ignores in .gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 282b5fb..44264c8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,8 @@ phpcs.xml.dist phpstan.neon phpstan-baseline.neon +# IDE .idea + +# AI tooling +.claude -- GitLab