Test Fixes:
- Fix mock_config fixture to use 'owner/repo' format (was separate fields)
- Update test_client_initialization to match current client API
- Add required 'org' argument to get_org_labels, list_repos, aggregate_issues tests
- Update error message assertion in test_no_repo_specified_error
- Fix test_create_issue to mock is_org_repo and label resolution
- Update aggregate_issues tests in test_issues.py with org argument
Documentation Updates:
- Expand tools table from 8 to 36 tools (organized by category)
- Update directory structure to show all 6 tool files
- Remove unused GITEA_OWNER from configuration docs
- Add automatic repository detection documentation
- Add project directory detection strategies
- Update test count from 42 to 64
- Create CHANGELOG.md with full version history
All 64 tests now pass. No production code changes.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Extract tool definitions and dispatcher from server.py into tool_registry.py
to enable transport-agnostic reuse. External consumers (e.g., HTTP transport
in gitea-mcp-remote) can now import and use the Gitea MCP tools without
duplicating code.
Changes:
- Create pyproject.toml with PEP 621 compliant package manifest (hatchling)
- Create tool_registry.py with get_tool_definitions() and create_tool_dispatcher()
- Refactor server.py to use registry (1100 -> 93 lines)
- Update __init__.py with package exports and __version__
The tool_filter parameter enables selective tool exposure for remote servers.
Stdio transport behavior is unchanged - all 36 tools still work identically.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Plugin installation scripts for consumer projects
- MCP server mapping via mcp_servers field in plugin.json
- CLAUDE.md section markers for install/uninstall
- Agent model selection (25 agents with model frontmatter)
- Agent frontmatter standardization
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The mcp_servers key is not a valid key in the Claude plugin manifest
schema. MCP servers are configured in the root .mcp.json file instead.
Affected plugins:
- cmdb-assistant
- contract-validator
- data-platform
- pr-review
- projman
- viz-platform
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Note: This fix may not help because MCP servers fail BEFORE hooks run.
See lessons learned wiki page for full debug trace.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Plugin load failures were caused by version mismatch between
marketplace.json and individual plugin.json files:
- contract-validator: 1.2.0 vs 1.1.0
- git-flow: 1.2.0 vs 1.0.0
- projman: 3.4.0 vs 3.3.0
- clarity-assist: 1.2.0 vs 1.0.0
- doc-guardian: 1.1.0 vs 1.0.0
Claude Code silently fails to load plugins when versions don't match.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Startup hooks in data-platform and pr-review were checking for venvs
at the marketplace path (~/.claude/plugins/marketplaces/.../mcp-servers/)
which gets wiped on updates. The actual venvs live in the cache directory
(~/.cache/claude-mcp-venvs/) which survives updates.
This caused false "MCP venv missing" errors even when venvs existed,
wasting hours of debugging time.
Fixed hooks now check cache path first, matching the pattern used
by run.sh scripts.
Also updated docs/CANONICAL-PATHS.md with the correct venv path pattern
to prevent future occurrences.
Lesson learned: lessons/patterns/startup-hooks-must-check-venv-cache-path-first
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The startup hooks were looking for MCP venvs relative to the plugin
directory instead of the marketplace root, causing false "venv missing"
errors on every session start.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add per-agent model selection using Claude Code's now-supported `model`
frontmatter field, and standardize all agent frontmatter across the
marketplace.
Changes:
- Add `model` field to all 25 agents (18 sonnet, 7 haiku)
- Fix viz-platform/data-platform agents using `agent:` instead of `name:`
- Remove non-standard `triggers:` field from domain agents
- Add missing frontmatter to 13 agents
- Document model selection in CLAUDE.md and CONFIGURATION.md
- Fix undocumented commands in README.md
Model assignments based on reasoning depth, tool complexity, and latency:
- sonnet: Planner, Orchestrator, Executor, Coordinator, Security Reviewers
- haiku: Maintainability Auditor, Test Validator, Git Assistant, etc.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Issue 1 - MCP Server Mapping:
- Add mcp_servers field to plugin.json for plugins using shared MCP servers
- projman/pr-review now install gitea MCP server
- cmdb-assistant now installs netbox MCP server
- Scripts read MCP server names from plugin.json
Issue 2 - CLAUDE.md Section Markers:
- Install wraps content with HTML comment markers for precise removal
- Uninstall uses markers first, falls back to legacy header detection
- Fixes code block false positives during uninstall
Bug fix:
- Change ((servers_added++)) to ((++servers_added)) to avoid exit code 1
with set -e when incrementing from 0
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add three new scripts for installing marketplace plugins to consumer projects:
- install-plugin.sh: Install plugin to target project (.mcp.json + CLAUDE.md)
- uninstall-plugin.sh: Remove plugin from target project
- list-installed.sh: Show installed/available plugins in a project
Features:
- Idempotent operations (safe to run multiple times)
- Handles plugins with/without MCP servers
- Code block aware CLAUDE.md section removal
- Flexible header format detection
Documentation updated in docs/CONFIGURATION.md with usage examples.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add 3 new commands for auditing and optimizing Claude Code permission
configurations, leveraging the marketplace's multi-layer review architecture.
New commands:
- /config-audit-settings - 100-point scoring across redundancy, coverage,
safety alignment, and profile fit
- /config-optimize-settings - apply optimizations with dry-run, named
profiles (conservative, reviewed, autonomous), consolidation modes
- /config-permissions-map - Mermaid diagram of review layer coverage
New skill:
- settings-optimization.md - 7 sections covering file formats, syntax
reference, consolidation rules, review-layer-aware recommendations,
named profiles, scoring criteria, and hook detection
Updated agent maintainer.md with new "Audit Settings Files" responsibility.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>