refactor: consolidate plugins into plugins/ directory

- Created plugins/ directory to centralize all plugins
- Moved projman and project-hygiene into plugins/
- Updated .mcp.json paths from ../mcp-servers/ to ../../mcp-servers/
- Updated CLAUDE.md governance section with new directory structure
- Updated README.md with new repository structure diagram
- Fixed all path references in documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-11 23:26:38 -05:00
parent 8bb69d3556
commit e9e425933b
21 changed files with 52 additions and 51 deletions

View File

@@ -39,9 +39,7 @@ Only these directories may exist at the repository root:
| `docs/` | Documentation | | `docs/` | Documentation |
| `hooks/` | Shared hooks (if any) | | `hooks/` | Shared hooks (if any) |
| `mcp-servers/` | Shared MCP servers | | `mcp-servers/` | Shared MCP servers |
| `project-hygiene/` | Cleanup automation plugin | | `plugins/` | All plugins (projman, projman-pmo, project-hygiene) |
| `projman/` | Sprint management plugin |
| `projman-pmo/` | PMO coordination plugin |
| `scripts/` | Setup and maintenance scripts | | `scripts/` | Setup and maintenance scripts |
### File Creation Rules ### File Creation Rules
@@ -122,7 +120,7 @@ Both plugins use **two shared MCP servers** at repository root level (`mcp-serve
- MCP servers are **shared** by both plugins at `mcp-servers/gitea` and `mcp-servers/wikijs` - MCP servers are **shared** by both plugins at `mcp-servers/gitea` and `mcp-servers/wikijs`
- Each MCP server detects its mode (project-scoped vs company-wide) based on environment variables - Each MCP server detects its mode (project-scoped vs company-wide) based on environment variables
- Configuration uses hybrid approach (system-level + project-level) - Configuration uses hybrid approach (system-level + project-level)
- Both plugins reference `../mcp-servers/` in their `.mcp.json` files - All plugins reference `../../mcp-servers/` in their `.mcp.json` files (from `plugins/*/`)
## Branch-Aware Security Model ## Branch-Aware Security Model
@@ -220,7 +218,7 @@ See [docs/reference-material/projman-implementation-plan.md](docs/reference-mate
bandit/support-claude-mktplace/ bandit/support-claude-mktplace/
├── .claude-plugin/ ├── .claude-plugin/
│ └── marketplace.json │ └── marketplace.json
├── mcp-servers/ # ← SHARED BY BOTH PLUGINS ├── mcp-servers/ # ← SHARED BY ALL PLUGINS
│ ├── gitea/ │ ├── gitea/
│ │ ├── .venv/ │ │ ├── .venv/
│ │ ├── requirements.txt # Python dependencies │ │ ├── requirements.txt # Python dependencies
@@ -246,10 +244,11 @@ bandit/support-claude-mktplace/
│ │ ├── lessons_learned.py │ │ ├── lessons_learned.py
│ │ └── documentation.py │ │ └── documentation.py
│ └── tests/ │ └── tests/
└── plugins/ # ← ALL PLUGINS
├── projman/ # ← PROJECT PLUGIN ├── projman/ # ← PROJECT PLUGIN
│ ├── .claude-plugin/ │ ├── .claude-plugin/
│ │ └── plugin.json │ │ └── plugin.json
│ ├── .mcp.json # Points to ../mcp-servers/ │ ├── .mcp.json # Points to ../../mcp-servers/
│ ├── commands/ │ ├── commands/
│ │ ├── sprint-plan.md │ │ ├── sprint-plan.md
│ │ ├── sprint-start.md │ │ ├── sprint-start.md
@@ -265,18 +264,20 @@ bandit/support-claude-mktplace/
│ │ └── labels-reference.md │ │ └── labels-reference.md
│ ├── README.md │ ├── README.md
│ └── CONFIGURATION.md │ └── CONFIGURATION.md
── projman-pmo/ # ← PMO PLUGIN ── projman-pmo/ # ← PMO PLUGIN
├── .claude-plugin/ ├── .claude-plugin/
│ └── plugin.json └── plugin.json
├── .mcp.json # Points to ../mcp-servers/ ├── .mcp.json # Points to ../../mcp-servers/
├── commands/ ├── commands/
│ ├── pmo-status.md ├── pmo-status.md
│ ├── pmo-priorities.md ├── pmo-priorities.md
│ ├── pmo-dependencies.md ├── pmo-dependencies.md
│ └── pmo-schedule.md └── pmo-schedule.md
├── agents/ ├── agents/
│ └── pmo-coordinator.md └── pmo-coordinator.md
└── README.md └── README.md
└── project-hygiene/ # ← CLEANUP PLUGIN
└── ...
``` ```
### Key Design Decisions ### Key Design Decisions
@@ -419,7 +420,7 @@ Test in real CuisineFlow repository with actual Gitea instance before distributi
``` ```
### MCP Server Configuration ### MCP Server Configuration
- MCP servers MUST use venv python: `${CLAUDE_PLUGIN_ROOT}/../mcp-servers/NAME/.venv/bin/python` - MCP servers MUST use venv python: `${CLAUDE_PLUGIN_ROOT}/../../mcp-servers/NAME/.venv/bin/python`
- NEVER use bare `python` command - always use venv path - NEVER use bare `python` command - always use venv path
- Test MCP servers after any config change - Test MCP servers after any config change

BIN
README.md

Binary file not shown.

14
plugins/projman/.mcp.json Normal file
View File

@@ -0,0 +1,14 @@
{
"mcpServers": {
"gitea": {
"command": "${CLAUDE_PLUGIN_ROOT}/../../mcp-servers/gitea/.venv/bin/python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/../../mcp-servers/gitea"
},
"wikijs": {
"command": "${CLAUDE_PLUGIN_ROOT}/../../mcp-servers/wikijs/.venv/bin/python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/../../mcp-servers/wikijs"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"mcpServers": {
"gitea": {
"command": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/gitea/.venv/bin/python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/gitea"
},
"wikijs": {
"command": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/wikijs/.venv/bin/python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/wikijs"
}
}
}