Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eec4007f30 | |||
| bbce9ed321 | |||
| 16bf1b969d | |||
| 8357c37160 | |||
| 1fe19b85e3 | |||
| e824b18e44 | |||
| 601f837063 | |||
| f4e62dd1fb | |||
| 97362576dc | |||
| a169399da7 | |||
| 47d2ef2e07 |
@@ -6,12 +6,12 @@
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Project management plugins with Gitea and NetBox integrations",
|
||||
"version": "9.0.1"
|
||||
"version": "9.1.2"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "projman",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Sprint planning and project management with Gitea integration",
|
||||
"source": "./plugins/projman",
|
||||
"author": {
|
||||
@@ -27,12 +27,11 @@
|
||||
"gitea",
|
||||
"project-management"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "doc-guardian",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Automatic documentation drift detection and synchronization",
|
||||
"source": "./plugins/doc-guardian",
|
||||
"author": {
|
||||
@@ -47,12 +46,11 @@
|
||||
"drift-detection",
|
||||
"sync"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "code-sentinel",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Security scanning and code refactoring tools",
|
||||
"source": "./plugins/code-sentinel",
|
||||
"author": {
|
||||
@@ -70,13 +68,12 @@
|
||||
"refactoring",
|
||||
"vulnerabilities"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "project-hygiene",
|
||||
"version": "7.1.0",
|
||||
"description": "Post-task cleanup hook that removes temp files and manages orphaned files",
|
||||
"version": "9.0.1",
|
||||
"description": "Manual project hygiene checks — temp files, misplaced files, empty dirs, debug artifacts",
|
||||
"source": "./plugins/project-hygiene",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -87,15 +84,15 @@
|
||||
"category": "productivity",
|
||||
"tags": [
|
||||
"cleanup",
|
||||
"automation",
|
||||
"hygiene"
|
||||
"hygiene",
|
||||
"maintenance",
|
||||
"manual-check"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "cmdb-assistant",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "NetBox CMDB integration with data quality validation and machine registration",
|
||||
"source": "./plugins/cmdb-assistant",
|
||||
"author": {
|
||||
@@ -116,12 +113,11 @@
|
||||
"data-quality",
|
||||
"validation"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "ops"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "claude-config-maintainer",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "CLAUDE.md and settings.local.json optimization for Claude Code projects",
|
||||
"source": "./plugins/claude-config-maintainer",
|
||||
"author": {
|
||||
@@ -136,12 +132,11 @@
|
||||
"configuration",
|
||||
"optimization"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "clarity-assist",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Prompt optimization and requirement clarification with ND-friendly accommodations",
|
||||
"source": "./plugins/clarity-assist",
|
||||
"author": {
|
||||
@@ -160,12 +155,11 @@
|
||||
"clarification",
|
||||
"nd-friendly"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "git-flow",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Git workflow automation with intelligent commit messages and branch management",
|
||||
"source": "./plugins/git-flow",
|
||||
"author": {
|
||||
@@ -184,12 +178,11 @@
|
||||
"commits",
|
||||
"branching"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "pr-review",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Multi-agent pull request review with confidence scoring and actionable feedback",
|
||||
"source": "./plugins/pr-review",
|
||||
"author": {
|
||||
@@ -205,12 +198,11 @@
|
||||
"security",
|
||||
"quality"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "data-platform",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
|
||||
"source": "./plugins/data-platform",
|
||||
"author": {
|
||||
@@ -228,12 +220,11 @@
|
||||
"data-engineering",
|
||||
"etl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "data"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "viz-platform",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming",
|
||||
"source": "./plugins/viz-platform",
|
||||
"author": {
|
||||
@@ -252,12 +243,11 @@
|
||||
"theming",
|
||||
"dmc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "data"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "contract-validator",
|
||||
"version": "7.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Cross-plugin compatibility validation and Claude.md agent verification",
|
||||
"source": "./plugins/contract-validator",
|
||||
"author": {
|
||||
@@ -275,8 +265,7 @@
|
||||
"interfaces",
|
||||
"cross-plugin"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "core"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "saas-api-platform",
|
||||
@@ -298,8 +287,7 @@
|
||||
"express",
|
||||
"openapi"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "saas"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "saas-db-migrate",
|
||||
@@ -321,8 +309,7 @@
|
||||
"sql",
|
||||
"schema"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "saas"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "saas-react-platform",
|
||||
@@ -344,8 +331,7 @@
|
||||
"frontend",
|
||||
"components"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "saas"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "saas-test-pilot",
|
||||
@@ -367,8 +353,7 @@
|
||||
"playwright",
|
||||
"coverage"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "saas"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "data-seed",
|
||||
@@ -389,8 +374,7 @@
|
||||
"fixtures",
|
||||
"database"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "data"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "ops-release-manager",
|
||||
@@ -411,8 +395,7 @@
|
||||
"versioning",
|
||||
"tags"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "ops"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "ops-deploy-pipeline",
|
||||
@@ -433,8 +416,7 @@
|
||||
"caddy",
|
||||
"cicd"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "ops"
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "debug-mcp",
|
||||
@@ -455,8 +437,7 @@
|
||||
"server",
|
||||
"development"
|
||||
],
|
||||
"license": "MIT",
|
||||
"domain": "debug"
|
||||
"license": "MIT"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,249 +0,0 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
**Repository:** leo-claude-mktplace
|
||||
**Version:** 3.0.1
|
||||
**Status:** Production Ready
|
||||
|
||||
A plugin marketplace for Claude Code containing:
|
||||
|
||||
| Plugin | Description | Version |
|
||||
|--------|-------------|---------|
|
||||
| `projman` | Sprint planning and project management with Gitea integration | 3.0.0 |
|
||||
| `git-flow` | Git workflow automation with smart commits and branch management | 1.0.0 |
|
||||
| `pr-review` | Multi-agent PR review with confidence scoring | 1.0.0 |
|
||||
| `clarity-assist` | Prompt optimization with ND-friendly accommodations | 1.0.0 |
|
||||
| `doc-guardian` | Automatic documentation drift detection and synchronization | 1.0.0 |
|
||||
| `code-sentinel` | Security scanning and code refactoring tools | 1.0.0 |
|
||||
| `claude-config-maintainer` | CLAUDE.md optimization and maintenance | 1.0.0 |
|
||||
| `cmdb-assistant` | NetBox CMDB integration for infrastructure management | 1.0.0 |
|
||||
| `project-hygiene` | Post-task cleanup automation via hooks | 0.1.0 |
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Validate marketplace compliance
|
||||
./scripts/validate-marketplace.sh
|
||||
|
||||
# Setup commands (in a target project with plugin installed)
|
||||
/initial-setup # First time: full setup wizard
|
||||
/project-init # New project: quick config
|
||||
/project-sync # After repo move: sync config
|
||||
|
||||
# Run projman commands
|
||||
/sprint-plan # Start sprint planning
|
||||
/sprint-status # Check progress
|
||||
/review # Pre-close code quality review
|
||||
/test-check # Verify tests before close
|
||||
/sprint-close # Complete sprint
|
||||
```
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
leo-claude-mktplace/
|
||||
├── .claude-plugin/
|
||||
│ └── marketplace.json # Marketplace manifest
|
||||
├── mcp-servers/ # SHARED MCP servers (v3.0.0+)
|
||||
│ ├── gitea/ # Gitea MCP (issues, PRs, wiki)
|
||||
│ └── netbox/ # NetBox MCP (CMDB)
|
||||
├── plugins/
|
||||
│ ├── projman/ # Sprint management
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── .mcp.json
|
||||
│ │ ├── mcp-servers/gitea -> ../../../mcp-servers/gitea # SYMLINK
|
||||
│ │ ├── commands/ # 12 commands (incl. setup)
|
||||
│ │ ├── hooks/ # SessionStart mismatch detection
|
||||
│ │ ├── agents/ # 4 agents
|
||||
│ │ └── skills/label-taxonomy/
|
||||
│ ├── git-flow/ # Git workflow automation
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── commands/ # 8 commands
|
||||
│ │ └── agents/
|
||||
│ ├── pr-review/ # Multi-agent PR review
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── .mcp.json
|
||||
│ │ ├── mcp-servers/gitea -> ../../../mcp-servers/gitea # SYMLINK
|
||||
│ │ ├── commands/ # 6 commands (incl. setup)
|
||||
│ │ ├── hooks/ # SessionStart mismatch detection
|
||||
│ │ └── agents/ # 5 agents
|
||||
│ ├── clarity-assist/ # Prompt optimization (NEW v3.0.0)
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── commands/ # 2 commands
|
||||
│ │ └── agents/
|
||||
│ ├── doc-guardian/ # Documentation drift detection
|
||||
│ ├── code-sentinel/ # Security scanning & refactoring
|
||||
│ ├── claude-config-maintainer/
|
||||
│ ├── cmdb-assistant/
|
||||
│ └── project-hygiene/
|
||||
├── scripts/
|
||||
│ ├── setup.sh, post-update.sh
|
||||
│ └── validate-marketplace.sh # Marketplace compliance validation
|
||||
└── docs/
|
||||
├── CANONICAL-PATHS.md # Single source of truth for paths
|
||||
└── CONFIGURATION.md # Centralized configuration guide
|
||||
```
|
||||
|
||||
## CRITICAL: Rules You MUST Follow
|
||||
|
||||
### File Operations
|
||||
- **NEVER** create files in repository root unless listed in "Allowed Root Files"
|
||||
- **NEVER** modify `.gitignore` without explicit permission
|
||||
- **ALWAYS** use `.scratch/` for temporary/exploratory work
|
||||
- **ALWAYS** verify paths against `docs/CANONICAL-PATHS.md` before creating files
|
||||
|
||||
### Plugin Development
|
||||
- **plugin.json MUST be in `.claude-plugin/` directory** (not plugin root)
|
||||
- **Every plugin MUST be listed in marketplace.json**
|
||||
- **MCP servers are SHARED at root** with symlinks from plugins
|
||||
- **MCP server venv path**: `${CLAUDE_PLUGIN_ROOT}/mcp-servers/{name}/.venv/bin/python`
|
||||
- **CLI tools forbidden** - Use MCP tools exclusively (never `tea`, `gh`, etc.)
|
||||
|
||||
### Hooks (Valid Events Only)
|
||||
`PreToolUse`, `PostToolUse`, `UserPromptSubmit`, `SessionStart`, `SessionEnd`, `Notification`, `Stop`, `SubagentStop`, `PreCompact`
|
||||
|
||||
**INVALID:** `task-completed`, `file-changed`, `git-commit-msg-needed`
|
||||
|
||||
### Allowed Root Files
|
||||
`CLAUDE.md`, `README.md`, `LICENSE`, `CHANGELOG.md`, `.gitignore`, `.env.example`
|
||||
|
||||
### Allowed Root Directories
|
||||
`.claude/`, `.claude-plugin/`, `.claude-plugins/`, `.scratch/`, `docs/`, `hooks/`, `mcp-servers/`, `plugins/`, `scripts/`
|
||||
|
||||
## Architecture
|
||||
|
||||
### Four-Agent Model (projman)
|
||||
|
||||
| Agent | Personality | Responsibilities |
|
||||
|-------|-------------|------------------|
|
||||
| **Planner** | Thoughtful, methodical | Sprint planning, architecture analysis, issue creation, lesson search |
|
||||
| **Orchestrator** | Concise, action-oriented | Sprint execution, parallel batching, Git operations, lesson capture |
|
||||
| **Executor** | Implementation-focused | Code implementation, branch management, MR creation |
|
||||
| **Code Reviewer** | Thorough, practical | Pre-close quality review, security scan, test verification |
|
||||
|
||||
### MCP Server Tools (Gitea)
|
||||
|
||||
| Category | Tools |
|
||||
|----------|-------|
|
||||
| Issues | `list_issues`, `get_issue`, `create_issue`, `update_issue`, `add_comment` |
|
||||
| Labels | `get_labels`, `suggest_labels`, `create_label` |
|
||||
| Milestones | `list_milestones`, `get_milestone`, `create_milestone`, `update_milestone` |
|
||||
| Dependencies | `list_issue_dependencies`, `create_issue_dependency`, `get_execution_order` |
|
||||
| Wiki | `list_wiki_pages`, `get_wiki_page`, `create_wiki_page`, `create_lesson`, `search_lessons` |
|
||||
| **Pull Requests** | `list_pull_requests`, `get_pull_request`, `get_pr_diff`, `get_pr_comments`, `create_pr_review`, `add_pr_comment` *(NEW v3.0.0)* |
|
||||
| Validation | `validate_repo_org`, `get_branch_protection` |
|
||||
|
||||
### Hybrid Configuration
|
||||
|
||||
| Level | Location | Purpose |
|
||||
|-------|----------|---------|
|
||||
| System | `~/.config/claude/gitea.env` | Credentials (GITEA_API_URL, GITEA_API_TOKEN) |
|
||||
| Project | `.env` in project root | Repository specification (GITEA_ORG, GITEA_REPO) |
|
||||
|
||||
**Note:** `GITEA_ORG` is at project level since different projects may belong to different organizations.
|
||||
|
||||
### Branch-Aware Security
|
||||
|
||||
| Branch Pattern | Mode | Capabilities |
|
||||
|----------------|------|--------------|
|
||||
| `development`, `feat/*` | Development | Full access |
|
||||
| `staging` | Staging | Read-only code, can create issues |
|
||||
| `main`, `master` | Production | Read-only, emergency only |
|
||||
|
||||
## Label Taxonomy
|
||||
|
||||
43 labels total: 27 organization + 16 repository
|
||||
|
||||
**Organization:** Agent/2, Complexity/3, Efforts/5, Priority/4, Risk/3, Source/4, Type/6
|
||||
**Repository:** Component/9, Tech/7
|
||||
|
||||
Sync with `/labels-sync` command.
|
||||
|
||||
## Lessons Learned System
|
||||
|
||||
Stored in Gitea Wiki under `lessons-learned/sprints/`.
|
||||
|
||||
**Workflow:**
|
||||
1. Orchestrator captures at sprint close via MCP tools
|
||||
2. Planner searches at sprint start using `search_lessons`
|
||||
3. Tags enable cross-project discovery
|
||||
|
||||
## Common Operations
|
||||
|
||||
### Adding a New Plugin
|
||||
|
||||
1. Create `plugins/{name}/.claude-plugin/plugin.json`
|
||||
2. Add entry to `.claude-plugin/marketplace.json` with category, tags, license
|
||||
3. Create `README.md` and `claude-md-integration.md`
|
||||
4. If using MCP server, create symlink: `ln -s ../../../mcp-servers/{server} plugins/{name}/mcp-servers/{server}`
|
||||
5. Run `./scripts/validate-marketplace.sh`
|
||||
6. Update `CHANGELOG.md`
|
||||
|
||||
### Adding a Command to projman
|
||||
|
||||
1. Create `plugins/projman/commands/{name}.md`
|
||||
2. Update `plugins/projman/README.md`
|
||||
3. Update marketplace description if significant
|
||||
|
||||
### Validation
|
||||
|
||||
```bash
|
||||
./scripts/validate-marketplace.sh # Validates all manifests
|
||||
```
|
||||
|
||||
## Path Verification Protocol
|
||||
|
||||
**Before creating any file:**
|
||||
|
||||
1. Read `docs/CANONICAL-PATHS.md`
|
||||
2. List all paths to be created/modified
|
||||
3. Verify each against canonical paths
|
||||
4. If not in canonical paths, STOP and ask
|
||||
|
||||
## Documentation Index
|
||||
|
||||
| Document | Purpose |
|
||||
|----------|---------|
|
||||
| `docs/CANONICAL-PATHS.md` | **Single source of truth** for paths |
|
||||
| `docs/COMMANDS-CHEATSHEET.md` | All commands quick reference with workflow examples |
|
||||
| `docs/CONFIGURATION.md` | Centralized setup guide |
|
||||
| `docs/UPDATING.md` | Update guide for the marketplace |
|
||||
| `plugins/projman/CONFIGURATION.md` | Quick reference (links to central) |
|
||||
| `plugins/projman/README.md` | Projman full documentation |
|
||||
|
||||
## Versioning and Changelog Rules
|
||||
|
||||
### Version Display
|
||||
**The marketplace version is displayed ONLY in the main `README.md` title.**
|
||||
|
||||
- Format: `# Leo Claude Marketplace - vX.Y.Z`
|
||||
- Do NOT add version numbers to individual plugin documentation titles
|
||||
- Do NOT add version numbers to configuration guides
|
||||
- Do NOT add version numbers to CLAUDE.md or other docs
|
||||
|
||||
### Changelog Maintenance (MANDATORY)
|
||||
**`CHANGELOG.md` is the authoritative source for version history.**
|
||||
|
||||
When releasing a new version:
|
||||
1. Update main `README.md` title with new version
|
||||
2. Update `CHANGELOG.md` with:
|
||||
- Version number and date: `## [X.Y.Z] - YYYY-MM-DD`
|
||||
- **Added**: New features, commands, files
|
||||
- **Changed**: Modifications to existing functionality
|
||||
- **Fixed**: Bug fixes
|
||||
- **Removed**: Deleted features, files, deprecated items
|
||||
3. Update `marketplace.json` metadata version
|
||||
4. Update plugin `plugin.json` versions if plugin-specific changes
|
||||
|
||||
### Version Format
|
||||
- Follow [Semantic Versioning](https://semver.org/): MAJOR.MINOR.PATCH
|
||||
- MAJOR: Breaking changes
|
||||
- MINOR: New features, backward compatible
|
||||
- PATCH: Bug fixes, minor improvements
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2026-01-20
|
||||
@@ -1,66 +0,0 @@
|
||||
# Doc Guardian Queue - cleared after sync on 2026-02-02
|
||||
2026-02-02T11:41:00 | .claude-plugin | /home/lmiranda/claude-plugins-work/.claude-plugin/marketplace.json | CLAUDE.md .claude-plugin/marketplace.json
|
||||
2026-02-02T13:35:48 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/sprint-approval.md | README.md
|
||||
2026-02-02T13:36:03 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/sprint-start.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:36:16 | agents | /home/lmiranda/claude-plugins-work/plugins/projman/agents/orchestrator.md | README.md CLAUDE.md
|
||||
2026-02-02T13:39:07 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/rfc.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:39:15 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/setup.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:39:32 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/rfc-workflow.md | README.md
|
||||
2026-02-02T13:43:14 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/rfc-templates.md | README.md
|
||||
2026-02-02T13:44:55 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/sprint-lifecycle.md | README.md
|
||||
2026-02-02T13:45:04 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/label-taxonomy/labels-reference.md | README.md
|
||||
2026-02-02T13:45:14 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/sprint-plan.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:45:48 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/review.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:46:07 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/sprint-close.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:46:21 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/sprint-status.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:46:38 | agents | /home/lmiranda/claude-plugins-work/plugins/projman/agents/planner.md | README.md CLAUDE.md
|
||||
2026-02-02T13:46:57 | agents | /home/lmiranda/claude-plugins-work/plugins/projman/agents/code-reviewer.md | README.md CLAUDE.md
|
||||
2026-02-02T13:49:13 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/design-gate.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:49:24 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-gate.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-02T13:49:35 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/domain-consultation.md | README.md
|
||||
2026-02-02T13:50:04 | mcp-servers | /home/lmiranda/claude-plugins-work/mcp-servers/contract-validator/mcp_server/validation_tools.py | docs/COMMANDS-CHEATSHEET.md CLAUDE.md
|
||||
2026-02-02T13:50:59 | mcp-servers | /home/lmiranda/claude-plugins-work/mcp-servers/contract-validator/mcp_server/server.py | docs/COMMANDS-CHEATSHEET.md CLAUDE.md
|
||||
2026-02-02T13:51:32 | mcp-servers | /home/lmiranda/claude-plugins-work/mcp-servers/contract-validator/tests/test_validation_tools.py | docs/COMMANDS-CHEATSHEET.md CLAUDE.md
|
||||
2026-02-02T13:51:49 | skills | /home/lmiranda/claude-plugins-work/plugins/contract-validator/skills/validation-rules.md | README.md
|
||||
2026-02-02T13:52:07 | skills | /home/lmiranda/claude-plugins-work/plugins/contract-validator/skills/mcp-tools-reference.md | README.md
|
||||
2026-02-02T13:59:09 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/progress-tracking.md | README.md
|
||||
2026-02-02T14:01:34 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/test.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:38 | commands | /home/lmiranda/claude-plugins-work/plugins/git-flow/commands/git-commit.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:39 | commands | /home/lmiranda/claude-plugins-work/plugins/git-flow/commands/git-commit-push.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:40 | commands | /home/lmiranda/claude-plugins-work/plugins/git-flow/commands/git-commit-merge.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:41 | commands | /home/lmiranda/claude-plugins-work/plugins/git-flow/commands/git-commit-sync.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:49 | commands | /home/lmiranda/claude-plugins-work/plugins/cmdb-assistant/commands/cmdb-setup.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:50 | commands | /home/lmiranda/claude-plugins-work/plugins/pr-review/commands/project-init.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:51 | skills | /home/lmiranda/claude-plugins-work/plugins/cmdb-assistant/skills/visual-header.md | README.md
|
||||
2026-02-03T21:08:51 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/pm-review.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:53 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/pm-test.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:08:54 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/review-checklist.md | README.md
|
||||
2026-02-03T21:08:55 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/visual-output.md | README.md
|
||||
2026-02-03T21:08:58 | skills | /home/lmiranda/claude-plugins-work/plugins/projman/skills/setup-workflows.md | README.md
|
||||
2026-02-03T21:08:59 | skills | /home/lmiranda/claude-plugins-work/plugins/git-flow/skills/sync-workflow.md | README.md
|
||||
2026-02-03T21:09:00 | skills | /home/lmiranda/claude-plugins-work/plugins/git-flow/skills/commit-conventions.md | README.md
|
||||
2026-02-03T21:09:00 | skills | /home/lmiranda/claude-plugins-work/plugins/git-flow/skills/merge-workflow.md | README.md
|
||||
2026-02-03T21:09:08 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/pm-setup.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:08 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-setup.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:10 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-run.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:10 | commands | /home/lmiranda/claude-plugins-work/plugins/contract-validator/commands/cv-setup.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:11 | commands | /home/lmiranda/claude-plugins-work/plugins/projman/commands/pm-debug.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:13 | agents | /home/lmiranda/claude-plugins-work/plugins/contract-validator/agents/full-validation.md | README.md CLAUDE.md
|
||||
2026-02-03T21:09:14 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-ingest.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:18 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-profile.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:18 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-setup.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:20 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-schema.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:20 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-theme.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:23 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-theme-new.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:24 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-explain.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:26 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-lineage.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:26 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-theme-css.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:29 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-chart.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:32 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-chart-export.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:33 | commands | /home/lmiranda/claude-plugins-work/plugins/data-platform/commands/data-review.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:35 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-dashboard.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:38 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-component.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:40 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/viz-breakpoints.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:09:46 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/design-review.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-03T21:10:22 | commands | /home/lmiranda/claude-plugins-work/plugins/viz-platform/commands/accessibility-check.md | docs/COMMANDS-CHEATSHEET.md README.md
|
||||
2026-02-04T21:32:01 | .claude-plugin | /home/lmiranda/claude-plugins-work/.claude-plugin/marketplace-lean.json | CLAUDE.md .claude-plugin/marketplace.json
|
||||
46
CHANGELOG.md
46
CHANGELOG.md
@@ -6,6 +6,52 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [9.1.2] - 2026-02-07
|
||||
|
||||
### Fixed
|
||||
|
||||
- **BREAKING FIX:** Removed `"domain"` field from all `marketplace.json` and `plugin.json` files — Claude Code's strict schema validator rejects unrecognized keys, causing `Failed to load marketplace` error
|
||||
- Domain metadata moved to `metadata.json` per plugin (same pattern as `mcp_servers`)
|
||||
- `validate-marketplace.sh` updated to read domain from `metadata.json` instead of `marketplace.json`/`plugin.json`
|
||||
- All documentation updated to reference `metadata.json` as domain source
|
||||
|
||||
## [9.1.1] - 2026-02-07
|
||||
|
||||
### Changed
|
||||
|
||||
- README.md fully rewritten — clean structure with plugins grouped by domain, accurate structure tree, all 10 scripts, all 7 docs
|
||||
- CLAUDE.md structure tree updated to match README (was showing only 12 plugins, 3 scripts, 2 docs)
|
||||
- doc-guardian `/doc sync` and `sync-workflow.md` updated to remove stale `.doc-guardian-queue` references (queue file deleted in v8.1.0)
|
||||
|
||||
### Removed
|
||||
|
||||
- `scripts/check-venv.sh` — dead code designed for SessionStart hooks that were never implemented; functionality covered by `setup-venvs.sh`
|
||||
|
||||
## [9.1.0] - 2026-02-07
|
||||
|
||||
### Added
|
||||
|
||||
- `docs/ARCHITECTURE.md` — Consolidated architecture document covering all 20 plugins, 5 MCP servers, hook inventory, agent model, launch profiles, and per-plugin command reference
|
||||
|
||||
### Changed
|
||||
|
||||
- All 12 original plugin versions bumped to 9.0.1 in both `plugin.json` and `marketplace.json` (were at various pre-9.x versions)
|
||||
- `project-hygiene` description updated from "Post-task cleanup hook" to "Manual project hygiene checks" in both manifests; removed "hooks" and "automation" keywords
|
||||
- `CANONICAL-PATHS.md` refreshed for v9.1.0: added Phase 3 plugins, added ARCHITECTURE.md and MIGRATION-v9.md, removed stale hooks/ dirs, updated Domain table
|
||||
- `UPDATING.md` updated with all 5 MCP servers
|
||||
- `COMMANDS-CHEATSHEET.md` expanded /rfc, /project, /adr to individual rows per sub-command
|
||||
- `README.md` documentation table and structure tree updated; command rows normalized; project-hygiene description corrected
|
||||
- `CLAUDE.md` documentation index updated with ARCHITECTURE.md and MIGRATION-v9.md; plugin version table updated; /rfc, /project, /adr commands expanded
|
||||
|
||||
### Removed
|
||||
|
||||
- `.doc-guardian-queue` — orphan file from deleted PostToolUse hook
|
||||
- `.claude/backups/CLAUDE.md.2026-01-22_132037` — v3.0.1 backup, superseded by git history
|
||||
- `scripts/switch-profile.sh` — deprecated in favor of `claude-launch.sh`
|
||||
- `docs/architecture/` — stale pre-v3.0.0 Draw.io specs (replaced by `docs/ARCHITECTURE.md`)
|
||||
- `docs/designs/` — Phase 3 design specs (implemented as plugin scaffolds, now redundant)
|
||||
- `docs/prompts/` — moved to Gitea Wiki
|
||||
|
||||
## [9.0.1] - 2026-02-06
|
||||
|
||||
### Fixed
|
||||
|
||||
145
CLAUDE.md
145
CLAUDE.md
@@ -154,25 +154,25 @@ When user says "fix the sprint plan command", edit the SOURCE code.
|
||||
## Project Overview
|
||||
|
||||
**Repository:** leo-claude-mktplace
|
||||
**Version:** 9.0.1
|
||||
**Version:** 9.1.2
|
||||
**Status:** Production Ready
|
||||
|
||||
A plugin marketplace for Claude Code containing:
|
||||
|
||||
| Plugin | Description | Version |
|
||||
|--------|-------------|---------|
|
||||
| `projman` | Sprint planning and project management with Gitea integration | 3.3.0 |
|
||||
| `git-flow` | Git workflow automation with smart commits and branch management | 1.0.0 |
|
||||
| `pr-review` | Multi-agent PR review with confidence scoring | 1.1.0 |
|
||||
| `clarity-assist` | Prompt optimization with ND-friendly accommodations | 1.0.0 |
|
||||
| `doc-guardian` | Automatic documentation drift detection and synchronization | 1.0.0 |
|
||||
| `code-sentinel` | Security scanning and code refactoring tools | 1.0.1 |
|
||||
| `claude-config-maintainer` | CLAUDE.md optimization and maintenance | 1.0.0 |
|
||||
| `cmdb-assistant` | NetBox CMDB integration for infrastructure management | 1.2.0 |
|
||||
| `data-platform` | pandas, PostgreSQL, and dbt integration for data engineering | 1.3.0 |
|
||||
| `viz-platform` | DMC validation, Plotly charts, and theming for dashboards | 1.1.0 |
|
||||
| `contract-validator` | Cross-plugin compatibility validation and agent verification | 1.1.0 |
|
||||
| `project-hygiene` | Project file organization and cleanup checks | 0.1.0 |
|
||||
| `projman` | Sprint planning and project management with Gitea integration | 9.0.1 |
|
||||
| `git-flow` | Git workflow automation with smart commits and branch management | 9.0.1 |
|
||||
| `pr-review` | Multi-agent PR review with confidence scoring | 9.0.1 |
|
||||
| `clarity-assist` | Prompt optimization with ND-friendly accommodations | 9.0.1 |
|
||||
| `doc-guardian` | Automatic documentation drift detection and synchronization | 9.0.1 |
|
||||
| `code-sentinel` | Security scanning and code refactoring tools | 9.0.1 |
|
||||
| `claude-config-maintainer` | CLAUDE.md optimization and maintenance | 9.0.1 |
|
||||
| `cmdb-assistant` | NetBox CMDB integration for infrastructure management | 9.0.1 |
|
||||
| `data-platform` | pandas, PostgreSQL, and dbt integration for data engineering | 9.0.1 |
|
||||
| `viz-platform` | DMC validation, Plotly charts, and theming for dashboards | 9.0.1 |
|
||||
| `contract-validator` | Cross-plugin compatibility validation and agent verification | 9.0.1 |
|
||||
| `project-hygiene` | Manual project hygiene checks | 9.0.1 |
|
||||
| `saas-api-platform` | REST/GraphQL API scaffolding for FastAPI and Express | 0.1.0 |
|
||||
| `saas-db-migrate` | Database migration management for Alembic, Prisma, raw SQL | 0.1.0 |
|
||||
| `saas-react-platform` | React frontend toolkit for Next.js and Vite | 0.1.0 |
|
||||
@@ -199,8 +199,9 @@ A plugin marketplace for Claude Code containing:
|
||||
| **Setup** | `/projman setup` (modes: `--full`, `--quick`, `--sync`) |
|
||||
| **Sprint** | `/sprint plan`, `/sprint start`, `/sprint status` (with `--diagram`), `/sprint close` |
|
||||
| **Quality** | `/sprint review`, `/sprint test` (modes: `run`, `gen`) |
|
||||
| **Project** | `/project initiation\|plan\|status\|close` |
|
||||
| **ADR** | `/adr create\|list\|update\|supersede` |
|
||||
| **Project** | `/project initiation`, `/project plan`, `/project status`, `/project close` |
|
||||
| **ADR** | `/adr create`, `/adr list`, `/adr update`, `/adr supersede` |
|
||||
| **RFC** | `/rfc create`, `/rfc list`, `/rfc review`, `/rfc approve`, `/rfc reject` |
|
||||
| **PR Review** | `/pr review`, `/pr summary`, `/pr findings`, `/pr diff` |
|
||||
| **Docs** | `/doc audit`, `/doc sync`, `/doc changelog-gen`, `/doc coverage`, `/doc stale-docs` |
|
||||
| **Security** | `/sentinel scan`, `/sentinel refactor`, `/sentinel refactor-dry` |
|
||||
@@ -230,55 +231,66 @@ These commands are being developed but don't apply to this project's workflow:
|
||||
|
||||
```
|
||||
leo-claude-mktplace/
|
||||
├── .claude-plugin/
|
||||
│ └── marketplace.json # Marketplace manifest
|
||||
├── .claude-plugin/ # Marketplace manifest
|
||||
│ ├── marketplace.json
|
||||
│ ├── marketplace-lean.json # Lean profile (6 core plugins)
|
||||
│ └── marketplace-full.json # Full profile (all plugins)
|
||||
├── .mcp.json # MCP server configuration (all servers)
|
||||
├── mcp-servers/ # SHARED MCP servers
|
||||
│ ├── gitea/ # Gitea MCP (issues, PRs, wiki)
|
||||
│ ├── netbox/ # NetBox MCP (CMDB)
|
||||
│ ├── gitea/ # Gitea (issues, PRs, wiki)
|
||||
│ ├── netbox/ # NetBox (DCIM, IPAM)
|
||||
│ ├── data-platform/ # pandas, PostgreSQL, dbt
|
||||
│ ├── viz-platform/ # DMC validation, charts, themes
|
||||
│ ├── viz-platform/ # DMC, Plotly, theming
|
||||
│ └── contract-validator/ # Plugin compatibility validation
|
||||
├── plugins/
|
||||
│ ├── projman/ # Sprint management
|
||||
├── plugins/ # All plugins (20 total)
|
||||
│ ├── projman/ # [core] Sprint management
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── commands/ # 19 commands
|
||||
│ │ ├── agents/ # 4 agents
|
||||
│ │ └── skills/ # 23 reusable skill files
|
||||
│ ├── git-flow/ # Git workflow automation
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── commands/ # 5 commands
|
||||
│ │ └── agents/
|
||||
│ ├── pr-review/ # Multi-agent PR review
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── commands/ # 8 commands
|
||||
│ │ └── agents/ # 5 agents
|
||||
│ ├── clarity-assist/ # Prompt optimization
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── commands/ # 2 commands
|
||||
│ │ └── agents/
|
||||
│ ├── data-platform/ # Data engineering
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── commands/ # 7 commands
|
||||
│ │ └── agents/ # 2 agents
|
||||
│ ├── viz-platform/ # Visualization
|
||||
│ │ ├── .claude-plugin/plugin.json
|
||||
│ │ ├── commands/ # 7 commands
|
||||
│ │ └── agents/ # 3 agents
|
||||
│ ├── doc-guardian/ # Documentation drift detection
|
||||
│ ├── code-sentinel/ # Security scanning & refactoring
|
||||
│ ├── claude-config-maintainer/
|
||||
│ ├── cmdb-assistant/
|
||||
│ ├── contract-validator/
|
||||
│ └── project-hygiene/
|
||||
├── scripts/
|
||||
│ ├── setup.sh, post-update.sh
|
||||
│ ├── git-flow/ # [core] Git workflow automation
|
||||
│ ├── pr-review/ # [core] PR review
|
||||
│ ├── clarity-assist/ # [core] Prompt optimization
|
||||
│ ├── doc-guardian/ # [core] Documentation drift detection
|
||||
│ ├── code-sentinel/ # [core] Security scanning
|
||||
│ ├── claude-config-maintainer/ # [core] CLAUDE.md optimization
|
||||
│ ├── contract-validator/ # [core] Cross-plugin validation
|
||||
│ ├── project-hygiene/ # [core] Manual cleanup checks
|
||||
│ ├── cmdb-assistant/ # [ops] NetBox CMDB integration
|
||||
│ ├── data-platform/ # [data] Data engineering
|
||||
│ ├── viz-platform/ # [data] Visualization
|
||||
│ ├── data-seed/ # [data] Test data generation (scaffold)
|
||||
│ ├── saas-api-platform/ # [saas] API scaffolding (scaffold)
|
||||
│ ├── saas-db-migrate/ # [saas] DB migrations (scaffold)
|
||||
│ ├── saas-react-platform/ # [saas] React toolkit (scaffold)
|
||||
│ ├── saas-test-pilot/ # [saas] Test automation (scaffold)
|
||||
│ ├── ops-release-manager/ # [ops] Release management (scaffold)
|
||||
│ ├── ops-deploy-pipeline/ # [ops] Deployment pipeline (scaffold)
|
||||
│ └── debug-mcp/ # [debug] MCP debugging (scaffold)
|
||||
├── scripts/ # Setup and maintenance
|
||||
│ ├── setup.sh # Initial setup (create venvs, config)
|
||||
│ ├── post-update.sh # Post-update (clear cache, changelog)
|
||||
│ ├── setup-venvs.sh # MCP server venv management (cache-based)
|
||||
│ ├── validate-marketplace.sh # Marketplace compliance validation
|
||||
│ ├── verify-hooks.sh # Verify all hooks are command type
|
||||
│ └── check-venv.sh # Check MCP server venvs exist
|
||||
└── docs/
|
||||
├── CANONICAL-PATHS.md # Single source of truth for paths
|
||||
└── CONFIGURATION.md # Centralized configuration guide
|
||||
│ ├── verify-hooks.sh # Hook inventory verification
|
||||
│ ├── release.sh # Release automation with version bumping
|
||||
│ ├── claude-launch.sh # Profile-based launcher
|
||||
│ ├── install-plugin.sh # Install plugin to consumer project
|
||||
│ ├── list-installed.sh # Show installed plugins in a project
|
||||
│ └── uninstall-plugin.sh # Remove plugin from consumer project
|
||||
├── docs/ # Documentation
|
||||
│ ├── ARCHITECTURE.md # System architecture & plugin reference
|
||||
│ ├── CANONICAL-PATHS.md # Authoritative path reference
|
||||
│ ├── COMMANDS-CHEATSHEET.md # All commands quick reference
|
||||
│ ├── CONFIGURATION.md # Centralized setup guide
|
||||
│ ├── DEBUGGING-CHECKLIST.md # Systematic troubleshooting guide
|
||||
│ ├── MIGRATION-v9.md # v8.x to v9.0.0 migration guide
|
||||
│ └── UPDATING.md # Update guide
|
||||
├── CLAUDE.md # Project instructions for Claude Code
|
||||
├── README.md
|
||||
├── CHANGELOG.md
|
||||
├── LICENSE
|
||||
└── .gitignore
|
||||
```
|
||||
|
||||
## Architecture
|
||||
@@ -412,19 +424,18 @@ Stored in Gitea Wiki under `lessons-learned/sprints/`.
|
||||
|
||||
### Adding a New Plugin
|
||||
|
||||
1. Create `plugins/{name}/.claude-plugin/plugin.json` — must include `"domain"` field (`core`, `data`, `saas`, `ops`, or `debug`)
|
||||
2. Add entry to `.claude-plugin/marketplace.json` with category, tags, license, and `"domain"` field (must match plugin.json)
|
||||
3. Create `claude-md-integration.md`
|
||||
4. If using new MCP server, add to root `mcp-servers/` and update `.mcp.json`
|
||||
5. Run `./scripts/validate-marketplace.sh` — rejects plugins without valid `domain` field
|
||||
6. Update `CHANGELOG.md`
|
||||
1. Create `plugins/{name}/.claude-plugin/plugin.json` (standard schema fields only — no custom fields)
|
||||
2. Create `plugins/{name}/.claude-plugin/metadata.json` — must include `"domain"` field (`core`, `data`, `saas`, `ops`, or `debug`)
|
||||
3. Add entry to `.claude-plugin/marketplace.json` with category, tags, license (no custom fields — Claude Code schema is strict)
|
||||
4. Create `claude-md-integration.md`
|
||||
5. If using new MCP server, add to root `mcp-servers/` and update `.mcp.json`
|
||||
6. Run `./scripts/validate-marketplace.sh` — rejects plugins without valid `domain` field
|
||||
7. Update `CHANGELOG.md`
|
||||
|
||||
**Domain field is required (v8.0.0+):**
|
||||
**Domain field is required in metadata.json (v8.0.0+, moved from plugin.json in v9.1.2):**
|
||||
```json
|
||||
{
|
||||
"name": "plugin-name",
|
||||
"domain": "core",
|
||||
...
|
||||
"domain": "core"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -464,10 +475,12 @@ Stored in Gitea Wiki under `lessons-learned/sprints/`.
|
||||
|
||||
| Document | Purpose |
|
||||
|----------|---------|
|
||||
| `docs/ARCHITECTURE.md` | System architecture and plugin reference |
|
||||
| `docs/CANONICAL-PATHS.md` | **Single source of truth** for paths |
|
||||
| `docs/COMMANDS-CHEATSHEET.md` | All commands quick reference |
|
||||
| `docs/CONFIGURATION.md` | Centralized setup guide |
|
||||
| `docs/DEBUGGING-CHECKLIST.md` | Systematic troubleshooting guide |
|
||||
| `docs/MIGRATION-v9.md` | v8.x to v9.0.0 migration guide |
|
||||
| `docs/UPDATING.md` | Update guide for the marketplace |
|
||||
| `plugins/projman/CONFIGURATION.md` | Projman quick reference (links to central) |
|
||||
|
||||
@@ -550,4 +563,4 @@ The script will:
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2026-02-06
|
||||
**Last Updated:** 2026-02-07
|
||||
|
||||
583
README.md
583
README.md
@@ -1,10 +1,57 @@
|
||||
# Leo Claude Marketplace - v9.0.1
|
||||
# Leo Claude Marketplace — v9.1.2
|
||||
|
||||
A collection of Claude Code plugins for project management, infrastructure automation, and development workflows.
|
||||
A plugin marketplace for Claude Code providing sprint management, code review, security scanning, infrastructure automation, and development workflow tools. 20 plugins across 5 domains, backed by 5 shared MCP servers.
|
||||
|
||||
## Plugins
|
||||
|
||||
### Core (9 plugins — v9.0.1)
|
||||
|
||||
| Plugin | Description |
|
||||
|--------|-------------|
|
||||
| `projman` | Sprint planning and project management with Gitea integration |
|
||||
| `git-flow` | Git workflow automation with intelligent commit messages and branch management |
|
||||
| `pr-review` | Multi-agent pull request review with confidence scoring |
|
||||
| `code-sentinel` | Security scanning and code refactoring tools |
|
||||
| `doc-guardian` | Documentation drift detection and synchronization |
|
||||
| `clarity-assist` | Prompt optimization with ND-friendly accommodations |
|
||||
| `contract-validator` | Cross-plugin compatibility validation and agent verification |
|
||||
| `claude-config-maintainer` | CLAUDE.md and settings.local.json optimization |
|
||||
| `project-hygiene` | Manual project file cleanup checks |
|
||||
|
||||
### Data (3 plugins)
|
||||
|
||||
| Plugin | Version | Description |
|
||||
|--------|---------|-------------|
|
||||
| `data-platform` | 9.0.1 | pandas, PostgreSQL/PostGIS, and dbt integration |
|
||||
| `viz-platform` | 9.0.1 | Dash Mantine Components validation, Plotly charts, and theming |
|
||||
| `data-seed` | 0.1.0 — scaffold | Test data generation and database seeding |
|
||||
|
||||
### Ops (3 plugins)
|
||||
|
||||
| Plugin | Version | Description |
|
||||
|--------|---------|-------------|
|
||||
| `cmdb-assistant` | 9.0.1 | NetBox CMDB integration with data quality validation |
|
||||
| `ops-release-manager` | 0.1.0 — scaffold | Release management with SemVer and changelog automation |
|
||||
| `ops-deploy-pipeline` | 0.1.0 — scaffold | Deployment pipeline for Docker Compose and systemd |
|
||||
|
||||
### SaaS (4 plugins — v0.1.0 scaffolds)
|
||||
|
||||
| Plugin | Description |
|
||||
|--------|-------------|
|
||||
| `saas-api-platform` | REST/GraphQL API scaffolding for FastAPI and Express |
|
||||
| `saas-db-migrate` | Database migration management for Alembic, Prisma, raw SQL |
|
||||
| `saas-react-platform` | React frontend toolkit for Next.js and Vite |
|
||||
| `saas-test-pilot` | Test automation for pytest, Jest, Vitest, Playwright |
|
||||
|
||||
### Debug (1 plugin — v0.1.0 scaffold)
|
||||
|
||||
| Plugin | Description |
|
||||
|--------|-------------|
|
||||
| `debug-mcp` | MCP server debugging, inspection, and development toolkit |
|
||||
|
||||
## Quick Start
|
||||
|
||||
Use the launcher script to load only the plugins you need, reducing token overhead from ~22K to ~4-6K tokens:
|
||||
### Launch with profiles
|
||||
|
||||
```bash
|
||||
./scripts/claude-launch.sh [profile] [extra-args...]
|
||||
@@ -16,335 +63,98 @@ Use the launcher script to load only the plugins you need, reducing token overhe
|
||||
| `review` | pr-review, code-sentinel | Lightweight code review |
|
||||
| `data` | data-platform, viz-platform | Data engineering and visualization |
|
||||
| `infra` | cmdb-assistant | Infrastructure/CMDB management |
|
||||
| `full` | All 20 plugins via marketplace.json | When you need everything |
|
||||
| `full` | All 20 plugins | When you need everything |
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
./scripts/claude-launch.sh # Default sprint profile
|
||||
./scripts/claude-launch.sh data --model opus # Data profile with Opus
|
||||
./scripts/claude-launch.sh full # Load all plugins
|
||||
```
|
||||
|
||||
The script enables `ENABLE_TOOL_SEARCH=true` for MCP lazy loading.
|
||||
|
||||
## Plugins
|
||||
|
||||
### Development & Project Management
|
||||
|
||||
#### [projman](./plugins/projman)
|
||||
**Sprint Planning and Project Management**
|
||||
|
||||
AI-guided sprint planning with full Gitea integration. Transforms a proven 15-sprint workflow into a distributable plugin.
|
||||
|
||||
- Four-agent model: Planner, Orchestrator, Executor, Code Reviewer
|
||||
- Plan-then-batch execution: skills loaded once per phase, API calls batched for ~80% token savings
|
||||
- Intelligent label suggestions from 43-label taxonomy
|
||||
- Lessons learned capture via Gitea Wiki
|
||||
- Native issue dependencies with parallel execution
|
||||
- Milestone management for sprint organization
|
||||
- Branch-aware security (development/staging/production)
|
||||
- Pre-sprint-close code quality review and test verification
|
||||
|
||||
**Commands:** `/sprint plan`, `/sprint start`, `/sprint status`, `/sprint close`, `/labels sync`, `/projman setup`, `/sprint review`, `/sprint test`, `/projman debug`, `/projman suggest-version`, `/projman proposal-status`, `/rfc`
|
||||
|
||||
#### [git-flow](./plugins/git-flow)
|
||||
**Git Workflow Automation**
|
||||
|
||||
Smart git operations with intelligent commit messages and branch management.
|
||||
|
||||
- Auto-generated conventional commit messages
|
||||
- Multiple workflow styles (simple, feature-branch, pr-required, trunk-based)
|
||||
- Branch naming enforcement
|
||||
- Merge and cleanup automation
|
||||
- Protected branch awareness
|
||||
|
||||
**Commands:** `/gitflow commit` (with `--push`, `--merge`, `--sync` flags), `/gitflow branch-start`, `/gitflow branch-cleanup`, `/gitflow status`, `/gitflow config`
|
||||
|
||||
#### [pr-review](./plugins/pr-review)
|
||||
**Multi-Agent PR Review**
|
||||
|
||||
Comprehensive pull request review using specialized agents.
|
||||
|
||||
- Multi-agent review: Security, Performance, Maintainability, Tests
|
||||
- Confidence scoring (only reports HIGH/MEDIUM confidence findings)
|
||||
- Actionable feedback with suggested fixes
|
||||
- Gitea integration for automated review submission
|
||||
|
||||
**Commands:** `/pr review`, `/pr summary`, `/pr findings`, `/pr diff`, `/pr setup`, `/pr init`, `/pr sync`
|
||||
|
||||
#### [claude-config-maintainer](./plugins/claude-config-maintainer)
|
||||
**CLAUDE.md and Settings Optimization**
|
||||
|
||||
Analyze, optimize, and create CLAUDE.md configuration files. Audit and optimize settings.local.json permissions.
|
||||
|
||||
**Commands:** `/claude-config analyze`, `/claude-config optimize`, `/claude-config init`, `/claude-config diff`, `/claude-config lint`, `/claude-config audit-settings`, `/claude-config optimize-settings`, `/claude-config permissions-map`
|
||||
|
||||
#### [contract-validator](./plugins/contract-validator)
|
||||
**Cross-Plugin Compatibility Validation**
|
||||
|
||||
Validate plugin marketplaces for command conflicts, tool overlaps, and broken agent references.
|
||||
|
||||
- Interface parsing from plugin README.md files
|
||||
- Agent extraction from CLAUDE.md definitions
|
||||
- Pairwise compatibility checks between all plugins
|
||||
- Data flow validation for agent sequences
|
||||
- Markdown or JSON reports with actionable suggestions
|
||||
|
||||
**Commands:** `/cv validate`, `/cv check-agent`, `/cv list-interfaces`, `/cv dependency-graph`, `/cv setup`
|
||||
|
||||
### Productivity
|
||||
|
||||
#### [clarity-assist](./plugins/clarity-assist)
|
||||
**Prompt Optimization with ND Accommodations**
|
||||
|
||||
Transform vague requests into clear specifications using structured methodology.
|
||||
|
||||
- 4-D methodology: Deconstruct, Diagnose, Develop, Deliver
|
||||
- ND-friendly question patterns (option-based, chunked)
|
||||
- Conflict detection and escalation protocols
|
||||
|
||||
**Commands:** `/clarity clarify`, `/clarity quick-clarify`
|
||||
|
||||
#### [doc-guardian](./plugins/doc-guardian)
|
||||
**Documentation Lifecycle Management**
|
||||
|
||||
Automatic documentation drift detection and synchronization.
|
||||
|
||||
**Commands:** `/doc audit`, `/doc sync`, `/doc changelog-gen`, `/doc coverage`, `/doc stale-docs`
|
||||
|
||||
#### [project-hygiene](./plugins/project-hygiene)
|
||||
**Post-Task Cleanup Automation**
|
||||
|
||||
Hook-based cleanup that runs after Claude completes work.
|
||||
|
||||
### Security
|
||||
|
||||
#### [code-sentinel](./plugins/code-sentinel)
|
||||
**Security Scanning & Refactoring**
|
||||
|
||||
Security vulnerability detection and code refactoring tools.
|
||||
|
||||
**Commands:** `/sentinel scan`, `/sentinel refactor`, `/sentinel refactor-dry`
|
||||
|
||||
### Infrastructure
|
||||
|
||||
#### [cmdb-assistant](./plugins/cmdb-assistant)
|
||||
**NetBox CMDB Integration**
|
||||
|
||||
Full CRUD operations for network infrastructure management directly from Claude Code.
|
||||
|
||||
**Commands:** `/cmdb setup`, `/cmdb search`, `/cmdb device`, `/cmdb ip`, `/cmdb site`, `/cmdb audit`, `/cmdb register`, `/cmdb sync`, `/cmdb topology`, `/cmdb change-audit`, `/cmdb ip-conflicts`
|
||||
|
||||
### Data Engineering
|
||||
|
||||
#### [data-platform](./plugins/data-platform)
|
||||
**pandas, PostgreSQL/PostGIS, and dbt Integration**
|
||||
|
||||
Comprehensive data engineering toolkit with persistent DataFrame storage.
|
||||
|
||||
- 14 pandas tools with Arrow IPC data_ref system
|
||||
- 10 PostgreSQL/PostGIS tools with connection pooling
|
||||
- 8 dbt tools with automatic pre-validation
|
||||
- 100k row limit with chunking support
|
||||
- Auto-detection of dbt projects
|
||||
|
||||
**Commands:** `/data ingest`, `/data profile`, `/data schema`, `/data explain`, `/data lineage`, `/data lineage-viz`, `/data run`, `/data dbt-test`, `/data quality`, `/data review`, `/data gate`, `/data setup`
|
||||
|
||||
### Visualization
|
||||
|
||||
#### [viz-platform](./plugins/viz-platform)
|
||||
**Dash Mantine Components Validation and Theming**
|
||||
|
||||
Visualization toolkit with version-locked component validation and design token theming.
|
||||
|
||||
- 3 DMC tools with static JSON registry (prevents prop hallucination)
|
||||
- 2 Chart tools with Plotly and theme integration
|
||||
- 5 Layout tools for dashboard composition
|
||||
- 6 Theme tools with design token system
|
||||
- 5 Page tools for multi-page app structure
|
||||
- Dual theme storage: user-level and project-level
|
||||
|
||||
**Commands:** `/viz chart`, `/viz chart-export`, `/viz dashboard`, `/viz theme`, `/viz theme-new`, `/viz theme-css`, `/viz component`, `/viz accessibility-check`, `/viz breakpoints`, `/viz design-review`, `/viz design-gate`, `/viz setup`
|
||||
|
||||
#### [data-seed](./plugins/data-seed)
|
||||
**Test Data Generation and Database Seeding**
|
||||
|
||||
Relationship-aware test data generation with reusable seed profiles.
|
||||
|
||||
- Schema inference from existing databases
|
||||
- Faker-based data generation with locale support
|
||||
- Foreign key relationship resolution
|
||||
- Reusable seed profiles for consistent test environments
|
||||
|
||||
**Commands:** `/seed setup`, `/seed generate`, `/seed profile`, `/seed validate`, `/seed apply`
|
||||
|
||||
### SaaS Development
|
||||
|
||||
#### [saas-api-platform](./plugins/saas-api-platform)
|
||||
**REST and GraphQL API Scaffolding**
|
||||
|
||||
API development toolkit for FastAPI and Express projects with OpenAPI integration.
|
||||
|
||||
- Framework-aware scaffolding (FastAPI, Express)
|
||||
- OpenAPI spec generation and validation
|
||||
- Middleware catalog with authentication, CORS, rate limiting
|
||||
- Route pattern enforcement and test generation
|
||||
|
||||
**Commands:** `/api setup`, `/api scaffold`, `/api validate`, `/api docs`, `/api middleware`, `/api test-routes`
|
||||
|
||||
#### [saas-db-migrate](./plugins/saas-db-migrate)
|
||||
**Database Migration Management**
|
||||
|
||||
Migration toolkit for Alembic, Prisma, and raw SQL with safety validation.
|
||||
|
||||
- ORM/tool auto-detection
|
||||
- Migration safety analysis (data loss, locks, rollback)
|
||||
- Execution planning with rollback strategies
|
||||
- Migration history tracking
|
||||
|
||||
**Commands:** `/db-migrate setup`, `/db-migrate generate`, `/db-migrate validate`, `/db-migrate plan`, `/db-migrate history`, `/db-migrate rollback`
|
||||
|
||||
#### [saas-react-platform](./plugins/saas-react-platform)
|
||||
**React Frontend Development Toolkit**
|
||||
|
||||
Component scaffolding, routing, and state management for Next.js and Vite projects.
|
||||
|
||||
- Framework detection (Next.js App Router/Pages, Vite, CRA, Remix)
|
||||
- TypeScript-first component generation with co-located tests
|
||||
- State management pattern selection (Context, Zustand, Redux Toolkit)
|
||||
- Anti-pattern detection and component tree analysis
|
||||
|
||||
**Commands:** `/react setup`, `/react component`, `/react route`, `/react state`, `/react hook`, `/react lint`
|
||||
|
||||
#### [saas-test-pilot](./plugins/saas-test-pilot)
|
||||
**Test Automation Toolkit**
|
||||
|
||||
Test generation and coverage analysis for pytest, Jest, Vitest, and Playwright.
|
||||
|
||||
- Framework auto-detection and configuration
|
||||
- Test case generation from code analysis
|
||||
- Coverage gap detection with risk prioritization
|
||||
- E2E test scenario generation from user stories
|
||||
|
||||
**Commands:** `/test setup`, `/test generate`, `/test coverage`, `/test fixtures`, `/test e2e`, `/test run`
|
||||
|
||||
### Operations
|
||||
|
||||
#### [ops-release-manager](./plugins/ops-release-manager)
|
||||
**Release Management Automation**
|
||||
|
||||
Semantic versioning, changelog generation, and tag management.
|
||||
|
||||
- Version location auto-detection across manifests
|
||||
- Conventional commit-based bump suggestions
|
||||
- Keep a Changelog format automation
|
||||
- Release branch/tag creation and rollback
|
||||
|
||||
**Commands:** `/release setup`, `/release prepare`, `/release validate`, `/release tag`, `/release rollback`, `/release status`
|
||||
|
||||
#### [ops-deploy-pipeline](./plugins/ops-deploy-pipeline)
|
||||
**Deployment Pipeline Management**
|
||||
|
||||
CI/CD for Docker Compose and systemd-based services on self-hosted infrastructure.
|
||||
|
||||
- Docker Compose configuration generation
|
||||
- Caddy reverse proxy patterns
|
||||
- Environment-specific config management
|
||||
- Pre-deployment health checks and rollback planning
|
||||
|
||||
**Commands:** `/deploy setup`, `/deploy generate`, `/deploy validate`, `/deploy env`, `/deploy check`, `/deploy rollback`
|
||||
|
||||
### Debugging
|
||||
|
||||
#### [debug-mcp](./plugins/debug-mcp)
|
||||
**MCP Server Debugging Toolkit**
|
||||
|
||||
Diagnostic tools for MCP server health, testing, and development.
|
||||
|
||||
- MCP server health status dashboard
|
||||
- Individual tool call testing
|
||||
- Server log analysis with error pattern recognition
|
||||
- MCP server scaffold generation
|
||||
|
||||
**Commands:** `/debug-mcp status`, `/debug-mcp test`, `/debug-mcp logs`, `/debug-mcp inspect`, `/debug-mcp scaffold`
|
||||
|
||||
## Domain Advisory Pattern
|
||||
|
||||
The marketplace supports cross-plugin domain advisory integration:
|
||||
|
||||
- **Domain Detection**: projman automatically detects when issues involve specialized domains (frontend/viz, data engineering)
|
||||
- **Acceptance Criteria**: Domain-specific acceptance criteria are added to issues during planning
|
||||
- **Execution Gates**: Domain validation gates (`/viz design-gate`, `/data gate`) run before issue completion
|
||||
- **Extensible**: New domains can be added by creating advisory agents and gate commands
|
||||
|
||||
**Current Domains:**
|
||||
| Domain | Plugin | Gate Command |
|
||||
|--------|--------|--------------|
|
||||
| Visualization | viz-platform | `/viz design-gate` |
|
||||
| Data | data-platform | `/data gate` |
|
||||
### Common commands
|
||||
|
||||
```bash
|
||||
/sprint plan # Plan a sprint with architecture analysis
|
||||
/sprint start # Begin sprint execution
|
||||
/gitflow commit --push # Commit with auto-generated message and push
|
||||
/pr review # Full multi-agent PR review
|
||||
/sentinel scan # Security audit
|
||||
/doc audit # Check for documentation drift
|
||||
/cv status # Marketplace health check
|
||||
```
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
leo-claude-mktplace/
|
||||
├── .claude-plugin/ # Marketplace manifest
|
||||
│ ├── marketplace.json
|
||||
│ ├── marketplace-lean.json # Lean profile (6 core plugins)
|
||||
│ └── marketplace-full.json # Full profile (all plugins)
|
||||
├── mcp-servers/ # Shared MCP servers
|
||||
│ ├── gitea/ # Gitea (issues, PRs, wiki)
|
||||
│ ├── netbox/ # NetBox (DCIM, IPAM)
|
||||
│ ├── data-platform/ # pandas, PostgreSQL, dbt
|
||||
│ ├── viz-platform/ # DMC, Plotly, theming
|
||||
│ └── contract-validator/ # Plugin compatibility validation
|
||||
├── plugins/ # All plugins (20 total)
|
||||
│ ├── projman/ # [core] Sprint management
|
||||
│ ├── git-flow/ # [core] Git workflow automation
|
||||
│ ├── pr-review/ # [core] PR review
|
||||
│ ├── clarity-assist/ # [core] Prompt optimization
|
||||
│ ├── doc-guardian/ # [core] Documentation drift detection
|
||||
│ ├── code-sentinel/ # [core] Security scanning
|
||||
│ ├── claude-config-maintainer/ # [core] CLAUDE.md optimization
|
||||
│ ├── contract-validator/ # [core] Cross-plugin validation
|
||||
│ ├── project-hygiene/ # [core] Manual cleanup checks
|
||||
│ ├── cmdb-assistant/ # [ops] NetBox CMDB integration
|
||||
│ ├── data-platform/ # [data] Data engineering
|
||||
│ ├── viz-platform/ # [data] Visualization
|
||||
│ ├── data-seed/ # [data] Test data generation (scaffold)
|
||||
│ ├── saas-api-platform/ # [saas] API scaffolding (scaffold)
|
||||
│ ├── saas-db-migrate/ # [saas] DB migrations (scaffold)
|
||||
│ ├── saas-react-platform/ # [saas] React toolkit (scaffold)
|
||||
│ ├── saas-test-pilot/ # [saas] Test automation (scaffold)
|
||||
│ ├── ops-release-manager/ # [ops] Release management (scaffold)
|
||||
│ ├── ops-deploy-pipeline/ # [ops] Deployment pipeline (scaffold)
|
||||
│ └── debug-mcp/ # [debug] MCP debugging (scaffold)
|
||||
├── scripts/ # Setup and maintenance
|
||||
│ ├── setup.sh # Initial setup (create venvs, config)
|
||||
│ ├── post-update.sh # Post-update (clear cache, changelog)
|
||||
│ ├── setup-venvs.sh # MCP server venv management (cache-based)
|
||||
│ ├── validate-marketplace.sh # Marketplace compliance validation
|
||||
│ ├── verify-hooks.sh # Hook inventory verification
|
||||
│ ├── release.sh # Release automation with version bumping
|
||||
│ ├── claude-launch.sh # Profile-based launcher
|
||||
│ ├── install-plugin.sh # Install plugin to consumer project
|
||||
│ ├── list-installed.sh # Show installed plugins in a project
|
||||
│ └── uninstall-plugin.sh # Remove plugin from consumer project
|
||||
├── docs/ # Documentation
|
||||
│ ├── ARCHITECTURE.md # System architecture & plugin reference
|
||||
│ ├── CANONICAL-PATHS.md # Authoritative path reference
|
||||
│ ├── COMMANDS-CHEATSHEET.md # All commands quick reference
|
||||
│ ├── CONFIGURATION.md # Centralized setup guide
|
||||
│ ├── DEBUGGING-CHECKLIST.md # Systematic troubleshooting guide
|
||||
│ ├── MIGRATION-v9.md # v8.x to v9.0.0 migration guide
|
||||
│ └── UPDATING.md # Update guide
|
||||
├── CLAUDE.md # Project instructions for Claude Code
|
||||
├── README.md
|
||||
├── CHANGELOG.md
|
||||
├── LICENSE
|
||||
└── .gitignore
|
||||
```
|
||||
|
||||
## MCP Servers
|
||||
|
||||
MCP servers are **shared at repository root** and configured in `.mcp.json`.
|
||||
All MCP servers are shared at repository root and configured in `.mcp.json`.
|
||||
|
||||
### Gitea MCP Server (shared)
|
||||
|
||||
Full Gitea API integration for project management.
|
||||
|
||||
| Category | Tools |
|
||||
|----------|-------|
|
||||
| Issues | `list_issues`, `get_issue`, `create_issue`, `update_issue`, `add_comment`, `aggregate_issues` |
|
||||
| Labels | `get_labels`, `suggest_labels`, `create_label`, `create_label_smart` |
|
||||
| Wiki | `list_wiki_pages`, `get_wiki_page`, `create_wiki_page`, `update_wiki_page`, `create_lesson`, `search_lessons` |
|
||||
| Milestones | `list_milestones`, `get_milestone`, `create_milestone`, `update_milestone`, `delete_milestone` |
|
||||
| Dependencies | `list_issue_dependencies`, `create_issue_dependency`, `remove_issue_dependency`, `get_execution_order` |
|
||||
| **Pull Requests** | `list_pull_requests`, `get_pull_request`, `get_pr_diff`, `get_pr_comments`, `create_pr_review`, `add_pr_comment` |
|
||||
| Validation | `validate_repo_org`, `get_branch_protection` |
|
||||
|
||||
### NetBox MCP Server (shared)
|
||||
|
||||
Comprehensive NetBox REST API integration for infrastructure management.
|
||||
|
||||
| Module | Coverage |
|
||||
|--------|----------|
|
||||
| DCIM | Sites, Racks, Devices, Interfaces, Cables |
|
||||
| IPAM | Prefixes, IPs, VLANs, VRFs |
|
||||
| Circuits | Providers, Circuits, Terminations |
|
||||
| Virtualization | Clusters, VMs, Interfaces |
|
||||
| Extras | Tags, Custom Fields, Audit Log |
|
||||
|
||||
### Data Platform MCP Server (shared)
|
||||
|
||||
pandas, PostgreSQL/PostGIS, and dbt integration for data engineering.
|
||||
|
||||
| Category | Tools |
|
||||
|----------|-------|
|
||||
| pandas | `read_csv`, `read_parquet`, `read_json`, `to_csv`, `to_parquet`, `describe`, `head`, `tail`, `filter`, `select`, `groupby`, `join`, `list_data`, `drop_data` |
|
||||
| PostgreSQL | `pg_connect`, `pg_query`, `pg_execute`, `pg_tables`, `pg_columns`, `pg_schemas` |
|
||||
| PostGIS | `st_tables`, `st_geometry_type`, `st_srid`, `st_extent` |
|
||||
| dbt | `dbt_parse`, `dbt_run`, `dbt_test`, `dbt_build`, `dbt_compile`, `dbt_ls`, `dbt_docs_generate`, `dbt_lineage` |
|
||||
|
||||
### Viz Platform MCP Server (shared)
|
||||
|
||||
Dash Mantine Components validation and visualization tools.
|
||||
|
||||
| Category | Tools |
|
||||
|----------|-------|
|
||||
| DMC | `list_components`, `get_component_props`, `validate_component` |
|
||||
| Chart | `chart_create`, `chart_configure_interaction` |
|
||||
| Layout | `layout_create`, `layout_add_filter`, `layout_set_grid`, `layout_get`, `layout_add_section` |
|
||||
| Theme | `theme_create`, `theme_extend`, `theme_validate`, `theme_export_css`, `theme_list`, `theme_activate` |
|
||||
| Page | `page_create`, `page_add_navbar`, `page_set_auth`, `page_list`, `page_get_app_config` |
|
||||
|
||||
### Contract Validator MCP Server (shared)
|
||||
|
||||
Cross-plugin compatibility validation tools.
|
||||
|
||||
| Category | Tools |
|
||||
|----------|-------|
|
||||
| Parse | `parse_plugin_interface`, `parse_claude_md_agents` |
|
||||
| Validation | `validate_compatibility`, `validate_agent_refs`, `validate_data_flow`, `validate_workflow_integration` |
|
||||
| Report | `generate_compatibility_report`, `list_issues` |
|
||||
| Server | Used By | External System |
|
||||
|--------|---------|-----------------|
|
||||
| gitea | projman, pr-review | Gitea (issues, PRs, wiki, milestones) |
|
||||
| netbox | cmdb-assistant | NetBox (DCIM, IPAM) |
|
||||
| data-platform | data-platform | PostgreSQL, dbt |
|
||||
| viz-platform | viz-platform | DMC component registry |
|
||||
| contract-validator | contract-validator | Internal validation |
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -354,16 +164,14 @@ Cross-plugin compatibility validation tools.
|
||||
- Python 3.10+
|
||||
- Access to target services (Gitea, NetBox as needed)
|
||||
|
||||
### Add Marketplace to Claude Code
|
||||
### Add marketplace to Claude Code
|
||||
|
||||
**Option 1 - CLI command (recommended):**
|
||||
```bash
|
||||
/plugin marketplace add https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git
|
||||
```
|
||||
|
||||
**Option 2 - Settings file (for team distribution):**
|
||||
Or add to `.claude/settings.json`:
|
||||
|
||||
Add to `.claude/settings.json` in your target project:
|
||||
```json
|
||||
{
|
||||
"extraKnownMarketplaces": {
|
||||
@@ -377,124 +185,55 @@ Add to `.claude/settings.json` in your target project:
|
||||
}
|
||||
```
|
||||
|
||||
### Run Interactive Setup
|
||||
### Setup MCP servers
|
||||
|
||||
After installing plugins, run the setup wizard:
|
||||
After installing, create Python venvs for MCP servers:
|
||||
|
||||
```bash
|
||||
cd ~/.claude/plugins/marketplaces/leo-claude-mktplace && ./scripts/setup.sh
|
||||
```
|
||||
|
||||
Then restart Claude Code and run the interactive setup:
|
||||
|
||||
```
|
||||
/projman setup
|
||||
```
|
||||
|
||||
The wizard handles everything:
|
||||
- Sets up MCP server (Python venv + dependencies)
|
||||
- Creates system config (`~/.config/claude/gitea.env`)
|
||||
- Guides you through adding your API token
|
||||
- Detects and validates your repository via API
|
||||
- Creates project config (`.env`)
|
||||
See [CONFIGURATION.md](./docs/CONFIGURATION.md) for manual setup and advanced options.
|
||||
|
||||
**For new projects** (when system is already configured):
|
||||
```
|
||||
/pr init
|
||||
```
|
||||
### Install to consumer projects
|
||||
|
||||
**After moving a repository:**
|
||||
```
|
||||
/pr sync
|
||||
```
|
||||
|
||||
See [docs/CONFIGURATION.md](./docs/CONFIGURATION.md) for manual setup and advanced options.
|
||||
|
||||
## Verifying Plugin Installation
|
||||
|
||||
After installing plugins, the `/plugin` command may show `(no content)` - this is normal Claude Code behavior and doesn't indicate an error.
|
||||
|
||||
**To verify a plugin is installed correctly:**
|
||||
|
||||
1. **Check installed plugins list:**
|
||||
```
|
||||
/plugin list
|
||||
```
|
||||
Look for `✔ plugin-name · Installed`
|
||||
|
||||
2. **Test a plugin command directly:**
|
||||
```
|
||||
/git-flow:git-status
|
||||
/projman:sprint-status
|
||||
/clarity-assist:clarify
|
||||
```
|
||||
If the command executes and shows output, the plugin is working.
|
||||
|
||||
3. **Check for loading errors:**
|
||||
```
|
||||
/plugin list
|
||||
```
|
||||
Look for any `Plugin Loading Errors` section - this indicates manifest issues.
|
||||
|
||||
**Command format:** All plugin commands use the format `/plugin-name:command-name`
|
||||
|
||||
| Plugin | Test Command |
|
||||
|--------|--------------|
|
||||
| git-flow | `/git-flow:gitflow-status` |
|
||||
| projman | `/projman:sprint-status` |
|
||||
| pr-review | `/pr-review:pr-summary` |
|
||||
| clarity-assist | `/clarity-assist:clarity-clarify` |
|
||||
| doc-guardian | `/doc-guardian:doc-audit` |
|
||||
| code-sentinel | `/code-sentinel:sentinel-scan` |
|
||||
| claude-config-maintainer | `/claude-config-maintainer:claude-config-analyze` |
|
||||
| cmdb-assistant | `/cmdb-assistant:cmdb-search` |
|
||||
| data-platform | `/data-platform:data-ingest` |
|
||||
| viz-platform | `/viz-platform:viz-chart` |
|
||||
| contract-validator | `/contract-validator:cv-validate` |
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
leo-claude-mktplace/
|
||||
├── .claude-plugin/ # Marketplace manifest
|
||||
│ └── marketplace.json
|
||||
├── mcp-servers/ # SHARED MCP servers (v3.0.0+)
|
||||
│ ├── gitea/ # Gitea MCP (issues, PRs, wiki)
|
||||
│ ├── netbox/ # NetBox MCP (CMDB)
|
||||
│ ├── data-platform/ # Data engineering (pandas, PostgreSQL, dbt)
|
||||
│ ├── viz-platform/ # Visualization (DMC, Plotly, theming)
|
||||
│ └── contract-validator/ # Cross-plugin validation (v5.0.0)
|
||||
├── plugins/ # All plugins
|
||||
│ ├── projman/ # Sprint management
|
||||
│ ├── git-flow/ # Git workflow automation
|
||||
│ ├── pr-review/ # PR review
|
||||
│ ├── clarity-assist/ # Prompt optimization
|
||||
│ ├── data-platform/ # Data engineering
|
||||
│ ├── viz-platform/ # Visualization
|
||||
│ ├── contract-validator/ # Cross-plugin validation (NEW)
|
||||
│ ├── claude-config-maintainer/ # CLAUDE.md optimization
|
||||
│ ├── cmdb-assistant/ # NetBox CMDB integration
|
||||
│ ├── doc-guardian/ # Documentation drift detection
|
||||
│ ├── code-sentinel/ # Security scanning
|
||||
│ └── project-hygiene/ # Cleanup automation
|
||||
├── docs/ # Documentation
|
||||
│ ├── CANONICAL-PATHS.md # Path reference
|
||||
│ └── CONFIGURATION.md # Setup guide
|
||||
├── scripts/ # Setup scripts
|
||||
└── CHANGELOG.md # Version history
|
||||
```bash
|
||||
./scripts/install-plugin.sh <plugin-name> /path/to/project
|
||||
./scripts/list-installed.sh /path/to/project
|
||||
./scripts/uninstall-plugin.sh <plugin-name> /path/to/project
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
| Document | Description |
|
||||
|----------|-------------|
|
||||
| [CLAUDE.md](./CLAUDE.md) | Main project instructions |
|
||||
| [CONFIGURATION.md](./docs/CONFIGURATION.md) | Centralized setup guide |
|
||||
| [CLAUDE.md](./CLAUDE.md) | Project instructions for Claude Code |
|
||||
| [ARCHITECTURE.md](./docs/ARCHITECTURE.md) | System architecture and plugin reference |
|
||||
| [COMMANDS-CHEATSHEET.md](./docs/COMMANDS-CHEATSHEET.md) | All commands quick reference |
|
||||
| [UPDATING.md](./docs/UPDATING.md) | Update guide for the marketplace |
|
||||
| [CANONICAL-PATHS.md](./docs/CANONICAL-PATHS.md) | Authoritative path reference |
|
||||
| [CONFIGURATION.md](./docs/CONFIGURATION.md) | Centralized setup guide |
|
||||
| [DEBUGGING-CHECKLIST.md](./docs/DEBUGGING-CHECKLIST.md) | Systematic troubleshooting guide |
|
||||
| [UPDATING.md](./docs/UPDATING.md) | Update guide for the marketplace |
|
||||
| [MIGRATION-v9.md](./docs/MIGRATION-v9.md) | v8.x to v9.0.0 migration guide |
|
||||
| [CANONICAL-PATHS.md](./docs/CANONICAL-PATHS.md) | Authoritative path reference |
|
||||
| [CHANGELOG.md](./CHANGELOG.md) | Version history |
|
||||
|
||||
## Validation
|
||||
|
||||
```bash
|
||||
./scripts/validate-marketplace.sh # Marketplace compliance (manifests, domains, paths)
|
||||
./scripts/verify-hooks.sh # Hook inventory (4 PreToolUse + 1 UserPromptSubmit)
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
|
||||
## Support
|
||||
|
||||
- **Issues**: Contact repository maintainer
|
||||
- **Repository**: `https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git`
|
||||
- **Repository**: https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git
|
||||
|
||||
184
docs/ARCHITECTURE.md
Normal file
184
docs/ARCHITECTURE.md
Normal file
@@ -0,0 +1,184 @@
|
||||
# Architecture — Leo Claude Marketplace v9.1.0
|
||||
|
||||
## Overview
|
||||
|
||||
Plugin marketplace for Claude Code. 20 plugins across 5 domains, 5 shared MCP servers,
|
||||
4 PreToolUse safety hooks + 1 UserPromptSubmit quality hook.
|
||||
|
||||
## System Architecture
|
||||
|
||||
### Plugin Domains
|
||||
|
||||
| Domain | Purpose | Plugins |
|
||||
|--------|---------|---------|
|
||||
| core | Development workflow | projman, git-flow, pr-review, code-sentinel, doc-guardian, clarity-assist, contract-validator, claude-config-maintainer, project-hygiene |
|
||||
| data | Data engineering | data-platform, viz-platform, data-seed |
|
||||
| saas | SaaS development | saas-api-platform, saas-db-migrate, saas-react-platform, saas-test-pilot |
|
||||
| ops | Operations | cmdb-assistant, ops-release-manager, ops-deploy-pipeline |
|
||||
| debug | Diagnostics | debug-mcp |
|
||||
|
||||
### MCP Servers (Shared at Root)
|
||||
|
||||
| Server | Plugins Using It | External System |
|
||||
|--------|-------------------|-----------------|
|
||||
| gitea | projman, pr-review | Gitea (issues, PRs, wiki) |
|
||||
| netbox | cmdb-assistant | NetBox (DCIM, IPAM) |
|
||||
| data-platform | data-platform | PostgreSQL, dbt |
|
||||
| viz-platform | viz-platform | DMC registry |
|
||||
| contract-validator | contract-validator | (internal validation) |
|
||||
|
||||
### Hook Architecture
|
||||
|
||||
| Plugin | Event | Trigger | Script |
|
||||
|--------|-------|---------|--------|
|
||||
| code-sentinel | PreToolUse | Write\|Edit\|MultiEdit | security-check.sh |
|
||||
| git-flow | PreToolUse | Bash (branch naming) | branch-check.sh |
|
||||
| git-flow | PreToolUse | Bash (git commit) | commit-msg-check.sh |
|
||||
| cmdb-assistant | PreToolUse | MCP create/update | validate-input.sh |
|
||||
| clarity-assist | UserPromptSubmit | All prompts | vagueness-check.sh |
|
||||
|
||||
No other hook types permitted. All workflow automation is via explicit commands.
|
||||
|
||||
### Agent Model (projman)
|
||||
|
||||
| Agent | Model | Permission Mode | Role |
|
||||
|-------|-------|-----------------|------|
|
||||
| Planner | opus | default | Sprint planning, architecture analysis, issue creation |
|
||||
| Orchestrator | sonnet | acceptEdits | Sprint execution, parallel batching, lesson capture |
|
||||
| Executor | sonnet | bypassPermissions | Code implementation, branch management |
|
||||
| Code Reviewer | opus | default | Pre-close quality review, security, tests |
|
||||
|
||||
### Config Hierarchy
|
||||
|
||||
| Level | Location | Contains |
|
||||
|-------|----------|----------|
|
||||
| System | ~/.config/claude/{service}.env | Credentials |
|
||||
| Project | .env in project root | Repo-specific config |
|
||||
|
||||
### Branch Security
|
||||
|
||||
| Pattern | Access |
|
||||
|---------|--------|
|
||||
| development, feat/*, fix/* | Full |
|
||||
| staging, stage/* | Read-only code, can create issues |
|
||||
| main, master, prod/* | READ-ONLY. Emergency only. |
|
||||
|
||||
### Launch Profiles
|
||||
|
||||
| Profile | Plugins |
|
||||
|---------|---------|
|
||||
| sprint | projman, git-flow, pr-review, code-sentinel, doc-guardian, clarity-assist |
|
||||
| data | data-platform, viz-platform, data-seed |
|
||||
| saas | saas-api-platform, saas-react-platform, saas-db-migrate, saas-test-pilot |
|
||||
| ops | cmdb-assistant, ops-release-manager, ops-deploy-pipeline |
|
||||
| review | pr-review, code-sentinel |
|
||||
| debug | debug-mcp |
|
||||
| full | all plugins |
|
||||
|
||||
---
|
||||
|
||||
## Plugin Reference
|
||||
|
||||
### Core Domain
|
||||
|
||||
#### projman (v9.0.1)
|
||||
Sprint planning and project management with Gitea integration.
|
||||
- **Commands:** /sprint (plan|start|status|close|review|test), /project (initiation|plan|status|close), /adr (create|list|update|supersede), /rfc (create|list|review|approve|reject), /labels sync, /projman setup
|
||||
- **Agents:** planner, orchestrator, executor, code-reviewer
|
||||
- **MCP:** gitea
|
||||
|
||||
#### git-flow (v9.0.1)
|
||||
Git workflow automation with smart commits and branch management.
|
||||
- **Commands:** /gitflow (commit|branch-start|branch-cleanup|status|config)
|
||||
- **Commit flags:** --push, --merge, --sync
|
||||
- **Agents:** git-assistant
|
||||
- **Hooks:** PreToolUse (branch-check.sh, commit-msg-check.sh)
|
||||
|
||||
#### pr-review (v9.0.1)
|
||||
Multi-agent PR review with confidence scoring.
|
||||
- **Commands:** /pr (review|summary|findings|diff|setup|init|sync)
|
||||
- **Agents:** coordinator, security-reviewer, performance-analyst, maintainability-auditor, test-validator
|
||||
- **MCP:** gitea
|
||||
|
||||
#### code-sentinel (v9.0.1)
|
||||
Security scanning and code refactoring.
|
||||
- **Commands:** /sentinel (scan|refactor|refactor-dry)
|
||||
- **Agents:** security-reviewer, refactor-advisor
|
||||
- **Hooks:** PreToolUse (security-check.sh)
|
||||
|
||||
#### doc-guardian (v9.0.1)
|
||||
Documentation drift detection and synchronization.
|
||||
- **Commands:** /doc (audit|sync|changelog-gen|coverage|stale-docs)
|
||||
- **Agents:** doc-analyzer
|
||||
|
||||
#### clarity-assist (v9.0.1)
|
||||
Prompt optimization with ND-friendly accommodations.
|
||||
- **Commands:** /clarity (clarify|quick-clarify)
|
||||
- **Agents:** clarity-coach
|
||||
- **Hooks:** UserPromptSubmit (vagueness-check.sh)
|
||||
|
||||
#### contract-validator (v9.0.1)
|
||||
Cross-plugin compatibility validation.
|
||||
- **Commands:** /cv (validate|check-agent|list-interfaces|dependency-graph|setup|status)
|
||||
- **Agents:** full-validation, agent-check
|
||||
- **MCP:** contract-validator
|
||||
|
||||
#### claude-config-maintainer (v9.0.1)
|
||||
CLAUDE.md and settings optimization.
|
||||
- **Commands:** /claude-config (analyze|optimize|init|diff|lint|audit-settings|optimize-settings|permissions-map)
|
||||
- **Agents:** maintainer
|
||||
|
||||
#### project-hygiene (v9.0.1)
|
||||
Manual project file cleanup checks.
|
||||
- **Commands:** /hygiene check (--fix flag for auto-fix)
|
||||
|
||||
### Data Domain
|
||||
|
||||
#### data-platform (v9.0.1)
|
||||
pandas, PostgreSQL, and dbt integration.
|
||||
- **Commands:** /data (ingest|profile|schema|explain|lineage|lineage-viz|run|dbt-test|quality|review|gate|setup)
|
||||
- **Agents:** data-advisor, data-analysis, data-ingestion
|
||||
- **MCP:** data-platform
|
||||
|
||||
#### viz-platform (v9.0.1)
|
||||
DMC validation, Plotly charts, and theming.
|
||||
- **Commands:** /viz (setup|chart|chart-export|dashboard|theme|theme-new|theme-css|component|accessibility-check|breakpoints|design-review|design-gate)
|
||||
- **Agents:** design-reviewer, layout-builder, component-check, theme-setup
|
||||
- **MCP:** viz-platform
|
||||
|
||||
#### data-seed (v0.1.0)
|
||||
Test data generation and database seeding. *Scaffold — not yet implemented.*
|
||||
|
||||
### SaaS Domain
|
||||
|
||||
#### saas-api-platform (v0.1.0)
|
||||
REST/GraphQL API scaffolding for FastAPI and Express. *Scaffold.*
|
||||
|
||||
#### saas-db-migrate (v0.1.0)
|
||||
Database migration management for Alembic, Prisma, raw SQL. *Scaffold.*
|
||||
|
||||
#### saas-react-platform (v0.1.0)
|
||||
React frontend toolkit for Next.js and Vite. *Scaffold.*
|
||||
|
||||
#### saas-test-pilot (v0.1.0)
|
||||
Test automation for pytest, Jest, Vitest, Playwright. *Scaffold.*
|
||||
|
||||
### Ops Domain
|
||||
|
||||
#### cmdb-assistant (v9.0.1)
|
||||
NetBox CMDB integration for infrastructure management.
|
||||
- **Commands:** /cmdb (search|device|ip|site|audit|register|sync|topology|change-audit|ip-conflicts|setup)
|
||||
- **Agents:** cmdb-assistant
|
||||
- **MCP:** netbox
|
||||
- **Hooks:** PreToolUse (validate-input.sh)
|
||||
|
||||
#### ops-release-manager (v0.1.0)
|
||||
Release management with SemVer and changelog automation. *Scaffold.*
|
||||
|
||||
#### ops-deploy-pipeline (v0.1.0)
|
||||
Deployment pipeline for Docker Compose and systemd. *Scaffold.*
|
||||
|
||||
### Debug Domain
|
||||
|
||||
#### debug-mcp (v0.1.0)
|
||||
MCP server debugging and diagnostics. *Scaffold.*
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
**This file defines ALL valid paths in this repository. No exceptions. No inference. No assumptions.**
|
||||
|
||||
Last Updated: 2026-02-06 (v8.0.0)
|
||||
Last Updated: 2026-02-07 (v9.1.0)
|
||||
|
||||
---
|
||||
|
||||
@@ -19,17 +19,13 @@ leo-claude-mktplace/
|
||||
├── .mcp-full.json # Full profile MCP config (all servers)
|
||||
├── .scratch/ # Transient work (auto-cleaned)
|
||||
├── docs/ # All documentation
|
||||
│ ├── architecture/ # Draw.io diagrams and specs
|
||||
│ ├── prompts/ # Shared prompt templates
|
||||
│ │ └── INDEX.md # Prompt template index
|
||||
│ ├── project-lessons-learned/ # Project-level lessons (not sprint-specific)
|
||||
│ │ └── INDEX.md # Lessons index
|
||||
│ ├── ARCHITECTURE.md # System architecture and plugin reference
|
||||
│ ├── CANONICAL-PATHS.md # This file - single source of truth
|
||||
│ ├── COMMANDS-CHEATSHEET.md # All commands quick reference
|
||||
│ ├── CONFIGURATION.md # Centralized configuration guide
|
||||
│ ├── DEBUGGING-CHECKLIST.md # Systematic troubleshooting guide
|
||||
│ ├── MIGRATION-v9.md # v8.x → v9.0.0 migration guide
|
||||
│ └── UPDATING.md # Update guide
|
||||
├── hooks/ # Shared hooks (if any)
|
||||
├── mcp-servers/ # SHARED MCP servers (v3.0.0+)
|
||||
│ ├── gitea/ # Gitea MCP server
|
||||
│ │ ├── mcp_server/
|
||||
@@ -90,7 +86,6 @@ leo-claude-mktplace/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── doc-guardian/ # Documentation drift detection
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── hooks/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── skills/
|
||||
@@ -114,7 +109,7 @@ leo-claude-mktplace/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── project-hygiene/
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── hooks/
|
||||
│ │ ├── commands/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── clarity-assist/
|
||||
│ │ ├── .claude-plugin/
|
||||
@@ -138,29 +133,76 @@ leo-claude-mktplace/
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── hooks/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── contract-validator/
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ └── viz-platform/
|
||||
│ ├── viz-platform/
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── saas-api-platform/ # REST/GraphQL API scaffolding (scaffold)
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── skills/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── saas-db-migrate/ # Database migration management (scaffold)
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── skills/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── saas-react-platform/ # React frontend toolkit (scaffold)
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── skills/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── saas-test-pilot/ # Test automation (scaffold)
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── skills/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── data-seed/ # Test data generation (scaffold)
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── skills/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── ops-release-manager/ # Release management (scaffold)
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── skills/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ ├── ops-deploy-pipeline/ # Deployment pipeline (scaffold)
|
||||
│ │ ├── .claude-plugin/
|
||||
│ │ ├── commands/
|
||||
│ │ ├── agents/
|
||||
│ │ ├── skills/
|
||||
│ │ └── claude-md-integration.md
|
||||
│ └── debug-mcp/ # MCP debugging toolkit (scaffold)
|
||||
│ ├── .claude-plugin/
|
||||
│ ├── commands/
|
||||
│ ├── agents/
|
||||
│ ├── hooks/
|
||||
│ ├── skills/
|
||||
│ └── claude-md-integration.md
|
||||
├── scripts/ # Setup and maintenance scripts
|
||||
│ ├── setup.sh # Initial setup (create venvs, config templates)
|
||||
│ ├── post-update.sh # Post-update (clear cache, show changelog)
|
||||
│ ├── check-venv.sh # Check if venvs exist (read-only)
|
||||
│ ├── setup-venvs.sh # Setup MCP server venvs (create only, never delete)
|
||||
│ ├── validate-marketplace.sh # Marketplace compliance validation
|
||||
│ ├── verify-hooks.sh # Verify all hooks use correct event types
|
||||
│ ├── setup-venvs.sh # Setup MCP server venvs (create only, never delete)
|
||||
│ ├── release.sh # Release automation with version bumping
|
||||
│ ├── claude-launch.sh # Task-specific launcher with profile selection
|
||||
│ └── switch-profile.sh # DEPRECATED: use claude-launch.sh instead
|
||||
│ ├── install-plugin.sh # Install plugin to consumer project
|
||||
│ ├── list-installed.sh # Show installed plugins in a project
|
||||
│ └── uninstall-plugin.sh # Remove plugin from consumer project
|
||||
├── CLAUDE.md
|
||||
├── README.md
|
||||
├── LICENSE
|
||||
@@ -260,12 +302,13 @@ fi
|
||||
|
||||
| Type | Location |
|
||||
|------|----------|
|
||||
| Architecture diagrams | `docs/architecture/` |
|
||||
| Architecture & plugin reference | `docs/ARCHITECTURE.md` |
|
||||
| This file | `docs/CANONICAL-PATHS.md` |
|
||||
| Update guide | `docs/UPDATING.md` |
|
||||
| Configuration guide | `docs/CONFIGURATION.md` |
|
||||
| Commands cheat sheet | `docs/COMMANDS-CHEATSHEET.md` |
|
||||
| Debugging checklist | `docs/DEBUGGING-CHECKLIST.md` |
|
||||
| Migration guide (v8→v9) | `docs/MIGRATION-v9.md` |
|
||||
|
||||
---
|
||||
|
||||
@@ -341,24 +384,23 @@ All MCP servers are defined in `.mcp.json` at repository root:
|
||||
|
||||
## Domain Metadata
|
||||
|
||||
### Domain Field Locations
|
||||
### Domain Field Location
|
||||
|
||||
Both manifest files require a `domain` field (v8.0.0+):
|
||||
Domain metadata is stored in `metadata.json` (v9.1.2+, moved from plugin.json/marketplace.json for Claude Code schema compliance):
|
||||
|
||||
| Location | Field | Example |
|
||||
|----------|-------|---------|
|
||||
| `plugins/{name}/.claude-plugin/plugin.json` | `"domain": "core"` | `plugins/projman/.claude-plugin/plugin.json` |
|
||||
| `.claude-plugin/marketplace.json` | `"domain": "core"` per plugin entry | `.claude-plugin/marketplace.json` |
|
||||
| `plugins/{name}/.claude-plugin/metadata.json` | `"domain": "core"` | `plugins/projman/.claude-plugin/metadata.json` |
|
||||
|
||||
### Allowed Domain Values
|
||||
|
||||
| Domain | Purpose | Existing Plugins |
|
||||
|--------|---------|-----------------|
|
||||
| `core` | Development workflow plugins | projman, git-flow, pr-review, code-sentinel, doc-guardian, clarity-assist, contract-validator, claude-config-maintainer, project-hygiene |
|
||||
| `data` | Data engineering and visualization | data-platform, viz-platform |
|
||||
| `ops` | Operations and infrastructure | cmdb-assistant |
|
||||
| `saas` | SaaS application development | (Phase 2) |
|
||||
| `debug` | Debugging and diagnostics | (Phase 2) |
|
||||
| `data` | Data engineering and visualization | data-platform, viz-platform, data-seed |
|
||||
| `ops` | Operations and infrastructure | cmdb-assistant, ops-release-manager, ops-deploy-pipeline |
|
||||
| `saas` | SaaS application development | saas-api-platform, saas-db-migrate, saas-react-platform, saas-test-pilot |
|
||||
| `debug` | Debugging and diagnostics | debug-mcp |
|
||||
|
||||
### Plugin Naming Convention
|
||||
|
||||
@@ -370,23 +412,15 @@ Both manifest files require a `domain` field (v8.0.0+):
|
||||
|
||||
```bash
|
||||
# List all plugins in a domain
|
||||
jq '.plugins[] | select(.domain=="saas") | .name' .claude-plugin/marketplace.json
|
||||
for p in plugins/*; do
|
||||
d=$(jq -r '.domain // empty' "$p/.claude-plugin/metadata.json" 2>/dev/null)
|
||||
[[ "$d" == "saas" ]] && basename "$p"
|
||||
done
|
||||
|
||||
# Count plugins per domain
|
||||
jq '[.plugins[] | .domain] | group_by(.) | map({domain: .[0], count: length})' .claude-plugin/marketplace.json
|
||||
```
|
||||
|
||||
### Future Plugin Path Patterns
|
||||
|
||||
```
|
||||
plugins/saas-api-platform/
|
||||
plugins/saas-db-migrate/
|
||||
plugins/saas-react-platform/
|
||||
plugins/saas-test-pilot/
|
||||
plugins/data-seed/
|
||||
plugins/ops-release-manager/
|
||||
plugins/ops-deploy-pipeline/
|
||||
plugins/debug-mcp/
|
||||
for p in plugins/*; do
|
||||
jq -r '.domain // empty' "$p/.claude-plugin/metadata.json" 2>/dev/null
|
||||
done | sort | uniq -c | sort -rn
|
||||
```
|
||||
|
||||
---
|
||||
@@ -395,6 +429,8 @@ plugins/debug-mcp/
|
||||
|
||||
| Date | Change | By |
|
||||
|------|--------|-----|
|
||||
| 2026-02-07 | v9.1.2: Moved domain field from plugin.json/marketplace.json to metadata.json for Claude Code schema compliance | Claude Code |
|
||||
| 2026-02-07 | v9.1.0: Removed deleted dirs (architecture/, prompts/, project-lessons-learned/), added Phase 3 plugins, added ARCHITECTURE.md, MIGRATION-v9.md, updated Domain table, removed stale hooks/ dirs | Claude Code |
|
||||
| 2026-02-06 | v8.0.0: Added domain metadata section, Phase 1a paths, future plugin paths | Claude Code |
|
||||
| 2026-02-04 | v7.1.0: Added profile configs, prompts/, project-lessons-learned/, metadata.json, deprecated switch-profile.sh | Claude Code |
|
||||
| 2026-01-30 | v5.5.0: Removed plugin-level mcp-servers symlinks - all MCP config now in root .mcp.json | Claude Code |
|
||||
|
||||
@@ -18,9 +18,19 @@ All commands follow the `/<noun> <action>` sub-command pattern.
|
||||
| **projman** | `/sprint close` | | X | Complete sprint and capture lessons learned to Gitea Wiki |
|
||||
| **projman** | `/labels sync` | | X | Synchronize label taxonomy from Gitea |
|
||||
| **projman** | `/projman setup` | | X | Auto-detect mode or use `--full`, `--quick`, `--sync`, `--clear-cache` |
|
||||
| **projman** | `/rfc create\|list\|review\|approve\|reject` | | X | RFC lifecycle management |
|
||||
| **projman** | `/project initiation\|plan\|status\|close` | | X | Project lifecycle management |
|
||||
| **projman** | `/adr create\|list\|update\|supersede` | | X | Architecture Decision Records |
|
||||
| **projman** | `/rfc create` | | X | Create new RFC from conversation or spec |
|
||||
| **projman** | `/rfc list` | | X | List all RFCs grouped by status |
|
||||
| **projman** | `/rfc review` | | X | Submit RFC for maintainer review |
|
||||
| **projman** | `/rfc approve` | | X | Approve RFC for sprint planning |
|
||||
| **projman** | `/rfc reject` | | X | Reject RFC with documented reason |
|
||||
| **projman** | `/project initiation` | | X | Discovery, source analysis, project charter |
|
||||
| **projman** | `/project plan` | | X | WBS, risk register, sprint roadmap |
|
||||
| **projman** | `/project status` | | X | Project health check across all sprints |
|
||||
| **projman** | `/project close` | | X | Final retrospective and archival |
|
||||
| **projman** | `/adr create` | | X | Create new Architecture Decision Record |
|
||||
| **projman** | `/adr list` | | X | List all ADRs with status |
|
||||
| **projman** | `/adr update` | | X | Update existing ADR |
|
||||
| **projman** | `/adr supersede` | | X | Supersede ADR with new decision |
|
||||
| **git-flow** | `/gitflow commit` | | X | Create commit with auto-generated conventional message. Flags: `--push`, `--merge`, `--sync` |
|
||||
| **git-flow** | `/gitflow branch-start` | | X | Create new feature/fix/chore branch with naming conventions |
|
||||
| **git-flow** | `/gitflow branch-cleanup` | | X | Remove merged branches locally and optionally on remote |
|
||||
|
||||
@@ -38,7 +38,7 @@ cd ~/.claude/plugins/marketplaces/leo-claude-mktplace && ./scripts/setup.sh
|
||||
|
||||
## What the Post-Update Script Does
|
||||
|
||||
1. **Updates Python dependencies** for MCP servers (gitea, netbox)
|
||||
1. **Updates Python dependencies** for all 5 MCP servers (gitea, netbox, data-platform, viz-platform, contract-validator)
|
||||
2. **Shows recent changelog entries** so you know what changed
|
||||
3. **Validates your configuration** is still compatible
|
||||
|
||||
@@ -157,10 +157,11 @@ cd ~/.claude/plugins/marketplaces/leo-claude-mktplace && ./scripts/setup.sh
|
||||
If that doesn't work:
|
||||
|
||||
1. Check Python version: `python3 --version` (requires 3.10+)
|
||||
2. Verify venv exists in INSTALLED location:
|
||||
2. Verify venvs exist in INSTALLED location:
|
||||
```bash
|
||||
ls ~/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/gitea/.venv
|
||||
ls ~/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/netbox/.venv
|
||||
for server in gitea netbox data-platform viz-platform contract-validator; do
|
||||
ls ~/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/$server/.venv && echo "$server: OK" || echo "$server: MISSING"
|
||||
done
|
||||
```
|
||||
3. If missing, run setup.sh as shown above.
|
||||
4. Restart Claude Code session
|
||||
|
||||
@@ -1,271 +0,0 @@
|
||||
# Agent Workflow - Draw.io Specification
|
||||
|
||||
**Target File:** `docs/architecture/agent-workflow.drawio`
|
||||
|
||||
**Purpose:** Shows when Planner, Orchestrator, Executor, and Code Reviewer agents trigger during sprint lifecycle.
|
||||
|
||||
**Diagram Type:** Swimlane / Sequence Diagram
|
||||
|
||||
---
|
||||
|
||||
## SWIMLANES
|
||||
|
||||
| ID | Label | Color | Position |
|
||||
|----|-------|-------|----------|
|
||||
| user-lane | User | #E3F2FD | 1 (leftmost) |
|
||||
| planner-lane | Planner Agent | #4A90D9 | 2 |
|
||||
| orchestrator-lane | Orchestrator Agent | #7CB342 | 3 |
|
||||
| executor-lane | Executor Agent | #FF9800 | 4 |
|
||||
| reviewer-lane | Code Reviewer Agent | #9C27B0 | 5 |
|
||||
| gitea-lane | Gitea (Issues + Wiki) | #9E9E9E | 6 (rightmost) |
|
||||
|
||||
---
|
||||
|
||||
## PHASE 1: SPRINT PLANNING
|
||||
|
||||
### Nodes
|
||||
|
||||
| ID | Label | Type | Lane | Sequence |
|
||||
|----|-------|------|------|----------|
|
||||
| p1-start | /sprint plan | rounded-rect | user-lane | 1 |
|
||||
| p1-activate | Planner Activates | rectangle | planner-lane | 2 |
|
||||
| p1-search-lessons | Search Lessons Learned | rectangle | planner-lane | 3 |
|
||||
| p1-gitea-wiki-query | Query Past Lessons (Wiki) | rectangle | gitea-lane | 4 |
|
||||
| p1-return-lessons | Return Relevant Lessons | rectangle | planner-lane | 5 |
|
||||
| p1-clarify | Ask Clarifying Questions | diamond | planner-lane | 6 |
|
||||
| p1-user-answers | Provide Answers | rectangle | user-lane | 7 |
|
||||
| p1-create-issues | Create Issues with Labels | rectangle | planner-lane | 8 |
|
||||
| p1-gitea-create | Store Issues | rectangle | gitea-lane | 9 |
|
||||
| p1-plan-complete | Planning Complete | rounded-rect | planner-lane | 10 |
|
||||
|
||||
### Edges
|
||||
|
||||
| From | To | Label | Style |
|
||||
|------|----|-------|-------|
|
||||
| p1-start | p1-activate | invokes | solid |
|
||||
| p1-activate | p1-search-lessons | | solid |
|
||||
| p1-search-lessons | p1-gitea-wiki-query | REST API (search_lessons) | solid |
|
||||
| p1-gitea-wiki-query | p1-return-lessons | lessons data | dashed |
|
||||
| p1-return-lessons | p1-clarify | | solid |
|
||||
| p1-clarify | p1-user-answers | questions | solid |
|
||||
| p1-user-answers | p1-clarify | answers | dashed |
|
||||
| p1-clarify | p1-create-issues | | solid |
|
||||
| p1-create-issues | p1-gitea-create | REST API | solid |
|
||||
| p1-gitea-create | p1-plan-complete | confirm | dashed |
|
||||
|
||||
---
|
||||
|
||||
## PHASE 2: SPRINT EXECUTION
|
||||
|
||||
### Nodes
|
||||
|
||||
| ID | Label | Type | Lane | Sequence |
|
||||
|----|-------|------|------|----------|
|
||||
| p2-start | /sprint start | rounded-rect | user-lane | 11 |
|
||||
| p2-orch-activate | Orchestrator Activates | rectangle | orchestrator-lane | 12 |
|
||||
| p2-fetch-issues | Fetch Sprint Issues | rectangle | orchestrator-lane | 13 |
|
||||
| p2-gitea-list | List Open Issues | rectangle | gitea-lane | 14 |
|
||||
| p2-sequence | Sequence Work (Dependencies) | rectangle | orchestrator-lane | 15 |
|
||||
| p2-dispatch | Dispatch Task | rectangle | orchestrator-lane | 16 |
|
||||
| p2-exec-activate | Executor Activates | rectangle | executor-lane | 17 |
|
||||
| p2-implement | Implement Task | rectangle | executor-lane | 18 |
|
||||
| p2-update-status | Update Issue Status | rectangle | executor-lane | 19 |
|
||||
| p2-gitea-update | Update Issue | rectangle | gitea-lane | 20 |
|
||||
| p2-report | Report Completion | rectangle | executor-lane | 21 |
|
||||
| p2-loop | More Tasks? | diamond | orchestrator-lane | 22 |
|
||||
| p2-exec-complete | Execution Complete | rounded-rect | orchestrator-lane | 23 |
|
||||
|
||||
### Edges
|
||||
|
||||
| From | To | Label | Style |
|
||||
|------|----|-------|-------|
|
||||
| p2-start | p2-orch-activate | invokes | solid |
|
||||
| p2-orch-activate | p2-fetch-issues | | solid |
|
||||
| p2-fetch-issues | p2-gitea-list | REST API | solid |
|
||||
| p2-gitea-list | p2-sequence | issues data | dashed |
|
||||
| p2-sequence | p2-dispatch | parallel batching | solid |
|
||||
| p2-dispatch | p2-exec-activate | execution prompt | solid |
|
||||
| p2-exec-activate | p2-implement | | solid |
|
||||
| p2-implement | p2-update-status | | solid |
|
||||
| p2-update-status | p2-gitea-update | REST API | solid |
|
||||
| p2-gitea-update | p2-report | confirm | dashed |
|
||||
| p2-report | p2-loop | | solid |
|
||||
| p2-loop | p2-dispatch | yes | solid |
|
||||
| p2-loop | p2-exec-complete | no | solid |
|
||||
|
||||
---
|
||||
|
||||
## PHASE 2.5: CODE REVIEW (Pre-Close)
|
||||
|
||||
### Nodes
|
||||
|
||||
| ID | Label | Type | Lane | Sequence |
|
||||
|----|-------|------|------|----------|
|
||||
| p25-start | /review | rounded-rect | user-lane | 24 |
|
||||
| p25-reviewer-activate | Code Reviewer Activates | rectangle | reviewer-lane | 25 |
|
||||
| p25-scan-changes | Scan Recent Changes | rectangle | reviewer-lane | 26 |
|
||||
| p25-check-quality | Check Code Quality | rectangle | reviewer-lane | 27 |
|
||||
| p25-security-scan | Security Scan | rectangle | reviewer-lane | 28 |
|
||||
| p25-report | Generate Review Report | rectangle | reviewer-lane | 29 |
|
||||
| p25-complete | Review Complete | rounded-rect | reviewer-lane | 30 |
|
||||
|
||||
### Edges
|
||||
|
||||
| From | To | Label | Style |
|
||||
|------|----|-------|-------|
|
||||
| p25-start | p25-reviewer-activate | invokes | solid |
|
||||
| p25-reviewer-activate | p25-scan-changes | | solid |
|
||||
| p25-scan-changes | p25-check-quality | | solid |
|
||||
| p25-check-quality | p25-security-scan | | solid |
|
||||
| p25-security-scan | p25-report | | solid |
|
||||
| p25-report | p25-complete | | solid |
|
||||
|
||||
---
|
||||
|
||||
## PHASE 3: SPRINT CLOSE
|
||||
|
||||
### Nodes
|
||||
|
||||
| ID | Label | Type | Lane | Sequence |
|
||||
|----|-------|------|------|----------|
|
||||
| p3-start | /sprint close | rounded-rect | user-lane | 31 |
|
||||
| p3-orch-activate | Orchestrator Activates | rectangle | orchestrator-lane | 32 |
|
||||
| p3-review | Review Sprint | rectangle | orchestrator-lane | 33 |
|
||||
| p3-gitea-status | Get Final Status | rectangle | gitea-lane | 34 |
|
||||
| p3-capture | Capture Lessons Learned | rectangle | orchestrator-lane | 35 |
|
||||
| p3-user-input | Confirm Lessons | diamond | user-lane | 36 |
|
||||
| p3-create-wiki | Create Wiki Pages | rectangle | orchestrator-lane | 37 |
|
||||
| p3-gitea-wiki-create | Store Lessons (Wiki) | rectangle | gitea-lane | 38 |
|
||||
| p3-close-issues | Close Issues | rectangle | orchestrator-lane | 39 |
|
||||
| p3-gitea-close | Mark Closed | rectangle | gitea-lane | 40 |
|
||||
| p3-complete | Sprint Closed | rounded-rect | orchestrator-lane | 41 |
|
||||
|
||||
### Edges
|
||||
|
||||
| From | To | Label | Style |
|
||||
|------|----|-------|-------|
|
||||
| p3-start | p3-orch-activate | invokes | solid |
|
||||
| p3-orch-activate | p3-review | | solid |
|
||||
| p3-review | p3-gitea-status | REST API | solid |
|
||||
| p3-gitea-status | p3-capture | status data | dashed |
|
||||
| p3-capture | p3-user-input | proposed lessons | solid |
|
||||
| p3-user-input | p3-create-wiki | confirmed | solid |
|
||||
| p3-create-wiki | p3-gitea-wiki-create | REST API (create_lesson) | solid |
|
||||
| p3-gitea-wiki-create | p3-close-issues | confirm | dashed |
|
||||
| p3-close-issues | p3-gitea-close | REST API | solid |
|
||||
| p3-gitea-close | p3-complete | confirm | dashed |
|
||||
|
||||
---
|
||||
|
||||
## LAYOUT NOTES
|
||||
|
||||
```
|
||||
+--------+------------+---------------+------------+----------+------------------+
|
||||
| User | Planner | Orchestrator | Executor | Reviewer | Gitea |
|
||||
| | | | | | (Issues + Wiki) |
|
||||
+--------+------------+---------------+------------+----------+------------------+
|
||||
| | | | | | |
|
||||
| PHASE 1: SPRINT PLANNING |
|
||||
|-------------------------------------------------------------------------------|
|
||||
| O | | | | | |
|
||||
| | | | | | | |
|
||||
| +---->| O | | | | |
|
||||
| | | | | | | |
|
||||
| | +----------|---------------|------------|--------->| O (Wiki Query) |
|
||||
| | |<---------|---------------|------------|----------+ | |
|
||||
| | | | | | | |
|
||||
| | O<> | | | | |
|
||||
| O<--->+ | | | | | |
|
||||
| | | | | | | |
|
||||
| | +----------|---------------|------------|--------->| O (Issues) |
|
||||
| | O | | | | |
|
||||
| | | | | | |
|
||||
|-------------------------------------------------------------------------------|
|
||||
| PHASE 2: SPRINT EXECUTION |
|
||||
|-------------------------------------------------------------------------------|
|
||||
| O | | | | | |
|
||||
| | | | | | | |
|
||||
| +-----|----------->| O | | | |
|
||||
| | | | | | | |
|
||||
| | | +-------------|------------|--------->| O (Issues) |
|
||||
| | | |<------------|------------|----------+ | |
|
||||
| | | | | | | |
|
||||
| | | +------------>| O | | |
|
||||
| | | | | | | |
|
||||
| | | | +----------|--------->| O (Issues) |
|
||||
| | | | |<---------|----------+ | |
|
||||
| | | O<------------+ | | | |
|
||||
| | | | | | | |
|
||||
| | | O (loop) | | | |
|
||||
| | | | | | |
|
||||
|-------------------------------------------------------------------------------|
|
||||
| PHASE 2.5: CODE REVIEW |
|
||||
|-------------------------------------------------------------------------------|
|
||||
| O | | | | | |
|
||||
| | | | | | | |
|
||||
| +-----|------------|---------------|----------->| O | |
|
||||
| | | | | | | |
|
||||
| | | | | O->O->O | |
|
||||
| | | | | | | |
|
||||
| | | | | O | |
|
||||
| | | | | | |
|
||||
|-------------------------------------------------------------------------------|
|
||||
| PHASE 3: SPRINT CLOSE |
|
||||
|-------------------------------------------------------------------------------|
|
||||
| O | | | | | |
|
||||
| | | | | | | |
|
||||
| +-----|----------->| O | | | |
|
||||
| | | +-------------|------------|--------->| O (Issues) |
|
||||
| | | |<------------|------------|----------+ | |
|
||||
| | | | | | | |
|
||||
| O<----|-----------<+ | | | | |
|
||||
| +-----|----------->| | | | | |
|
||||
| | | +-------------|------------|--------->| O (Wiki Create) |
|
||||
| | | |<------------|------------|----------+ | |
|
||||
| | | +-------------|------------|--------->| O (Issues Close) |
|
||||
| | | O | | | |
|
||||
+--------+------------+---------------+------------+----------+------------------+
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## COLOR LEGEND
|
||||
|
||||
| Color | Hex | Meaning |
|
||||
|-------|-----|---------|
|
||||
| Light Blue | #E3F2FD | User actions |
|
||||
| Blue | #4A90D9 | Planner Agent |
|
||||
| Green | #7CB342 | Orchestrator Agent |
|
||||
| Orange | #FF9800 | Executor Agent |
|
||||
| Purple | #9C27B0 | Code Reviewer Agent |
|
||||
| Gray | #9E9E9E | External Services (Gitea) |
|
||||
|
||||
---
|
||||
|
||||
## SHAPE LEGEND
|
||||
|
||||
| Shape | Meaning |
|
||||
|-------|---------|
|
||||
| Rounded Rectangle | Start/End points (commands) |
|
||||
| Rectangle | Process/Action |
|
||||
| Diamond | Decision point |
|
||||
| Cylinder | Data store (in component map) |
|
||||
|
||||
---
|
||||
|
||||
## ARROW LEGEND
|
||||
|
||||
| Style | Meaning |
|
||||
|-------|---------|
|
||||
| Solid | Action/Request |
|
||||
| Dashed | Response/Data return |
|
||||
|
||||
---
|
||||
|
||||
## ARCHITECTURE NOTES
|
||||
|
||||
- **Gitea provides BOTH issue tracking AND wiki** (no separate wiki service)
|
||||
- All wiki operations use Gitea REST API via MCP tools
|
||||
- Lessons learned stored in Gitea Wiki under `lessons-learned/sprints/`
|
||||
- MCP tools: `search_lessons`, `create_lesson`, `list_wiki_pages`, `get_wiki_page`
|
||||
- Four-agent model: Planner, Orchestrator, Executor, Code Reviewer
|
||||
@@ -1,139 +0,0 @@
|
||||
# Component Map - Draw.io Specification
|
||||
|
||||
**Target File:** `docs/architecture/component-map.drawio`
|
||||
|
||||
**Purpose:** Shows all plugins, MCP servers, hooks and their relationships.
|
||||
|
||||
---
|
||||
|
||||
## NODES
|
||||
|
||||
### Plugins (Blue - #4A90D9)
|
||||
|
||||
| ID | Label | Type | Color | Position |
|
||||
|----|-------|------|-------|----------|
|
||||
| projman | projman | rectangle | #4A90D9 | top-center |
|
||||
| projman-pmo | projman-pmo (planned) | rectangle | #4A90D9 | top-right |
|
||||
| project-hygiene | project-hygiene | rectangle | #4A90D9 | top-left |
|
||||
| claude-config | claude-config-maintainer | rectangle | #4A90D9 | bottom-left |
|
||||
| cmdb-assistant | cmdb-assistant | rectangle | #4A90D9 | bottom-right |
|
||||
|
||||
### MCP Servers (Green - #7CB342)
|
||||
|
||||
MCP servers are **bundled inside each plugin** that needs them.
|
||||
|
||||
| ID | Label | Type | Color | Position | Bundled In |
|
||||
|----|-------|------|-------|----------|------------|
|
||||
| gitea-mcp | Gitea MCP Server | rectangle | #7CB342 | middle-left | projman |
|
||||
| netbox-mcp | NetBox MCP Server | rectangle | #7CB342 | middle-right | cmdb-assistant |
|
||||
|
||||
### External Systems (Gray - #9E9E9E)
|
||||
|
||||
| ID | Label | Type | Color | Position |
|
||||
|----|-------|------|-------|----------|
|
||||
| gitea-instance | Gitea\n(Issues + Wiki) | cylinder | #9E9E9E | bottom-left |
|
||||
| netbox-instance | NetBox | cylinder | #9E9E9E | bottom-right |
|
||||
|
||||
### Configuration (Orange - #FF9800)
|
||||
|
||||
| ID | Label | Type | Color | Position |
|
||||
|----|-------|------|-------|----------|
|
||||
| system-config | System Config\n~/.config/claude/ | rectangle | #FF9800 | far-left |
|
||||
| project-config | Project Config\n.env | rectangle | #FF9800 | far-right |
|
||||
|
||||
---
|
||||
|
||||
## EDGES
|
||||
|
||||
### Plugin to MCP Server Connections
|
||||
|
||||
| From | To | Label | Style | Arrow |
|
||||
|------|----|-------|-------|-------|
|
||||
| projman | gitea-mcp | bundled | solid | bidirectional |
|
||||
| cmdb-assistant | netbox-mcp | bundled | solid | bidirectional |
|
||||
|
||||
### Plugin Dependencies
|
||||
|
||||
| From | To | Label | Style | Arrow |
|
||||
|------|----|-------|-------|-------|
|
||||
| projman-pmo | projman | depends on | dashed | forward |
|
||||
|
||||
### MCP Server to External System Connections
|
||||
|
||||
| From | To | Label | Style | Arrow |
|
||||
|------|----|-------|-------|-------|
|
||||
| gitea-mcp | gitea-instance | REST API | solid | forward |
|
||||
| netbox-mcp | netbox-instance | REST API | solid | forward |
|
||||
|
||||
### Configuration Connections
|
||||
|
||||
| From | To | Label | Style | Arrow |
|
||||
|------|----|-------|-------|-------|
|
||||
| system-config | gitea-mcp | credentials | dashed | forward |
|
||||
| system-config | netbox-mcp | credentials | dashed | forward |
|
||||
| project-config | gitea-mcp | repo context | dashed | forward |
|
||||
| project-config | netbox-mcp | site context | dashed | forward |
|
||||
|
||||
---
|
||||
|
||||
## GROUPS
|
||||
|
||||
| ID | Label | Contains | Style |
|
||||
|----|-------|----------|-------|
|
||||
| plugins-group | Plugins | projman, projman-pmo, project-hygiene, claude-config, cmdb-assistant | light blue border |
|
||||
| external-group | External Services | gitea-instance, netbox-instance | light gray border |
|
||||
| config-group | Configuration | system-config, project-config | light orange border |
|
||||
|
||||
---
|
||||
|
||||
## LAYOUT NOTES
|
||||
|
||||
```
|
||||
+------------------------------------------------------------------+
|
||||
| PLUGINS GROUP |
|
||||
| +----------------+ +----------------+ +-------------------+ |
|
||||
| | project- | | projman | | projman-pmo | |
|
||||
| | hygiene | | [gitea-mcp] | | (planned) | |
|
||||
| +----------------+ +-------+--------+ +-------------------+ |
|
||||
| | |
|
||||
| +----------------+ +-------------------+ |
|
||||
| | claude-config | | cmdb-assistant | |
|
||||
| | -maintainer | | [netbox-mcp] | |
|
||||
| +----------------+ +--------+----------+ |
|
||||
+------------------------------------------------------------------+
|
||||
|
|
||||
v
|
||||
+------------------------------------------------------------------+
|
||||
| EXTERNAL SERVICES GROUP |
|
||||
| +-------------------+ +-------------------+ |
|
||||
| | Gitea | | NetBox | |
|
||||
| | (Issues + Wiki) | | | |
|
||||
| +-------------------+ +-------------------+ |
|
||||
+------------------------------------------------------------------+
|
||||
|
||||
CONFIG GROUP (left side): CONFIG GROUP (right side):
|
||||
+-------------------+ +-------------------+
|
||||
| System Config | | Project Config |
|
||||
| ~/.config/claude/ | | .env |
|
||||
+-------------------+ +-------------------+
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## COLOR LEGEND
|
||||
|
||||
| Color | Hex | Meaning |
|
||||
|-------|-----|---------|
|
||||
| Blue | #4A90D9 | Plugins |
|
||||
| Green | #7CB342 | MCP Servers (bundled in plugins) |
|
||||
| Gray | #9E9E9E | External Systems |
|
||||
| Orange | #FF9800 | Configuration |
|
||||
|
||||
---
|
||||
|
||||
## ARCHITECTURE NOTES
|
||||
|
||||
- MCP servers are **bundled inside plugins** (not shared at root)
|
||||
- Gitea provides both issue tracking AND wiki (lessons learned)
|
||||
- No separate Wiki.js - all wiki functionality uses Gitea Wiki
|
||||
- Each plugin is self-contained for Claude Code caching
|
||||
@@ -1,70 +0,0 @@
|
||||
# Design: data-seed
|
||||
|
||||
**Domain:** `data`
|
||||
**Target Version:** v9.3.0
|
||||
|
||||
## Purpose
|
||||
|
||||
Test data generation and database seeding. Generates realistic fake data based on schema definitions, supports reproducible seeds, and manages seed files for development and testing environments.
|
||||
|
||||
## Target Users
|
||||
|
||||
- Developers needing test data for local development
|
||||
- QA teams requiring reproducible datasets
|
||||
- Projects with complex relational data models
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/seed setup` | Setup wizard — detect schema source, configure output paths |
|
||||
| `/seed generate` | Generate seed data from schema or model definitions |
|
||||
| `/seed apply` | Apply seed data to database or create fixture files |
|
||||
| `/seed profile` | Define reusable data profiles (small, medium, large, edge-cases) |
|
||||
| `/seed validate` | Validate seed data against schema constraints and foreign keys |
|
||||
|
||||
## Agent Architecture
|
||||
|
||||
| Agent | Model | Mode | Role |
|
||||
|-------|-------|------|------|
|
||||
| `seed-generator` | sonnet | acceptEdits | Data generation, profile management |
|
||||
| `seed-validator` | haiku | plan | Read-only validation of seed data integrity |
|
||||
|
||||
## Skills
|
||||
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| `schema-inference` | Infer data types and constraints from models/migrations |
|
||||
| `faker-patterns` | Realistic data generation patterns (names, emails, addresses, etc.) |
|
||||
| `relationship-resolution` | Foreign key and relationship-aware data generation |
|
||||
| `profile-management` | Seed profile definitions and sizing |
|
||||
| `visual-header` | Standard command output headers |
|
||||
|
||||
## MCP Server
|
||||
|
||||
**Not required.** Seed data is generated as files (JSON, SQL, CSV). Database insertion is handled by the application's own tooling.
|
||||
|
||||
## Integration Points
|
||||
|
||||
| Plugin | Integration |
|
||||
|--------|-------------|
|
||||
| saas-db-migrate | Schema models used as seed generation input |
|
||||
| data-platform | Generated data can be loaded via `/data ingest` |
|
||||
| saas-test-pilot | Seed data used in integration test fixtures |
|
||||
| projman | Issue labels: `Component/Data`, `Tech/Faker` |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Component | Estimated Tokens |
|
||||
|-----------|-----------------|
|
||||
| `claude-md-integration.md` | ~500 |
|
||||
| Dispatch file (`seed.md`) | ~200 |
|
||||
| 5 commands (avg) | ~3,000 |
|
||||
| 2 agents | ~1,000 |
|
||||
| 5 skills | ~2,000 |
|
||||
| **Total** | **~6,700** |
|
||||
|
||||
## Open Questions
|
||||
|
||||
- Should we support database-specific seed formats (pg_dump, mysqldump)?
|
||||
- Integration with Faker library or custom generation?
|
||||
@@ -1,70 +0,0 @@
|
||||
# Design: debug-mcp
|
||||
|
||||
**Domain:** `debug`
|
||||
**Target Version:** v9.8.0
|
||||
|
||||
## Purpose
|
||||
|
||||
MCP server debugging and development toolkit. Provides tools for inspecting MCP server health, testing tool calls, viewing server logs, and developing new MCP servers. Essential for marketplace developers building or troubleshooting MCP integrations.
|
||||
|
||||
## Target Users
|
||||
|
||||
- Plugin developers building MCP servers
|
||||
- Users troubleshooting MCP connectivity issues
|
||||
- Marketplace maintainers validating MCP configurations
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/debug-mcp status` | Show all MCP servers: running/failed, tool count, last error |
|
||||
| `/debug-mcp test` | Test a specific MCP tool call with sample input |
|
||||
| `/debug-mcp logs` | View recent MCP server stderr/stdout logs |
|
||||
| `/debug-mcp inspect` | Inspect MCP server config (.mcp.json entry, venv, dependencies) |
|
||||
| `/debug-mcp scaffold` | Generate MCP server skeleton (Python, stdio transport) |
|
||||
|
||||
## Agent Architecture
|
||||
|
||||
| Agent | Model | Mode | Role |
|
||||
|-------|-------|------|------|
|
||||
| `mcp-debugger` | sonnet | default | Server inspection, log analysis, scaffold generation |
|
||||
|
||||
Single agent is sufficient — this plugin is primarily diagnostic with one generative command.
|
||||
|
||||
## Skills
|
||||
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| `mcp-protocol` | MCP stdio protocol, tool/resource/prompt schemas |
|
||||
| `server-patterns` | Python MCP server patterns (FastMCP, raw protocol) |
|
||||
| `venv-diagnostics` | Virtual environment health checks, dependency validation |
|
||||
| `log-analysis` | MCP server error pattern recognition |
|
||||
| `visual-header` | Standard command output headers |
|
||||
|
||||
## MCP Server
|
||||
|
||||
**Not required.** This plugin inspects other MCP servers via file system (reading .mcp.json, checking venvs, reading logs). It does not need its own MCP server.
|
||||
|
||||
## Integration Points
|
||||
|
||||
| Plugin | Integration |
|
||||
|--------|-------------|
|
||||
| contract-validator | `/cv status` delegates to debug-mcp for detailed MCP diagnostics |
|
||||
| projman | `/projman setup` can invoke `/debug-mcp status` for post-setup verification |
|
||||
| All plugins with MCP | Debug-mcp can diagnose any MCP server in the marketplace |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Component | Estimated Tokens |
|
||||
|-----------|-----------------|
|
||||
| `claude-md-integration.md` | ~500 |
|
||||
| Dispatch file (`debug-mcp.md`) | ~200 |
|
||||
| 5 commands (avg) | ~3,000 |
|
||||
| 1 agent | ~600 |
|
||||
| 5 skills | ~2,000 |
|
||||
| **Total** | **~6,300** |
|
||||
|
||||
## Open Questions
|
||||
|
||||
- Should this plugin have a hook that auto-runs on MCP failure (SessionStart)?
|
||||
- Should `/debug-mcp scaffold` generate both Python and TypeScript templates?
|
||||
@@ -1,72 +0,0 @@
|
||||
# Design: ops-deploy-pipeline
|
||||
|
||||
**Domain:** `ops`
|
||||
**Target Version:** v9.7.0
|
||||
|
||||
## Purpose
|
||||
|
||||
CI/CD deployment pipeline management for Docker Compose and systemd-based services. Generates deployment configurations, validates pipeline definitions, and manages environment-specific settings. Tailored for self-hosted infrastructure (not cloud-native).
|
||||
|
||||
## Target Users
|
||||
|
||||
- Self-hosted service operators (Raspberry Pi, VPS, bare-metal)
|
||||
- Teams deploying via Docker Compose
|
||||
- Projects needing environment-specific configuration management
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/deploy setup` | Setup wizard — detect deployment method, configure targets |
|
||||
| `/deploy generate` | Generate docker-compose.yml, Caddyfile entries, systemd units |
|
||||
| `/deploy validate` | Validate deployment configs (ports, volumes, networks, env vars) |
|
||||
| `/deploy env` | Manage environment-specific config files (.env.production, etc.) |
|
||||
| `/deploy check` | Pre-deployment health check (disk, memory, port conflicts) |
|
||||
| `/deploy rollback` | Generate rollback plan for a deployment |
|
||||
|
||||
## Agent Architecture
|
||||
|
||||
| Agent | Model | Mode | Role |
|
||||
|-------|-------|------|------|
|
||||
| `deploy-planner` | sonnet | default | Configuration generation, rollback planning |
|
||||
| `deploy-validator` | haiku | plan | Read-only validation of configs and pre-flight checks |
|
||||
|
||||
## Skills
|
||||
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| `compose-patterns` | Docker Compose best practices, multi-service patterns |
|
||||
| `caddy-conventions` | Caddyfile reverse proxy patterns, subdomain routing |
|
||||
| `env-management` | Environment variable management across environments |
|
||||
| `health-checks` | Pre-deployment system health validation |
|
||||
| `rollback-patterns` | Deployment rollback strategies |
|
||||
| `visual-header` | Standard command output headers |
|
||||
|
||||
## MCP Server
|
||||
|
||||
**Not required initially.** Could add SSH-based remote execution MCP server in the future for remote deployment.
|
||||
|
||||
## Integration Points
|
||||
|
||||
| Plugin | Integration |
|
||||
|--------|-------------|
|
||||
| cmdb-assistant | Deployment targets pulled from NetBox device inventory |
|
||||
| ops-release-manager | Release tags trigger deployment preparation |
|
||||
| projman | Issue labels: `Component/Infra`, `Tech/Docker`, `Tech/Caddy` |
|
||||
| code-sentinel | Security scan of deployment configs (exposed ports, secrets in env) |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Component | Estimated Tokens |
|
||||
|-----------|-----------------|
|
||||
| `claude-md-integration.md` | ~700 |
|
||||
| Dispatch file (`deploy.md`) | ~200 |
|
||||
| 6 commands (avg) | ~3,600 |
|
||||
| 2 agents | ~1,200 |
|
||||
| 6 skills | ~2,500 |
|
||||
| **Total** | **~8,200** |
|
||||
|
||||
## Open Questions
|
||||
|
||||
- Should this support Kubernetes/Helm for users who need it?
|
||||
- SSH-based remote execution via MCP server for actual deployments?
|
||||
@@ -1,71 +0,0 @@
|
||||
# Design: ops-release-manager
|
||||
|
||||
**Domain:** `ops`
|
||||
**Target Version:** v9.6.0
|
||||
|
||||
## Purpose
|
||||
|
||||
Release management automation including semantic versioning, changelog generation, release branch creation, and tag management. Coordinates the release process across git, changelogs, and package manifests.
|
||||
|
||||
## Target Users
|
||||
|
||||
- Project maintainers managing releases
|
||||
- Teams following SemVer and conventional commits
|
||||
- Projects with multiple version locations to keep in sync
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/release setup` | Setup wizard — detect version locations, configure release flow |
|
||||
| `/release prepare` | Prepare release: bump versions, update changelog, create branch |
|
||||
| `/release validate` | Pre-release checks (clean tree, tests pass, changelog has content) |
|
||||
| `/release tag` | Create and push git tag with release notes |
|
||||
| `/release rollback` | Revert a release (delete tag, revert version bump commit) |
|
||||
| `/release status` | Show current version, unreleased changes, next version suggestion |
|
||||
|
||||
## Agent Architecture
|
||||
|
||||
| Agent | Model | Mode | Role |
|
||||
|-------|-------|------|------|
|
||||
| `release-coordinator` | sonnet | acceptEdits | Version bumping, changelog updates, branch/tag creation |
|
||||
| `release-validator` | haiku | plan | Pre-release validation, dependency checks |
|
||||
|
||||
## Skills
|
||||
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| `version-detection` | Find version locations (package.json, pyproject.toml, marketplace.json, etc.) |
|
||||
| `semver-rules` | SemVer bump logic based on conventional commits |
|
||||
| `changelog-conventions` | Keep a Changelog format, unreleased section management |
|
||||
| `release-workflow` | Branch-based vs tag-based release patterns |
|
||||
| `visual-header` | Standard command output headers |
|
||||
|
||||
## MCP Server
|
||||
|
||||
**Not required.** All operations are git and file-based.
|
||||
|
||||
## Integration Points
|
||||
|
||||
| Plugin | Integration |
|
||||
|--------|-------------|
|
||||
| git-flow | `/release prepare` uses gitflow conventions for branch creation |
|
||||
| doc-guardian | `/release validate` checks documentation is up to date |
|
||||
| projman | Sprint close can trigger `/release prepare` for sprint-based releases |
|
||||
| ops-deploy-pipeline | Release tags trigger deployment pipeline |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Component | Estimated Tokens |
|
||||
|-----------|-----------------|
|
||||
| `claude-md-integration.md` | ~600 |
|
||||
| Dispatch file (`release.md`) | ~200 |
|
||||
| 6 commands (avg) | ~3,600 |
|
||||
| 2 agents | ~1,200 |
|
||||
| 5 skills | ~2,000 |
|
||||
| **Total** | **~7,600** |
|
||||
|
||||
## Open Questions
|
||||
|
||||
- Should this subsume the existing `release.sh` script in this repo?
|
||||
- Support for GitHub Releases / Gitea Releases API via MCP?
|
||||
@@ -1,71 +0,0 @@
|
||||
# Design: saas-api-platform
|
||||
|
||||
**Domain:** `saas`
|
||||
**Target Version:** v9.1.0
|
||||
|
||||
## Purpose
|
||||
|
||||
Provides scaffolding, validation, and development workflow tools for REST and GraphQL API backends. Supports FastAPI (Python) and Express (Node.js) with OpenAPI spec generation, route validation, and middleware management.
|
||||
|
||||
## Target Users
|
||||
|
||||
- Backend developers building API services
|
||||
- Teams using FastAPI or Express frameworks
|
||||
- Projects requiring OpenAPI/Swagger documentation
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/api setup` | Setup wizard — detect framework, configure MCP server |
|
||||
| `/api scaffold` | Generate API routes, models, schemas from spec or description |
|
||||
| `/api validate` | Validate routes against OpenAPI spec, check missing endpoints |
|
||||
| `/api docs` | Generate/update OpenAPI spec from code annotations |
|
||||
| `/api test-routes` | Generate request/response test cases for API endpoints |
|
||||
| `/api middleware` | Add/configure middleware (auth, CORS, rate-limiting, logging) |
|
||||
|
||||
## Agent Architecture
|
||||
|
||||
| Agent | Model | Mode | Role |
|
||||
|-------|-------|------|------|
|
||||
| `api-architect` | sonnet | default | Route design, schema generation, middleware planning |
|
||||
| `api-validator` | haiku | plan | Read-only validation of routes against spec |
|
||||
|
||||
## Skills
|
||||
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| `framework-detection` | Detect FastAPI vs Express, identify project structure |
|
||||
| `openapi-conventions` | OpenAPI 3.x spec generation rules and patterns |
|
||||
| `route-patterns` | RESTful route naming, versioning, pagination conventions |
|
||||
| `middleware-catalog` | Common middleware patterns per framework |
|
||||
| `visual-header` | Standard command output headers |
|
||||
|
||||
## MCP Server
|
||||
|
||||
**Not required.** All operations are file-based (reading/writing code and specs). No external API needed.
|
||||
|
||||
## Integration Points
|
||||
|
||||
| Plugin | Integration |
|
||||
|--------|-------------|
|
||||
| projman | Issue labels: `Component/API`, `Tech/FastAPI`, `Tech/Express` |
|
||||
| code-sentinel | PreToolUse hook scans generated routes for security issues |
|
||||
| saas-test-pilot | `/api test-routes` generates stubs consumable by test-pilot |
|
||||
| saas-db-migrate | Schema models shared between API models and migrations |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Component | Estimated Tokens |
|
||||
|-----------|-----------------|
|
||||
| `claude-md-integration.md` | ~800 |
|
||||
| Dispatch file (`api.md`) | ~200 |
|
||||
| 6 commands (avg) | ~3,600 |
|
||||
| 2 agents | ~1,200 |
|
||||
| 5 skills | ~2,500 |
|
||||
| **Total** | **~8,300** |
|
||||
|
||||
## Open Questions
|
||||
|
||||
- Should MCP server be added later for live API testing (curl-like requests)?
|
||||
- Support for gRPC/tRPC in addition to REST/GraphQL?
|
||||
@@ -1,71 +0,0 @@
|
||||
# Design: saas-db-migrate
|
||||
|
||||
**Domain:** `saas`
|
||||
**Target Version:** v9.2.0
|
||||
|
||||
## Purpose
|
||||
|
||||
Database migration management for SQL databases. Supports Alembic (Python/SQLAlchemy), Prisma (Node.js), and raw SQL migrations. Provides migration generation, validation, rollback planning, and drift detection.
|
||||
|
||||
## Target Users
|
||||
|
||||
- Backend developers managing database schemas
|
||||
- Teams using SQLAlchemy/Alembic or Prisma
|
||||
- Projects needing migration safety checks before deployment
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/db-migrate setup` | Setup wizard — detect ORM/migration tool, configure paths |
|
||||
| `/db-migrate generate` | Generate migration from model diff or description |
|
||||
| `/db-migrate validate` | Check migration safety (destructive ops, data loss risk, locking) |
|
||||
| `/db-migrate plan` | Show migration execution plan with rollback strategy |
|
||||
| `/db-migrate history` | Display migration history and current state |
|
||||
| `/db-migrate rollback` | Generate rollback migration for a given migration |
|
||||
|
||||
## Agent Architecture
|
||||
|
||||
| Agent | Model | Mode | Role |
|
||||
|-------|-------|------|------|
|
||||
| `migration-planner` | sonnet | default | Migration generation, rollback planning |
|
||||
| `migration-auditor` | haiku | plan | Read-only safety validation (destructive op detection) |
|
||||
|
||||
## Skills
|
||||
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| `orm-detection` | Detect Alembic vs Prisma vs raw SQL, identify config |
|
||||
| `migration-safety` | Rules for detecting destructive operations (DROP, ALTER, data loss) |
|
||||
| `rollback-patterns` | Standard rollback generation patterns per tool |
|
||||
| `naming-conventions` | Migration file naming and ordering conventions |
|
||||
| `visual-header` | Standard command output headers |
|
||||
|
||||
## MCP Server
|
||||
|
||||
**Not required.** Migrations are file-based. Database connectivity is handled by the ORM tool itself, not by Claude.
|
||||
|
||||
## Integration Points
|
||||
|
||||
| Plugin | Integration |
|
||||
|--------|-------------|
|
||||
| projman | Issue labels: `Component/Database`, `Tech/SQLAlchemy`, `Tech/Prisma` |
|
||||
| saas-api-platform | Schema models shared between API and migration layers |
|
||||
| code-sentinel | Migration validation as part of security scan |
|
||||
| data-platform | PostgreSQL tools can inspect live schema for drift detection |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Component | Estimated Tokens |
|
||||
|-----------|-----------------|
|
||||
| `claude-md-integration.md` | ~600 |
|
||||
| Dispatch file (`db-migrate.md`) | ~200 |
|
||||
| 6 commands (avg) | ~3,600 |
|
||||
| 2 agents | ~1,200 |
|
||||
| 5 skills | ~2,000 |
|
||||
| **Total** | **~7,600** |
|
||||
|
||||
## Open Questions
|
||||
|
||||
- Should this integrate with data-platform's PostgreSQL MCP server for live schema comparison?
|
||||
- Support for NoSQL migration tools (Mongoose, etc.)?
|
||||
@@ -1,73 +0,0 @@
|
||||
# Design: saas-react-platform
|
||||
|
||||
**Domain:** `saas`
|
||||
**Target Version:** v9.4.0
|
||||
|
||||
## Purpose
|
||||
|
||||
React frontend development toolkit with component scaffolding, routing setup, state management patterns, and build configuration. Supports Next.js and Vite-based React projects with TypeScript.
|
||||
|
||||
## Target Users
|
||||
|
||||
- Frontend developers building React applications
|
||||
- Teams using Next.js or Vite + React
|
||||
- Projects needing consistent component architecture
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/react setup` | Setup wizard — detect framework (Next.js/Vite), configure paths |
|
||||
| `/react component` | Scaffold React component with props, types, tests, stories |
|
||||
| `/react route` | Add route with page component, loader, and error boundary |
|
||||
| `/react state` | Set up state management pattern (Context, Zustand, Redux Toolkit) |
|
||||
| `/react hook` | Generate custom hook with TypeScript types and tests |
|
||||
| `/react lint` | Validate component tree, check prop drilling, detect anti-patterns |
|
||||
|
||||
## Agent Architecture
|
||||
|
||||
| Agent | Model | Mode | Role |
|
||||
|-------|-------|------|------|
|
||||
| `react-architect` | sonnet | default | Component design, routing, state management |
|
||||
| `react-auditor` | haiku | plan | Read-only lint and anti-pattern detection |
|
||||
|
||||
## Skills
|
||||
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| `framework-detection` | Detect Next.js vs Vite, App Router vs Pages Router |
|
||||
| `component-patterns` | Standard component structure, naming, file organization |
|
||||
| `state-patterns` | State management patterns and when to use each |
|
||||
| `routing-conventions` | Route naming, dynamic routes, middleware patterns |
|
||||
| `typescript-patterns` | TypeScript utility types, generics, prop typing |
|
||||
| `visual-header` | Standard command output headers |
|
||||
|
||||
## MCP Server
|
||||
|
||||
**Not required.** All operations are file-based (component generation, route configuration).
|
||||
|
||||
## Integration Points
|
||||
|
||||
| Plugin | Integration |
|
||||
|--------|-------------|
|
||||
| projman | Issue labels: `Component/Frontend`, `Tech/React`, `Tech/Next.js` |
|
||||
| viz-platform | DMC components integrate with React component architecture |
|
||||
| saas-api-platform | API client generation from OpenAPI spec |
|
||||
| saas-test-pilot | Component test generation via `/react component` |
|
||||
| code-sentinel | Security scan for XSS, unsafe HTML, client-side secrets |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Component | Estimated Tokens |
|
||||
|-----------|-----------------|
|
||||
| `claude-md-integration.md` | ~800 |
|
||||
| Dispatch file (`react.md`) | ~200 |
|
||||
| 6 commands (avg) | ~3,600 |
|
||||
| 2 agents | ~1,200 |
|
||||
| 6 skills | ~3,000 |
|
||||
| **Total** | **~8,800** |
|
||||
|
||||
## Open Questions
|
||||
|
||||
- Should we support Vue.js/Svelte as alternative frameworks?
|
||||
- Integration with Storybook for component documentation?
|
||||
@@ -1,73 +0,0 @@
|
||||
# Design: saas-test-pilot
|
||||
|
||||
**Domain:** `saas`
|
||||
**Target Version:** v9.5.0
|
||||
|
||||
## Purpose
|
||||
|
||||
Test automation toolkit supporting unit, integration, and end-to-end testing. Generates test cases from code analysis, manages test fixtures, and provides coverage analysis with gap detection.
|
||||
|
||||
## Target Users
|
||||
|
||||
- Developers writing tests for Python or JavaScript/TypeScript projects
|
||||
- Teams enforcing test coverage requirements
|
||||
- Projects needing test generation from existing code
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/test setup` | Setup wizard — detect test framework, configure paths |
|
||||
| `/test generate` | Generate test cases for functions/classes/modules |
|
||||
| `/test coverage` | Analyze test coverage and identify untested code paths |
|
||||
| `/test fixtures` | Generate or manage test fixtures and mocks |
|
||||
| `/test e2e` | Generate end-to-end test scenarios from user stories |
|
||||
| `/test run` | Run tests with formatted output and failure analysis |
|
||||
|
||||
## Agent Architecture
|
||||
|
||||
| Agent | Model | Mode | Role |
|
||||
|-------|-------|------|------|
|
||||
| `test-architect` | sonnet | acceptEdits | Test generation, fixture creation, e2e scenarios |
|
||||
| `coverage-analyst` | haiku | plan | Read-only coverage analysis and gap detection |
|
||||
|
||||
## Skills
|
||||
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| `framework-detection` | Detect pytest/Jest/Vitest/Playwright, identify config |
|
||||
| `test-patterns` | Unit/integration/e2e test patterns and best practices |
|
||||
| `mock-patterns` | Mocking strategies for different dependency types |
|
||||
| `coverage-analysis` | Coverage gap detection and prioritization |
|
||||
| `fixture-management` | Fixture organization, factories, builders |
|
||||
| `visual-header` | Standard command output headers |
|
||||
|
||||
## MCP Server
|
||||
|
||||
**Not required.** Test generation is file-based. Test execution uses the project's own test runner via Bash.
|
||||
|
||||
## Integration Points
|
||||
|
||||
| Plugin | Integration |
|
||||
|--------|-------------|
|
||||
| projman | `/sprint test` delegates to test-pilot when installed |
|
||||
| saas-api-platform | API route tests generated from `/api test-routes` |
|
||||
| saas-react-platform | Component tests generated alongside components |
|
||||
| data-seed | Test fixtures use seed data profiles |
|
||||
| code-sentinel | Security test patterns included in generation |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Component | Estimated Tokens |
|
||||
|-----------|-----------------|
|
||||
| `claude-md-integration.md` | ~700 |
|
||||
| Dispatch file (`test.md`) | ~200 |
|
||||
| 6 commands (avg) | ~3,600 |
|
||||
| 2 agents | ~1,200 |
|
||||
| 6 skills | ~2,500 |
|
||||
| **Total** | **~8,200** |
|
||||
|
||||
## Open Questions
|
||||
|
||||
- Should `/test run` replace projman's `/sprint test run` or supplement it?
|
||||
- Support for property-based testing (Hypothesis, fast-check)?
|
||||
@@ -1,9 +0,0 @@
|
||||
# Prompt Index
|
||||
|
||||
Tracks execution status of structured prompts used for marketplace evolution and maintenance.
|
||||
|
||||
| ID | Title | Status | Date | Version |
|
||||
|----|-------|--------|------|---------|
|
||||
| 001 | Phase 1 Evolution — Domain Metadata + Hook Migration | executed | 2026-02-06 | 8.0.0 → 8.1.0 |
|
||||
| 002 | Phase 1b — Command Consolidation + 8 New Plugins | executed | 2026-02-06 | 8.1.0 → 9.0.0 |
|
||||
| 003 | Post-Evolution Cleanup — Stale References and Migration Guide Fixes | executed | 2026-02-06 | 9.0.0 → 9.0.1 |
|
||||
3
plugins/clarity-assist/.claude-plugin/metadata.json
Normal file
3
plugins/clarity-assist/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "core"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "clarity-assist",
|
||||
"version": "1.2.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Prompt optimization and requirement clarification with ND-friendly accommodations",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -18,6 +18,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "core"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "core"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "claude-config-maintainer",
|
||||
"version": "1.2.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Maintains and optimizes CLAUDE.md and settings.local.json configuration files for Claude Code projects",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -20,6 +20,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "core"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{"mcp_servers": ["netbox"]}
|
||||
{
|
||||
"mcp_servers": [
|
||||
"netbox"
|
||||
],
|
||||
"domain": "ops"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cmdb-assistant",
|
||||
"version": "1.2.0",
|
||||
"version": "9.0.1",
|
||||
"description": "NetBox CMDB integration with data quality validation - query, create, update, and manage network devices, IP addresses, sites, and more with best practices enforcement",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -21,6 +21,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "ops"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/code-sentinel/.claude-plugin/metadata.json
Normal file
3
plugins/code-sentinel/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "core"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "code-sentinel",
|
||||
"description": "Security scanning and code refactoring tools",
|
||||
"version": "1.0.1",
|
||||
"version": "9.0.1",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
@@ -18,6 +18,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "core"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{"mcp_servers": ["contract-validator"]}
|
||||
{
|
||||
"mcp_servers": [
|
||||
"contract-validator"
|
||||
],
|
||||
"domain": "core"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "contract-validator",
|
||||
"version": "1.2.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Cross-plugin compatibility validation and Claude.md agent verification",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -19,6 +19,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "core"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{"mcp_servers": ["data-platform"]}
|
||||
{
|
||||
"mcp_servers": [
|
||||
"data-platform"
|
||||
],
|
||||
"domain": "data"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "data-platform",
|
||||
"version": "1.3.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -20,6 +20,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "data"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/data-seed/.claude-plugin/metadata.json
Normal file
3
plugins/data-seed/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "data"
|
||||
}
|
||||
@@ -20,6 +20,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "data"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/debug-mcp/.claude-plugin/metadata.json
Normal file
3
plugins/debug-mcp/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "debug"
|
||||
}
|
||||
@@ -20,6 +20,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "debug"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{"mcp_servers": ["gitea"]}
|
||||
{
|
||||
"mcp_servers": [
|
||||
"gitea"
|
||||
],
|
||||
"domain": "core"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "doc-guardian",
|
||||
"description": "Automatic documentation drift detection and synchronization",
|
||||
"version": "1.1.0",
|
||||
"version": "9.0.1",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
@@ -18,6 +18,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "core"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -22,11 +22,11 @@ Apply all pending documentation updates detected by `/doc audit`.
|
||||
|
||||
## Process
|
||||
|
||||
1. **Review Pending Queue**
|
||||
Execute `skills/sync-workflow.md` - read `.doc-guardian-queue`
|
||||
1. **Detect Drift**
|
||||
Run `/doc audit` first (or use its most recent results) to identify documentation that is out of sync with code.
|
||||
|
||||
2. **Batch Updates**
|
||||
For each pending item:
|
||||
For each drift item:
|
||||
- Show the specific change needed
|
||||
- Apply the update
|
||||
- Track in change list
|
||||
@@ -36,8 +36,5 @@ Apply all pending documentation updates detected by `/doc audit`.
|
||||
- Single commit: `docs: sync documentation with code changes`
|
||||
- Include summary in commit body
|
||||
|
||||
4. **Clear Queue**
|
||||
After successful sync, clear the queue file
|
||||
|
||||
5. **Output**
|
||||
4. **Output**
|
||||
Use format from `skills/sync-workflow.md`
|
||||
|
||||
@@ -16,20 +16,11 @@ Defines how to synchronize documentation with code changes.
|
||||
|
||||
---
|
||||
|
||||
## Queue File
|
||||
## Drift Detection
|
||||
|
||||
Location: `.doc-guardian-queue` in project root
|
||||
Run `/doc audit` to detect documentation drift. The audit produces a list of files and changes that need synchronization. Use those results as input to the sync process below.
|
||||
|
||||
Format:
|
||||
```
|
||||
# Doc Guardian Queue
|
||||
# Generated: YYYY-MM-DD HH:MM:SS
|
||||
|
||||
## Pending Updates
|
||||
- README.md:45 | reference | calculate_total -> compute_total
|
||||
- CLAUDE.md:23 | version | Python 3.9 -> 3.11
|
||||
- src/api/README.md:12 | path | old/path.py -> new/path.py
|
||||
```
|
||||
> **Note:** The queue file (`.doc-guardian-queue`) was removed in v8.1.0 when the PostToolUse hook was deleted (Decision #29). Drift detection is now manual via `/doc audit`.
|
||||
|
||||
---
|
||||
|
||||
@@ -55,9 +46,9 @@ Format:
|
||||
|
||||
## Sync Process
|
||||
|
||||
1. **Review Queue**
|
||||
- Read `.doc-guardian-queue`
|
||||
- List all pending items
|
||||
1. **Review Drift Results**
|
||||
- Use output from `/doc audit`
|
||||
- List all items needing sync
|
||||
|
||||
2. **Batch Updates**
|
||||
- Apply each update
|
||||
@@ -68,11 +59,6 @@ Format:
|
||||
- Single commit: `docs: sync documentation with code changes`
|
||||
- Include summary in commit body
|
||||
|
||||
4. **Clear Queue**
|
||||
```bash
|
||||
echo "# Doc Guardian Queue - cleared after sync on $(date +%Y-%m-%d)" > .doc-guardian-queue
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Output Format
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{"mcp_servers": ["gitea"]}
|
||||
{
|
||||
"mcp_servers": [
|
||||
"gitea"
|
||||
],
|
||||
"domain": "core"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "git-flow",
|
||||
"version": "1.2.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Git workflow automation with intelligent commit messages and branch management",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -18,6 +18,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "core"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/ops-deploy-pipeline/.claude-plugin/metadata.json
Normal file
3
plugins/ops-deploy-pipeline/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "ops"
|
||||
}
|
||||
@@ -20,6 +20,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "ops"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/ops-release-manager/.claude-plugin/metadata.json
Normal file
3
plugins/ops-release-manager/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "ops"
|
||||
}
|
||||
@@ -20,6 +20,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "ops"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{"mcp_servers": ["gitea"]}
|
||||
{
|
||||
"mcp_servers": [
|
||||
"gitea"
|
||||
],
|
||||
"domain": "core"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "pr-review",
|
||||
"version": "1.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Multi-agent pull request review with confidence scoring and actionable feedback",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -18,6 +18,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "core"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/project-hygiene/.claude-plugin/metadata.json
Normal file
3
plugins/project-hygiene/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "core"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "project-hygiene",
|
||||
"version": "0.1.0",
|
||||
"description": "Post-task cleanup hook that removes temp files, warns about unexpected root files, and manages orphaned supporting files",
|
||||
"version": "9.0.1",
|
||||
"description": "Manual project hygiene checks — temp files, misplaced files, empty dirs, debug artifacts",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
@@ -12,10 +12,10 @@
|
||||
"keywords": [
|
||||
"cleanup",
|
||||
"hygiene",
|
||||
"automation",
|
||||
"hooks",
|
||||
"maintenance"
|
||||
"maintenance",
|
||||
"manual-check"
|
||||
],
|
||||
"domain": "core",
|
||||
"commands": ["./commands/"]
|
||||
"commands": [
|
||||
"./commands/"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{"mcp_servers": ["gitea"]}
|
||||
{
|
||||
"mcp_servers": [
|
||||
"gitea"
|
||||
],
|
||||
"domain": "core"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "projman",
|
||||
"version": "3.4.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Sprint planning and project management with Gitea integration",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -18,6 +18,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "core"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -33,25 +33,37 @@ If Python < 3.10, stop and ask user to install.
|
||||
|
||||
### Phase 2: MCP Server Setup
|
||||
|
||||
1. **Locate Plugin Installation**
|
||||
1. **Locate Marketplace Installation**
|
||||
```bash
|
||||
ls ~/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/gitea/
|
||||
MKTPLACE_DIR=$(find ~/.claude/plugins/marketplaces -maxdepth 1 -name "leo-claude-mktplace" -type d 2>/dev/null)
|
||||
echo "Marketplace at: $MKTPLACE_DIR"
|
||||
```
|
||||
If not found, stop — marketplace not installed.
|
||||
|
||||
2. **Check Virtual Environment**
|
||||
2. **Run setup-venvs.sh**
|
||||
```bash
|
||||
ls ~/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/gitea/venv/
|
||||
cd "$MKTPLACE_DIR" && ./scripts/setup-venvs.sh
|
||||
```
|
||||
This handles all 5 MCP servers (gitea, netbox, data-platform, viz-platform, contract-validator):
|
||||
- Creates venvs in `~/.cache/claude-mcp-venvs/leo-claude-mktplace/{server}/.venv/`
|
||||
- Installs requirements and editable packages
|
||||
- Creates symlinks back to `mcp-servers/{server}/.venv`
|
||||
- Uses hash-based change detection for incremental updates
|
||||
|
||||
3. **Create venv if Missing**
|
||||
3. **Verify**
|
||||
```bash
|
||||
cd ~/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/gitea/
|
||||
python3 -m venv venv
|
||||
./venv/bin/pip install -r requirements.txt
|
||||
cd "$MKTPLACE_DIR" && ./scripts/setup-venvs.sh --check
|
||||
```
|
||||
All 5 servers should report OK.
|
||||
|
||||
4. **Optional: NetBox MCP Setup**
|
||||
Ask user if they need NetBox integration.
|
||||
4. **If setup-venvs.sh fails**, fall back to manual per-server setup:
|
||||
```bash
|
||||
cd "$MKTPLACE_DIR/mcp-servers/gitea"
|
||||
python3 -m venv .venv
|
||||
.venv/bin/pip install -r requirements.txt
|
||||
[ -f pyproject.toml ] && .venv/bin/pip install -e .
|
||||
```
|
||||
Repeat for each server the user needs.
|
||||
|
||||
### Phase 3: System-Level Configuration
|
||||
|
||||
|
||||
3
plugins/saas-api-platform/.claude-plugin/metadata.json
Normal file
3
plugins/saas-api-platform/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "saas"
|
||||
}
|
||||
@@ -21,6 +21,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "saas"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/saas-db-migrate/.claude-plugin/metadata.json
Normal file
3
plugins/saas-db-migrate/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "saas"
|
||||
}
|
||||
@@ -20,6 +20,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "saas"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/saas-react-platform/.claude-plugin/metadata.json
Normal file
3
plugins/saas-react-platform/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "saas"
|
||||
}
|
||||
@@ -21,6 +21,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "saas"
|
||||
]
|
||||
}
|
||||
|
||||
3
plugins/saas-test-pilot/.claude-plugin/metadata.json
Normal file
3
plugins/saas-test-pilot/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"domain": "saas"
|
||||
}
|
||||
@@ -21,6 +21,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "saas"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{"mcp_servers": ["viz-platform"]}
|
||||
{
|
||||
"mcp_servers": [
|
||||
"viz-platform"
|
||||
],
|
||||
"domain": "data"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "viz-platform",
|
||||
"version": "1.1.0",
|
||||
"version": "9.0.1",
|
||||
"description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
@@ -21,6 +21,5 @@
|
||||
],
|
||||
"commands": [
|
||||
"./commands/"
|
||||
],
|
||||
"domain": "data"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# check-venv.sh - Check if MCP server venvs exist in installed marketplace
|
||||
#
|
||||
# Usage: ./scripts/check-venv.sh
|
||||
#
|
||||
# Exit codes:
|
||||
# 0 - All venvs exist (or not installed via marketplace)
|
||||
# 1 - Venvs missing, needs setup
|
||||
#
|
||||
# This script is designed to be called from SessionStart hooks
|
||||
# to enable self-healing MCP server setup.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Installed marketplace location
|
||||
MKTPLACE="$HOME/.claude/plugins/marketplaces/leo-claude-mktplace"
|
||||
|
||||
# If not installed via marketplace, exit silently
|
||||
if [[ ! -d "$MKTPLACE" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Check if gitea venv exists
|
||||
if [[ ! -f "$MKTPLACE/mcp-servers/gitea/.venv/bin/python" ]]; then
|
||||
echo "SETUP_NEEDED"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if netbox venv exists
|
||||
if [[ ! -f "$MKTPLACE/mcp-servers/netbox/.venv/bin/python" ]]; then
|
||||
echo "SETUP_NEEDED"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# All good
|
||||
exit 0
|
||||
@@ -1,61 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Switch between marketplace profiles
|
||||
# Usage: ./scripts/switch-profile.sh [lean|full]
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "⚠️ DEPRECATED: use scripts/claude-launch.sh instead." >&2
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
MARKETPLACE_DIR="$ROOT_DIR/.claude-plugin"
|
||||
|
||||
case "${1:-lean}" in
|
||||
lean)
|
||||
cp "$MARKETPLACE_DIR/marketplace-lean.json" "$MARKETPLACE_DIR/marketplace.json"
|
||||
cp "$ROOT_DIR/.mcp-lean.json" "$ROOT_DIR/.mcp.json"
|
||||
rm -rf ~/.claude/plugins/cache/
|
||||
echo "Switched to LEAN profile (6 plugins, 1 MCP server)"
|
||||
echo "Plugin cache cleared."
|
||||
echo ""
|
||||
echo "Plugins: projman, git-flow, pr-review, clarity-assist, code-sentinel, doc-guardian"
|
||||
echo "MCP: gitea only"
|
||||
echo ""
|
||||
echo "Restart Claude Code session for changes to take effect."
|
||||
;;
|
||||
full)
|
||||
cp "$MARKETPLACE_DIR/marketplace-full.json" "$MARKETPLACE_DIR/marketplace.json"
|
||||
cp "$ROOT_DIR/.mcp-full.json" "$ROOT_DIR/.mcp.json"
|
||||
rm -rf ~/.claude/plugins/cache/
|
||||
echo "Switched to FULL profile (12 plugins, 5 MCP servers)"
|
||||
echo "Plugin cache cleared."
|
||||
echo ""
|
||||
echo "Plugins: all"
|
||||
echo "MCP: gitea, netbox, data-platform, viz-platform, contract-validator"
|
||||
echo ""
|
||||
echo "Restart Claude Code session for changes to take effect."
|
||||
;;
|
||||
status)
|
||||
# Check current profile by comparing files
|
||||
if diff -q "$MARKETPLACE_DIR/marketplace.json" "$MARKETPLACE_DIR/marketplace-lean.json" >/dev/null 2>&1; then
|
||||
echo "Current profile: LEAN (6 plugins, 1 MCP server)"
|
||||
elif diff -q "$MARKETPLACE_DIR/marketplace.json" "$MARKETPLACE_DIR/marketplace-full.json" >/dev/null 2>&1; then
|
||||
echo "Current profile: FULL (12 plugins, 5 MCP servers)"
|
||||
else
|
||||
echo "Current profile: CUSTOM (marketplace.json differs from both profiles)"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 [lean|full|status]"
|
||||
echo ""
|
||||
echo "Profiles:"
|
||||
echo " lean — 6 core plugins (projman, git-flow, pr-review, clarity-assist, code-sentinel, doc-guardian)"
|
||||
echo " 1 MCP server (gitea only)"
|
||||
echo " full — All 12 plugins"
|
||||
echo " 5 MCP servers (gitea, netbox, data-platform, viz-platform, contract-validator)"
|
||||
echo " status — Show current profile"
|
||||
echo ""
|
||||
echo "Note: Restart Claude Code session after switching for changes to take effect."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -92,17 +92,23 @@ for i in $(seq 0 $((PLUGIN_COUNT - 1))); do
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# v8.0.0: Check domain field
|
||||
PLUGIN_DOMAIN=$(jq -r ".plugins[$i].domain // empty" "$MARKETPLACE_JSON")
|
||||
# v8.0.0/v9.1.2: Check domain field in metadata.json (moved from marketplace.json for schema compliance)
|
||||
PLUGIN_SOURCE=$(jq -r ".plugins[$i].source" "$MARKETPLACE_JSON")
|
||||
METADATA_JSON="$ROOT_DIR/$PLUGIN_SOURCE/.claude-plugin/metadata.json"
|
||||
if [[ -f "$METADATA_JSON" ]]; then
|
||||
PLUGIN_DOMAIN=$(jq -r '.domain // empty' "$METADATA_JSON")
|
||||
else
|
||||
PLUGIN_DOMAIN=""
|
||||
fi
|
||||
if [[ -z "$PLUGIN_DOMAIN" ]]; then
|
||||
echo "ERROR: Missing 'domain' in marketplace entry for $PLUGIN_NAME (required v8.0.0+)"
|
||||
echo "ERROR: Missing 'domain' in $PLUGIN_NAME/.claude-plugin/metadata.json (required v8.0.0+)"
|
||||
exit 1
|
||||
fi
|
||||
if ! echo "$VALID_DOMAINS" | grep -qw "$PLUGIN_DOMAIN"; then
|
||||
echo "ERROR: Invalid domain '$PLUGIN_DOMAIN' in marketplace entry for $PLUGIN_NAME (allowed: $VALID_DOMAINS)"
|
||||
echo "ERROR: Invalid domain '$PLUGIN_DOMAIN' in $PLUGIN_NAME/metadata.json (allowed: $VALID_DOMAINS)"
|
||||
exit 1
|
||||
fi
|
||||
echo " ✓ domain: $PLUGIN_DOMAIN"
|
||||
echo " ✓ domain: $PLUGIN_DOMAIN (from metadata.json)"
|
||||
|
||||
echo "✓ Marketplace entry $PLUGIN_NAME valid"
|
||||
done
|
||||
@@ -158,17 +164,22 @@ for plugin_dir in "$PLUGINS_DIR"/*/; do
|
||||
echo "WARNING: Missing 'keywords' array in $plugin_name/plugin.json"
|
||||
fi
|
||||
|
||||
# v8.0.0: Check domain field in plugin.json
|
||||
PLUGIN_DOMAIN_PJ=$(jq -r '.domain // empty' "$plugin_json")
|
||||
if [[ -z "$PLUGIN_DOMAIN_PJ" ]]; then
|
||||
echo "ERROR: Missing 'domain' in $plugin_name/plugin.json (required v8.0.0+)"
|
||||
# v8.0.0/v9.1.2: Check domain field in metadata.json (moved from plugin.json for schema compliance)
|
||||
metadata_json="$plugin_dir.claude-plugin/metadata.json"
|
||||
if [[ -f "$metadata_json" ]]; then
|
||||
PLUGIN_DOMAIN_MD=$(jq -r '.domain // empty' "$metadata_json")
|
||||
else
|
||||
PLUGIN_DOMAIN_MD=""
|
||||
fi
|
||||
if [[ -z "$PLUGIN_DOMAIN_MD" ]]; then
|
||||
echo "ERROR: Missing 'domain' in $plugin_name/.claude-plugin/metadata.json (required v8.0.0+)"
|
||||
exit 1
|
||||
fi
|
||||
if ! echo "$VALID_DOMAINS" | grep -qw "$PLUGIN_DOMAIN_PJ"; then
|
||||
echo "ERROR: Invalid domain '$PLUGIN_DOMAIN_PJ' in $plugin_name/plugin.json (allowed: $VALID_DOMAINS)"
|
||||
if ! echo "$VALID_DOMAINS" | grep -qw "$PLUGIN_DOMAIN_MD"; then
|
||||
echo "ERROR: Invalid domain '$PLUGIN_DOMAIN_MD' in $plugin_name/metadata.json (allowed: $VALID_DOMAINS)"
|
||||
exit 1
|
||||
fi
|
||||
echo " ✓ domain: $PLUGIN_DOMAIN_PJ"
|
||||
echo " ✓ domain: $PLUGIN_DOMAIN_MD (from metadata.json)"
|
||||
|
||||
# Check README exists
|
||||
if [[ ! -f "$plugin_dir/README.md" ]]; then
|
||||
@@ -324,20 +335,23 @@ if [[ ! -f "$ROOT_DIR/.mcp.json" ]]; then
|
||||
fi
|
||||
echo "✓ .mcp.json configuration exists"
|
||||
|
||||
# v8.0.0: Cross-validate domains match between marketplace.json and plugin.json
|
||||
# v8.0.0/v9.1.2: Validate domain in metadata.json for all plugins (single source of truth)
|
||||
echo ""
|
||||
echo "=== Cross-Validating Domain Fields ==="
|
||||
for i in $(seq 0 $((PLUGIN_COUNT - 1))); do
|
||||
PLUGIN_NAME=$(jq -r ".plugins[$i].name" "$MARKETPLACE_JSON")
|
||||
MARKETPLACE_DOMAIN=$(jq -r ".plugins[$i].domain" "$MARKETPLACE_JSON")
|
||||
PLUGIN_JSON_PATH="$PLUGINS_DIR/$PLUGIN_NAME/.claude-plugin/plugin.json"
|
||||
if [[ -f "$PLUGIN_JSON_PATH" ]]; then
|
||||
PLUGIN_DOMAIN=$(jq -r '.domain' "$PLUGIN_JSON_PATH")
|
||||
if [[ "$MARKETPLACE_DOMAIN" != "$PLUGIN_DOMAIN" ]]; then
|
||||
echo "ERROR: Domain mismatch for $PLUGIN_NAME: marketplace.json='$MARKETPLACE_DOMAIN' vs plugin.json='$PLUGIN_DOMAIN'"
|
||||
echo "=== Validating Domain Fields (metadata.json) ==="
|
||||
for plugin_dir in "$PLUGINS_DIR"/*/; do
|
||||
plugin_name=$(basename "$plugin_dir")
|
||||
metadata_file="$plugin_dir.claude-plugin/metadata.json"
|
||||
if [[ -f "$metadata_file" ]]; then
|
||||
domain=$(jq -r '.domain // empty' "$metadata_file")
|
||||
if [[ -n "$domain" ]]; then
|
||||
echo "✓ $plugin_name domain: $domain"
|
||||
else
|
||||
echo "ERROR: $plugin_name/metadata.json exists but missing domain field"
|
||||
exit 1
|
||||
fi
|
||||
echo "✓ $PLUGIN_NAME domain consistent: $MARKETPLACE_DOMAIN"
|
||||
else
|
||||
echo "ERROR: $plugin_name missing .claude-plugin/metadata.json"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user