refactor(projman): extract skills and consolidate commands

Major refactoring of projman plugin architecture:

Skills Extraction (17 new files):
- Extracted reusable knowledge from commands and agents into skills/
- branch-security, dependency-management, git-workflow, input-detection
- issue-conventions, lessons-learned, mcp-tools-reference, planning-workflow
- progress-tracking, repo-validation, review-checklist, runaway-detection
- setup-workflows, sprint-approval, task-sizing, test-standards, wiki-conventions

Command Consolidation (17 → 12 commands):
- /setup: consolidates initial-setup, project-init, project-sync (--full/--quick/--sync)
- /debug: consolidates debug-report, debug-review (report/review modes)
- /test: consolidates test-check, test-gen (run/gen modes)
- /sprint-status: absorbs sprint-diagram via --diagram flag

Architecture Cleanup:
- Remove plugin-level mcp-servers/ symlinks (6 plugins)
- Remove plugin README.md files (12 files, ~2000 lines)
- Update all documentation to reflect new command structure
- Fix documentation drift in CONFIGURATION.md, COMMANDS-CHEATSHEET.md

Commands are now thin dispatchers (~20-50 lines) that reference skills.
Agents reference skills for domain knowledge instead of inline content.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-30 15:02:16 -05:00
parent 8fe685037e
commit 2e65b60725
70 changed files with 3450 additions and 8887 deletions

View File

@@ -91,62 +91,16 @@ setup_shared_mcp() {
cd "$REPO_ROOT"
}
# --- Section 2: Verify Symlinks ---
verify_symlinks() {
log_info "Verifying MCP server symlinks..."
# --- Section 2: Verify MCP Configuration ---
verify_mcp_config() {
log_info "Verifying MCP configuration..."
# Check projman -> gitea symlink
local projman_gitea="$REPO_ROOT/plugins/projman/mcp-servers/gitea"
if [[ -L "$projman_gitea" ]]; then
log_success "projman/gitea symlink exists"
local mcp_json="$REPO_ROOT/.mcp.json"
if [[ -f "$mcp_json" ]]; then
log_success ".mcp.json exists at repository root"
else
log_error "projman/gitea symlink missing"
log_todo "Run: ln -s ../../../mcp-servers/gitea plugins/projman/mcp-servers/gitea"
fi
# Check cmdb-assistant -> netbox symlink
local cmdb_netbox="$REPO_ROOT/plugins/cmdb-assistant/mcp-servers/netbox"
if [[ -L "$cmdb_netbox" ]]; then
log_success "cmdb-assistant/netbox symlink exists"
else
log_error "cmdb-assistant/netbox symlink missing"
log_todo "Run: ln -s ../../../mcp-servers/netbox plugins/cmdb-assistant/mcp-servers/netbox"
fi
# Check pr-review -> gitea symlink
local prreview_gitea="$REPO_ROOT/plugins/pr-review/mcp-servers/gitea"
if [[ -L "$prreview_gitea" ]]; then
log_success "pr-review/gitea symlink exists"
else
log_error "pr-review/gitea symlink missing"
log_todo "Run: ln -s ../../../mcp-servers/gitea plugins/pr-review/mcp-servers/gitea"
fi
# Check data-platform -> data-platform symlink
local dataplatform_link="$REPO_ROOT/plugins/data-platform/mcp-servers/data-platform"
if [[ -L "$dataplatform_link" ]]; then
log_success "data-platform symlink exists"
else
log_error "data-platform symlink missing"
log_todo "Run: ln -s ../../../mcp-servers/data-platform plugins/data-platform/mcp-servers/data-platform"
fi
# Check viz-platform -> viz-platform symlink
local vizplatform_link="$REPO_ROOT/plugins/viz-platform/mcp-servers/viz-platform"
if [[ -L "$vizplatform_link" ]]; then
log_success "viz-platform symlink exists"
else
log_error "viz-platform symlink missing"
log_todo "Run: ln -s ../../../mcp-servers/viz-platform plugins/viz-platform/mcp-servers/viz-platform"
fi
# Check contract-validator -> contract-validator symlink
local contractvalidator_link="$REPO_ROOT/plugins/contract-validator/mcp-servers/contract-validator"
if [[ -L "$contractvalidator_link" ]]; then
log_success "contract-validator symlink exists"
else
log_error "contract-validator symlink missing"
log_todo "Run: ln -s ../../../mcp-servers/contract-validator plugins/contract-validator/mcp-servers/contract-validator"
log_error ".mcp.json missing at repository root"
log_todo "Create .mcp.json with MCP server configurations"
fi
}
@@ -335,8 +289,8 @@ main() {
setup_shared_mcp "viz-platform"
setup_shared_mcp "contract-validator"
# Verify symlinks from plugins to shared MCP servers
verify_symlinks
# Verify MCP configuration at root
verify_mcp_config
# Configuration
setup_config_templates

View File

@@ -248,58 +248,25 @@ done
echo "✓ All file references validated"
# v3.0.0: Validate MCP server symlinks
# Validate MCP servers and configuration
echo ""
echo "=== Validating MCP Server Symlinks (v3.0.0+) ==="
echo "=== Validating MCP Servers ==="
# Check shared MCP servers exist
if [[ ! -d "$ROOT_DIR/mcp-servers/gitea" ]]; then
echo "ERROR: Shared gitea MCP server not found at mcp-servers/gitea/"
exit 1
fi
echo "✓ Shared gitea MCP server exists"
if [[ ! -d "$ROOT_DIR/mcp-servers/netbox" ]]; then
echo "ERROR: Shared netbox MCP server not found at mcp-servers/netbox/"
exit 1
fi
echo "✓ Shared netbox MCP server exists"
if [[ ! -d "$ROOT_DIR/mcp-servers/data-platform" ]]; then
echo "ERROR: Shared data-platform MCP server not found at mcp-servers/data-platform/"
exit 1
fi
echo "✓ Shared data-platform MCP server exists"
# Check symlinks for plugins that use MCP servers
check_mcp_symlink() {
local plugin_name="$1"
local server_name="$2"
local symlink_path="$ROOT_DIR/plugins/$plugin_name/mcp-servers/$server_name"
if [[ -L "$symlink_path" ]]; then
# Verify symlink resolves correctly
if [[ -d "$symlink_path" ]]; then
echo "$plugin_name -> $server_name symlink valid"
else
echo "ERROR: $plugin_name -> $server_name symlink broken (does not resolve)"
exit 1
fi
else
echo "ERROR: Missing symlink at plugins/$plugin_name/mcp-servers/$server_name"
for server in gitea netbox data-platform viz-platform contract-validator; do
if [[ ! -d "$ROOT_DIR/mcp-servers/$server" ]]; then
echo "ERROR: Shared $server MCP server not found at mcp-servers/$server/"
exit 1
fi
}
echo "✓ Shared $server MCP server exists"
done
# Plugins with gitea MCP dependency
check_mcp_symlink "projman" "gitea"
check_mcp_symlink "pr-review" "gitea"
# Plugins with netbox MCP dependency
check_mcp_symlink "cmdb-assistant" "netbox"
# Plugins with data-platform MCP dependency
check_mcp_symlink "data-platform" "data-platform"
# Check .mcp.json exists at root
if [[ ! -f "$ROOT_DIR/.mcp.json" ]]; then
echo "ERROR: .mcp.json not found at repository root"
exit 1
fi
echo "✓ .mcp.json configuration exists"
echo ""
echo "=== All validations passed ==="