Add automatic detection of active marketplace plugins and verification that CLAUDE.md properly references them. This ensures projects using marketplace plugins will have proper documentation to guide Claude Code in using available tools. Changes: - Add claude-md-integration.md snippets to all 4 plugins (projman, cmdb-assistant, claude-config-maintainer, project-hygiene) - Update marketplace.json with MCP server mappings for plugin detection - Enhance /config-analyze to detect active plugins via MCP server names - Update maintainer agent with plugin integration workflow - Add plugin coverage percentage to analysis report - User confirmation required before adding plugin references Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Projman v2.0.0 - Project Management for Claude Code
Sprint planning and project management plugin with full Gitea integration.
Overview
Projman transforms a proven 15-sprint workflow into a distributable Claude Code plugin. It provides AI-guided sprint planning, intelligent issue creation with label taxonomy, native issue dependencies, parallel task execution, and systematic lessons learned capture via Gitea Wiki.
Key Features:
- Sprint Planning - AI-guided architecture analysis and issue creation
- Smart Label Suggestions - Intelligent label recommendations from 43-label taxonomy
- Issue Dependencies - Native Gitea dependencies with parallel execution batching
- Milestones - Sprint milestone management and tracking
- Lessons Learned - Systematic capture and search via Gitea Wiki
- Branch-Aware Security - Prevents accidental changes on production branches
- Three-Agent Model - Planner, Orchestrator, and Executor agents
- CLI Tools Blocked - All operations via MCP tools only (no
teaorgh)
Quick Start
1. Prerequisites
- Claude Code installed
- Access to Gitea instance with API token
- Python 3.10+ installed
- Git repository initialized
2. Install MCP Server
The plugin bundles the Gitea MCP server:
cd plugins/projman/mcp-servers/gitea
python3 -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
See CONFIGURATION.md for detailed setup instructions.
3. Configure System-Level Settings
Create system-wide configuration with your Gitea credentials:
mkdir -p ~/.config/claude
# Gitea configuration
cat > ~/.config/claude/gitea.env << 'EOF'
GITEA_URL=https://gitea.example.com
GITEA_TOKEN=your_gitea_token_here
GITEA_ORG=your_organization
EOF
# Secure the file
chmod 600 ~/.config/claude/gitea.env
4. Configure Project-Level Settings
In your project root directory, create a .env file:
# In your project directory
cat > .env << 'EOF'
GITEA_REPO=your-repo-name
EOF
5. Run Initial Setup
/initial-setup
6. Start Planning!
/sprint-plan
Commands
/sprint-plan
Start sprint planning with the AI planner agent.
What it does:
- Validates repository organization and label taxonomy
- Asks clarifying questions about sprint goals
- Searches relevant lessons learned from previous sprints
- Performs architecture analysis
- Creates Gitea issues with intelligent label suggestions
- Sets up issue dependencies for parallel execution
- Creates sprint milestone
Pre-Planning Validations:
- Repository belongs to configured organization
- Required label categories exist
docs/changes/folder exists in repository
Task Naming: [Sprint XX] <type>: <description>
When to use: Beginning of a new sprint or when planning a major feature
/sprint-start
Begin sprint execution with the orchestrator agent.
What it does:
- Reviews open sprint issues and dependencies
- Batches tasks by dependency graph for parallel execution
- Generates lean execution prompts
- Tracks progress
Parallel Execution:
Batch 1 (parallel): Task A, Task B, Task C
Batch 2 (parallel): Task D, Task E (depend on Batch 1)
Batch 3 (sequential): Task F (depends on Batch 2)
Branch Naming: feat/123-task-title, fix/456-bug-fix, debug/789-investigation
When to use: After planning, when ready to start implementation
/sprint-status
Check current sprint progress.
What it does:
- Lists all sprint issues by status (open, in progress, blocked, completed)
- Shows dependency analysis and blocked tasks
- Displays completion percentage
- Shows milestone progress
When to use: Daily standup, progress check, deciding what to work on next
/sprint-close
Complete sprint and capture lessons learned.
What it does:
- Reviews sprint completion
- Captures lessons learned (what went wrong, what went right)
- Tags lessons for discoverability
- Saves lessons to Gitea Wiki
- Closes sprint milestone
- Handles git operations (merge, tag, cleanup)
When to use: End of sprint, before starting the next one
CRITICAL: Don't skip this! After 15 sprints without lesson capture, teams repeat the same mistakes.
/labels-sync
Synchronize label taxonomy from Gitea.
What it does:
- Validates repository belongs to organization
- Fetches current labels from Gitea (org + repo)
- Validates required label categories
- Compares with local reference
- Updates local taxonomy reference
When to use:
- First-time setup
- Monthly maintenance
- When new labels are added to Gitea
/initial-setup
Run initial setup for a new project.
What it does:
- Validates Gitea MCP server connection
- Tests credential configuration
- Syncs label taxonomy
- Creates required directory structure
When to use: First time setting up projman for a project
Agents
Planner Agent
Personality: Thoughtful, methodical, asks clarifying questions
Responsibilities:
- Pre-planning validations (org, labels, folder structure)
- Sprint planning and architecture analysis
- Asking clarifying questions before making assumptions
- Searching relevant lessons learned via Gitea Wiki
- Creating well-structured Gitea issues
- Setting up issue dependencies
- Suggesting appropriate labels based on context
Invoked by: /sprint-plan
Orchestrator Agent
Personality: Concise, action-oriented, detail-focused
Responsibilities:
- Coordinating sprint execution with parallel batching
- Generating lean execution prompts (not full documents)
- Tracking progress meticulously
- Managing Git operations
- Handling task dependencies via
get_execution_order - Capturing lessons learned at sprint close
Invoked by: /sprint-start, /sprint-close
Executor Agent
Personality: Implementation-focused, follows specs precisely
Responsibilities:
- Providing implementation guidance
- Writing clean, tested code
- Following architectural decisions from planning
- Creating branches with proper naming (
feat/,fix/,debug/) - Generating MR body template
- Code review and quality standards
MR Body Template:
## Summary
<1-3 bullet points>
## Test plan
<Testing approach>
Closes #<issue-number>
MCP Tools
Issue Tools
| Tool | Description |
|---|---|
list_issues |
Query issues with filters |
get_issue |
Fetch single issue details |
create_issue |
Create new issue with labels |
update_issue |
Modify existing issue |
add_comment |
Add comments to issues |
Label Tools
| Tool | Description |
|---|---|
get_labels |
Fetch org + repo label taxonomy |
suggest_labels |
Analyze context and suggest appropriate labels |
create_label |
Create missing required labels |
Milestone Tools
| Tool | Description |
|---|---|
list_milestones |
List sprint milestones |
get_milestone |
Get milestone details |
create_milestone |
Create sprint milestone |
update_milestone |
Update/close milestone |
Dependency Tools
| Tool | Description |
|---|---|
list_issue_dependencies |
Get issue dependencies |
create_issue_dependency |
Create dependency between issues |
get_execution_order |
Get parallel execution batches |
Wiki Tools (Gitea Wiki)
| Tool | Description |
|---|---|
list_wiki_pages |
List wiki pages |
get_wiki_page |
Fetch specific page content |
create_wiki_page |
Create new wiki page |
create_lesson |
Create lessons learned document |
search_lessons |
Search past lessons by tags |
Validation Tools
| Tool | Description |
|---|---|
validate_repo_org |
Check repo belongs to organization |
get_branch_protection |
Check branch protection rules |
Label Taxonomy
The plugin uses a dynamic 43-label taxonomy (27 organization + 16 repository):
Organization Labels:
- Agent/* (2): Human, Claude
- Complexity/* (3): Simple, Medium, Complex
- Efforts/* (5): XS, S, M, L, XL
- Priority/* (4): Low, Medium, High, Critical
- Risk/* (3): Low, Medium, High
- Source/* (4): Development, Staging, Production, Customer
- Type/* (6): Bug, Feature, Refactor, Documentation, Test, Chore
Repository Labels:
- Component/* (9): Backend, Frontend, API, Database, Auth, Deploy, Testing, Docs, Infra
- Tech/* (7): Python, JavaScript, Docker, PostgreSQL, Redis, Vue, FastAPI
Labels are fetched dynamically from Gitea using /labels-sync.
Branch-Aware Security
The plugin implements defense-in-depth branch detection to prevent accidental changes on production:
Development Branches (development, develop, feat/*, dev/*):
- Full planning and execution capabilities
- Can create and modify issues
- Can capture lessons learned
Staging Branches (staging, stage/*):
- Can create issues to document bugs
- Cannot modify code
- Warns when attempting changes
Production Branches (main, master, prod/*):
- Read-only access
- Cannot create issues
- Blocks all planning and execution
Lessons Learned System
Why it matters: After 15 sprints without lesson capture, repeated mistakes occurred:
- Claude Code infinite loops on similar issues (2-3 times)
- Same architectural mistakes (multiple occurrences)
- Forgotten optimizations (re-discovered each time)
Solution: Mandatory lessons learned capture at sprint close, searchable at sprint start.
Workflow:
- Sprint Close: Orchestrator captures lessons via Gitea Wiki tools
- Gitea Wiki Storage: Lessons saved to repository wiki under
lessons-learned/sprints/ - Sprint Start: Planner searches relevant lessons by tags and keywords
- Prevention: Apply learned insights to avoid repeating mistakes
Lesson Structure:
# Sprint X - [Lesson Title]
## Context
[What were you trying to do?]
## Problem
[What went wrong or what insight emerged?]
## Solution
[How did you solve it?]
## Prevention
[How can this be avoided in the future?]
## Tags
[technology, component, type]
Architecture
projman/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── .mcp.json # MCP server configuration
├── mcp-servers/ # Bundled MCP server
│ └── gitea/
│ ├── .venv/
│ ├── requirements.txt
│ ├── mcp_server/
│ │ ├── server.py
│ │ ├── gitea_client.py
│ │ └── tools/
│ │ ├── issues.py
│ │ ├── labels.py
│ │ ├── wiki.py
│ │ ├── milestones.py
│ │ └── dependencies.py
│ └── tests/
├── commands/ # Slash commands
│ ├── sprint-plan.md
│ ├── sprint-start.md
│ ├── sprint-status.md
│ ├── sprint-close.md
│ ├── labels-sync.md
│ └── initial-setup.md
├── agents/ # Agent prompts
│ ├── planner.md
│ ├── orchestrator.md
│ └── executor.md
├── skills/ # Supporting knowledge
│ └── label-taxonomy/
│ └── labels-reference.md
├── README.md # This file
└── CONFIGURATION.md # Setup guide
Configuration
See CONFIGURATION.md for detailed configuration instructions.
Quick summary:
- System-level:
~/.config/claude/gitea.env(credentials) - Project-level:
.envin project root (repository specification)
Troubleshooting
Plugin not loading
- Check that MCP server is installed:
ls mcp-servers/gitea/.venv - Verify plugin manifest:
cat .claude-plugin/plugin.json | jq - Check Claude Code logs for errors
Cannot connect to Gitea
- Verify
~/.config/claude/gitea.envexists and has correct URL and token - Test token:
curl -H "Authorization: token YOUR_TOKEN" https://gitea.example.com/api/v1/user - Check network connectivity
Labels not syncing
- Run
/labels-syncmanually - Check Gitea API token has
read:organdrepopermissions - Verify repository name in
.envmatches Gitea
Branch detection not working
- Ensure you're in a git repository:
git status - Check current branch:
git branch --show-current - If on wrong branch, switch:
git checkout development
Support
Documentation:
- CONFIGURATION.md - Setup and configuration
Issues:
- Report bugs: Contact repository maintainer
- Feature requests: Contact repository maintainer
License
MIT License - See repository root for details
Version
Current: 2.0.0
Changelog:
- v2.0.0: Full Gitea integration with wiki, milestones, dependencies, parallel execution
- v1.0.0: Initial release with basic commands
Status: Production Ready