Merge pull request 'refactor: consolidate plugins into plugins/ directory' (#19) from development into main

Reviewed-on: bandit/support-claude-mktplace#19
This commit was merged in pull request #19.
This commit is contained in:
2025-12-12 04:30:22 +00:00
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,37 +244,40 @@ bandit/support-claude-mktplace/
│ │ ├── lessons_learned.py │ │ ├── lessons_learned.py
│ │ └── documentation.py │ │ └── documentation.py
│ └── tests/ │ └── tests/
── projman/ # ← PROJECT PLUGIN ── plugins/ # ← ALL PLUGINS
├── .claude-plugin/ ├── projman/ # ← PROJECT PLUGIN
── plugin.json ── .claude-plugin/
├── .mcp.json # Points to ../mcp-servers/ └── plugin.json
│ ├── commands/ │ ├── .mcp.json # Points to ../../mcp-servers/
│ ├── sprint-plan.md │ ├── commands/
│ │ ├── sprint-start.md │ │ ├── sprint-plan.md
│ │ ├── sprint-status.md │ │ ├── sprint-start.md
│ │ ├── sprint-close.md │ │ ├── sprint-status.md
│ │ ── labels-sync.md │ │ ── sprint-close.md
│ ├── agents/ │ │ └── labels-sync.md
│ ├── planner.md │ ├── agents/
│ │ ├── orchestrator.md │ │ ├── planner.md
│ │ ── executor.md │ │ ── orchestrator.md
│ ├── skills/ │ │ └── executor.md
── label-taxonomy/ ── skills/
└── labels-reference.md └── label-taxonomy/
│ ├── README.md │ │ └── labels-reference.md
── CONFIGURATION.md ── README.md
└── projman-pmo/ # ← PMO PLUGIN └── CONFIGURATION.md
├── .claude-plugin/ ├── projman-pmo/ # ← PMO PLUGIN
── plugin.json ── .claude-plugin/
├── .mcp.json # Points to ../mcp-servers/ └── plugin.json
├── commands/ │ ├── .mcp.json # Points to ../../mcp-servers/
│ ├── pmo-status.md │ ├── commands/
│ ├── pmo-priorities.md ├── pmo-status.md
│ ├── pmo-dependencies.md ├── pmo-priorities.md
── pmo-schedule.md │ ├── pmo-dependencies.md
├── agents/ │ │ └── pmo-schedule.md
── pmo-coordinator.md ── agents/
└── README.md │ │ └── pmo-coordinator.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"
}
}
}