diff --git a/CLAUDE.md b/CLAUDE.md index c4e6eb2..109ea27 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -39,9 +39,7 @@ Only these directories may exist at the repository root: | `docs/` | Documentation | | `hooks/` | Shared hooks (if any) | | `mcp-servers/` | Shared MCP servers | -| `project-hygiene/` | Cleanup automation plugin | -| `projman/` | Sprint management plugin | -| `projman-pmo/` | PMO coordination plugin | +| `plugins/` | All plugins (projman, projman-pmo, project-hygiene) | | `scripts/` | Setup and maintenance scripts | ### 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` - Each MCP server detects its mode (project-scoped vs company-wide) based on environment variables - 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 @@ -220,7 +218,7 @@ See [docs/reference-material/projman-implementation-plan.md](docs/reference-mate bandit/support-claude-mktplace/ ├── .claude-plugin/ │ └── marketplace.json -├── mcp-servers/ # ← SHARED BY BOTH PLUGINS +├── mcp-servers/ # ← SHARED BY ALL PLUGINS │ ├── gitea/ │ │ ├── .venv/ │ │ ├── requirements.txt # Python dependencies @@ -246,37 +244,40 @@ bandit/support-claude-mktplace/ │ │ ├── lessons_learned.py │ │ └── documentation.py │ └── tests/ -├── projman/ # ← PROJECT PLUGIN -│ ├── .claude-plugin/ -│ │ └── plugin.json -│ ├── .mcp.json # Points to ../mcp-servers/ -│ ├── commands/ -│ │ ├── sprint-plan.md -│ │ ├── sprint-start.md -│ │ ├── sprint-status.md -│ │ ├── sprint-close.md -│ │ └── labels-sync.md -│ ├── agents/ -│ │ ├── planner.md -│ │ ├── orchestrator.md -│ │ └── executor.md -│ ├── skills/ -│ │ └── label-taxonomy/ -│ │ └── labels-reference.md -│ ├── README.md -│ └── CONFIGURATION.md -└── projman-pmo/ # ← PMO PLUGIN - ├── .claude-plugin/ - │ └── plugin.json - ├── .mcp.json # Points to ../mcp-servers/ - ├── commands/ - │ ├── pmo-status.md - │ ├── pmo-priorities.md - │ ├── pmo-dependencies.md - │ └── pmo-schedule.md - ├── agents/ - │ └── pmo-coordinator.md - └── README.md +└── plugins/ # ← ALL PLUGINS + ├── projman/ # ← PROJECT PLUGIN + │ ├── .claude-plugin/ + │ │ └── plugin.json + │ ├── .mcp.json # Points to ../../mcp-servers/ + │ ├── commands/ + │ │ ├── sprint-plan.md + │ │ ├── sprint-start.md + │ │ ├── sprint-status.md + │ │ ├── sprint-close.md + │ │ └── labels-sync.md + │ ├── agents/ + │ │ ├── planner.md + │ │ ├── orchestrator.md + │ │ └── executor.md + │ ├── skills/ + │ │ └── label-taxonomy/ + │ │ └── labels-reference.md + │ ├── README.md + │ └── CONFIGURATION.md + ├── projman-pmo/ # ← PMO PLUGIN + │ ├── .claude-plugin/ + │ │ └── plugin.json + │ ├── .mcp.json # Points to ../../mcp-servers/ + │ ├── commands/ + │ │ ├── pmo-status.md + │ │ ├── pmo-priorities.md + │ │ ├── pmo-dependencies.md + │ │ └── pmo-schedule.md + │ ├── agents/ + │ │ └── pmo-coordinator.md + │ └── README.md + └── project-hygiene/ # ← CLEANUP PLUGIN + └── ... ``` ### Key Design Decisions @@ -419,7 +420,7 @@ Test in real CuisineFlow repository with actual Gitea instance before distributi ``` ### 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 - Test MCP servers after any config change diff --git a/README.md b/README.md index 76fc4f9..bf3fbae 100644 Binary files a/README.md and b/README.md differ diff --git a/project-hygiene/.claude-plugin/plugin.json b/plugins/project-hygiene/.claude-plugin/plugin.json similarity index 100% rename from project-hygiene/.claude-plugin/plugin.json rename to plugins/project-hygiene/.claude-plugin/plugin.json diff --git a/project-hygiene/README.md b/plugins/project-hygiene/README.md similarity index 100% rename from project-hygiene/README.md rename to plugins/project-hygiene/README.md diff --git a/project-hygiene/hooks/cleanup.sh b/plugins/project-hygiene/hooks/cleanup.sh similarity index 100% rename from project-hygiene/hooks/cleanup.sh rename to plugins/project-hygiene/hooks/cleanup.sh diff --git a/project-hygiene/hooks/hooks.json b/plugins/project-hygiene/hooks/hooks.json similarity index 100% rename from project-hygiene/hooks/hooks.json rename to plugins/project-hygiene/hooks/hooks.json diff --git a/projman/.claude-plugin/plugin.json b/plugins/projman/.claude-plugin/plugin.json similarity index 100% rename from projman/.claude-plugin/plugin.json rename to plugins/projman/.claude-plugin/plugin.json diff --git a/plugins/projman/.mcp.json b/plugins/projman/.mcp.json new file mode 100644 index 0000000..98395b5 --- /dev/null +++ b/plugins/projman/.mcp.json @@ -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" + } + } +} diff --git a/projman/CONFIGURATION.md b/plugins/projman/CONFIGURATION.md similarity index 100% rename from projman/CONFIGURATION.md rename to plugins/projman/CONFIGURATION.md diff --git a/projman/README.md b/plugins/projman/README.md similarity index 100% rename from projman/README.md rename to plugins/projman/README.md diff --git a/projman/agents/executor.md b/plugins/projman/agents/executor.md similarity index 100% rename from projman/agents/executor.md rename to plugins/projman/agents/executor.md diff --git a/projman/agents/orchestrator.md b/plugins/projman/agents/orchestrator.md similarity index 100% rename from projman/agents/orchestrator.md rename to plugins/projman/agents/orchestrator.md diff --git a/projman/agents/planner.md b/plugins/projman/agents/planner.md similarity index 100% rename from projman/agents/planner.md rename to plugins/projman/agents/planner.md diff --git a/projman/commands/initial-setup.md b/plugins/projman/commands/initial-setup.md similarity index 100% rename from projman/commands/initial-setup.md rename to plugins/projman/commands/initial-setup.md diff --git a/projman/commands/labels-sync.md b/plugins/projman/commands/labels-sync.md similarity index 100% rename from projman/commands/labels-sync.md rename to plugins/projman/commands/labels-sync.md diff --git a/projman/commands/sprint-close.md b/plugins/projman/commands/sprint-close.md similarity index 100% rename from projman/commands/sprint-close.md rename to plugins/projman/commands/sprint-close.md diff --git a/projman/commands/sprint-plan.md b/plugins/projman/commands/sprint-plan.md similarity index 100% rename from projman/commands/sprint-plan.md rename to plugins/projman/commands/sprint-plan.md diff --git a/projman/commands/sprint-start.md b/plugins/projman/commands/sprint-start.md similarity index 100% rename from projman/commands/sprint-start.md rename to plugins/projman/commands/sprint-start.md diff --git a/projman/commands/sprint-status.md b/plugins/projman/commands/sprint-status.md similarity index 100% rename from projman/commands/sprint-status.md rename to plugins/projman/commands/sprint-status.md diff --git a/projman/skills/label-taxonomy/labels-reference.md b/plugins/projman/skills/label-taxonomy/labels-reference.md similarity index 100% rename from projman/skills/label-taxonomy/labels-reference.md rename to plugins/projman/skills/label-taxonomy/labels-reference.md diff --git a/projman/.mcp.json b/projman/.mcp.json deleted file mode 100644 index a9ed3fb..0000000 --- a/projman/.mcp.json +++ /dev/null @@ -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" - } - } -}