Files
leo-claude-mktplace/docs/references/projman-pmo/projman-implementation-plan-updated.md

2086 lines
54 KiB
Markdown

# ProjMan Plugin Suite - Implementation Plan
**Plugins:** `projman` (single-repo) + `projman-pmo` (multi-project)
**Build Order:** projman first, then projman-pmo
**Label System:** Type/Refactor now implemented at organization level
**Configuration:** Hybrid approach (system + project level)
**Technology Stack:** Python (MCP server), Markdown (commands/agents)
> **⚠️ IMPORTANT:** For the definitive, authoritative repository structure, always refer to [CORRECT-ARCHITECTURE.md](./CORRECT-ARCHITECTURE.md). If this document conflicts with CORRECT-ARCHITECTURE.md, CORRECT-ARCHITECTURE.md is correct.
---
## Configuration Architecture
### Two MCP Server Design (Shared Codebase)
**Architecture Decision:**
Both plugins (projman and projman-pmo) **share the same MCP server codebase**. The MCP servers detect their mode (project-scoped vs company-wide) based on environment variables.
**Separation of Concerns:**
- **Gitea MCP Server**: Issues, labels, repository data
- **Wiki.js MCP Server**: Documentation, lessons learned, knowledge base
**Repository Structure:**
```
hyperhivelabs/claude-plugins/
├── mcp-servers/ # Shared by both plugins
│ ├── gitea/
│ └── wikijs/
├── projman/ # Project plugin
└── projman-pmo/ # PMO plugin
```
**Benefits:**
✅ Single source of truth - fix bugs once, both plugins benefit
✅ Less code duplication and maintenance
✅ MCP servers already handle both modes
✅ Independent service configuration (Gitea vs Wiki.js)
✅ Can enable/disable each service independently
✅ Wiki.js shared across entire company (not just projects)
✅ Easier to maintain and debug
✅ Professional architecture
### System-Level Configuration (Shared)
**Gitea Configuration:**
**Location:** `~/.config/claude/gitea.env`
```bash
GITEA_API_URL=https://gitea.hyperhivelabs.com/api/v1
GITEA_API_TOKEN=your_gitea_token
GITEA_OWNER=hyperhivelabs
```
**Wiki.js Configuration:**
**Location:** `~/.config/claude/wikijs.env`
```bash
WIKIJS_API_URL=https://wiki.hyperhivelabs.com/graphql
WIKIJS_API_TOKEN=your_wikijs_token
WIKIJS_BASE_PATH=/hyper-hive-labs
```
**Used by:** Both projman and pmo plugins
### Project-Level Configuration
**Location:** `project-root/.env`
**Contains:**
```bash
# Gitea repository name
GITEA_REPO=cuisineflow
# Wiki.js project path (relative to /hyper-hive-labs)
WIKIJS_PROJECT=projects/cuisineflow
```
**Used by:** projman plugin only (pmo operates across all repos/projects)
### Wiki.js Structure
```
Wiki.js
└── hyper-hive-labs/
├── projects/ # Project-specific documentation
│ ├── cuisineflow/
│ │ ├── lessons-learned/
│ │ │ ├── sprints/
│ │ │ └── INDEX.md
│ │ └── documentation/
│ │ ├── architecture/
│ │ └── api/
│ ├── cuisineflow-site/
│ │ ├── lessons-learned/
│ │ └── documentation/
│ ├── intuit-engine/
│ │ ├── lessons-learned/
│ │ └── documentation/
│ └── hhl-site/
│ ├── lessons-learned/
│ └── documentation/
├── company/ # Company-wide documentation
│ ├── processes/
│ ├── onboarding/
│ ├── standards/
│ └── tools/
└── shared/ # Cross-project resources
├── architecture-patterns/
├── best-practices/
└── tech-stack/
```
**Path Resolution:**
- **projman**: `{WIKIJS_BASE_PATH}/{WIKIJS_PROJECT}``/hyper-hive-labs/projects/cuisineflow`
- **projman-pmo**: `{WIKIJS_BASE_PATH}``/hyper-hive-labs` (entire company namespace)
### Benefits
✅ Single token per service - update once
✅ Project isolation - each repo declares its paths
✅ Company-wide documentation accessible
✅ PMO can see all projects
✅ Shared resources available to all
✅ Security - tokens never committed
✅ Portability - same system config for all projects
✅ Scalable - easy to add new projects
---
## Phase 1: Core Infrastructure (projman)
### 1.1 MCP Server Foundation (Shared Infrastructure)
**Deliverable:** Two working MCP servers (Gitea and Wiki.js) with hybrid configuration, shared by both projman and projman-pmo plugins
**Important:** These MCP servers are built ONCE and shared by both plugins. They detect their operating mode (project-scoped vs company-wide) based on environment variables.
---
#### 1.1a Gitea MCP Server
**Tasks:**
**Configuration Setup:**
- Design environment variable loading strategy:
- System-level: `~/.config/claude/gitea.env`
- Project-level: `project-root/.env`
- Merge strategy: project overrides system
- Create `.env.example` template
- Document configuration precedence rules
- Add validation for required variables
**MCP Server Implementation:**
- Set up Python project structure
- Create virtual environment (.venv)
- Install dependencies:
```
# requirements.txt
anthropic-sdk>=0.18.0
python-dotenv>=1.0.0
requests>=2.31.0
pydantic>=2.5.0
pytest>=7.4.3
```
- Implement Gitea API authentication
- Create environment variable loader:
```python
# config.py
from pathlib import Path
from dotenv import load_dotenv
import os
def load_config():
"""Load configuration from system and project levels"""
# Load system config
system_config = Path.home() / '.config' / 'claude' / 'gitea.env'
if system_config.exists():
load_dotenv(system_config)
# Load project config (overrides system)
project_config = Path.cwd() / '.env'
if project_config.exists():
load_dotenv(project_config, override=True)
# Validate required variables
required = ['GITEA_API_URL', 'GITEA_API_TOKEN', 'GITEA_OWNER']
missing = [var for var in required if not os.getenv(var)]
if missing:
raise ValueError(f"Missing config: {', '.join(missing)}")
return {
'api_url': os.getenv('GITEA_API_URL'),
'api_token': os.getenv('GITEA_API_TOKEN'),
'owner': os.getenv('GITEA_OWNER'),
'repo': os.getenv('GITEA_REPO') # Optional for PMO
}
```
- Validate all required variables present
- Create 7 core tools:
- `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
- `get_labels` - Fetch org + repo label taxonomy
- `suggest_labels` - Analyze context and suggest appropriate labels
**Testing:**
- Write integration tests against actual Gitea instance
- Test configuration loading from both levels
- Test missing configuration error handling
- Test API authentication with loaded credentials
**Success Criteria:**
- Configuration loads from both system and project levels
- Missing variables produce clear error messages
- All tools pass integration tests
- Label suggestion correctly identifies Type/Refactor
- Error handling for network failures and API rate limits
---
#### 1.1b Wiki.js MCP Server
**Tasks:**
**Configuration Setup:**
- Design environment variable loading strategy:
- System-level: `~/.config/claude/wikijs.env`
- Project-level: `project-root/.env`
- Path composition: `{BASE_PATH}/{PROJECT_PATH}`
- Create `.env.example` template
- Document path resolution rules
- Add validation for required variables
**MCP Server Implementation:**
- Set up Python project structure (separate from Gitea MCP)
- Create virtual environment (.venv)
- Install dependencies:
```
# requirements.txt
anthropic-sdk>=0.18.0
python-dotenv>=1.0.0
gql>=3.4.0 # GraphQL client for Wiki.js
aiohttp>=3.9.0 # Async HTTP
pydantic>=2.5.0
pytest>=7.4.3
pytest-asyncio>=0.23.0
```
- Implement Wiki.js GraphQL authentication
- Create environment variable loader:
```python
# config.py
from pathlib import Path
from dotenv import load_dotenv
import os
def load_config():
"""Load Wiki.js configuration from system and project levels"""
# Load system config
system_config = Path.home() / '.config' / 'claude' / 'wikijs.env'
if system_config.exists():
load_dotenv(system_config)
# Load project config (overrides system)
project_config = Path.cwd() / '.env'
if project_config.exists():
load_dotenv(project_config, override=True)
# Validate required variables
required = ['WIKIJS_API_URL', 'WIKIJS_API_TOKEN', 'WIKIJS_BASE_PATH']
missing = [var for var in required if not os.getenv(var)]
if missing:
raise ValueError(f"Missing config: {', '.join(missing)}")
# Compose full path
base_path = os.getenv('WIKIJS_BASE_PATH') # /hyper-hive-labs
project_path = os.getenv('WIKIJS_PROJECT') # projects/cuisineflow
full_path = f"{base_path}/{project_path}" if project_path else base_path
return {
'api_url': os.getenv('WIKIJS_API_URL'),
'api_token': os.getenv('WIKIJS_API_TOKEN'),
'base_path': base_path,
'project_path': project_path,
'full_path': full_path
}
```
- Validate all required variables present
- Create 8 core tools:
- `search_pages` - Search Wiki.js pages by keywords/tags
- `get_page` - Fetch specific page content
- `create_page` - Create new Wiki page
- `update_page` - Modify existing page
- `list_pages` - List pages in a path
- `create_lesson` - Create lessons learned document
- `search_lessons` - Search past lessons by tags
- `tag_lesson` - Add tags to lessons learned
**GraphQL Client Example:**
```python
# wikijs_client.py
from gql import gql, Client
from gql.transport.aiohttp import AIOHTTPTransport
class WikiJSClient:
def __init__(self, api_url: str, api_token: str):
transport = AIOHTTPTransport(
url=api_url,
headers={'Authorization': f'Bearer {api_token}'}
)
self.client = Client(transport=transport, fetch_schema_from_transport=True)
async def search_pages(self, query: str, path: str = None):
"""Search pages in Wiki.js"""
gql_query = gql("""
query SearchPages($query: String!, $path: String) {
pages {
search(query: $query, path: $path) {
results {
id
path
title
description
tags
}
}
}
}
""")
result = await self.client.execute(
gql_query,
variable_values={'query': query, 'path': path}
)
return result['pages']['search']['results']
async def create_page(self, path: str, title: str, content: str, tags: list):
"""Create a new page in Wiki.js"""
gql_mutation = gql("""
mutation CreatePage($path: String!, $title: String!, $content: String!, $tags: [String]!) {
pages {
create(
path: $path
title: $title
content: $content
tags: $tags
) {
responseResult {
succeeded
errorCode
message
}
page {
id
path
}
}
}
}
""")
result = await self.client.execute(
gql_mutation,
variable_values={
'path': path,
'title': title,
'content': content,
'tags': tags
}
)
return result['pages']['create']
```
**Testing:**
- Write integration tests against actual Wiki.js instance
- Test configuration loading from both levels
- Test path composition and resolution
- Test GraphQL queries and mutations
- Test authentication with Wiki.js
**Success Criteria:**
- Configuration loads from both system and project levels
- Path composition works correctly
- Missing variables produce clear error messages
- All tools pass integration tests
- GraphQL queries execute successfully
- Error handling for network failures and API rate limits
- Lessons learned can be created and searched
### 1.2 Label Taxonomy System
**Deliverable:** Label reference with sync capability
**Tasks:**
- Create `skills/label-taxonomy/` directory structure
- Port `gitea-labels-reference.md` to plugin
- Document exclusive vs non-exclusive label rules
- Build label suggestion logic:
- Type detection (Bug, Feature, Refactor, etc.)
- Component identification from context
- Priority inference from keywords
- Source detection based on branch
- Create `/labels-sync` command
- Implement diff viewer for label changes
- Build interactive review workflow
**Label Sync Workflow:**
```
User: /labels-sync
Agent: Fetching labels from Gitea...
Found 1 new label: Type/Documentation
Found 2 modified descriptions
New: Type/Documentation
- For documentation-only changes
- Should update suggestion logic to detect "docs", "readme"
Modified: Priority/High
- Description clarified: "Blocks sprint completion"
Shall I update the local reference and suggestion rules?
User: Yes
Agent: Updated ✅
- labels-reference.md updated
- Suggestion logic updated
- 43 labels now in taxonomy
```
**Success Criteria:**
- Complete 43-label taxonomy documented
- Sync command fetches live data from Gitea
- Diff detection works correctly
- Agent provides meaningful impact analysis
- Local reference stays synchronized
### 1.3 Plugin Manifest & Structure
**Deliverable:** Complete projman plugin structure
**Tasks:**
- Create `.claude-plugin/plugin.json`
- Set up repository structure:
```
hyperhivelabs/claude-plugins/
├── mcp-servers/ # Shared by both plugins
│ ├── gitea/
│ │ ├── .venv/
│ │ ├── requirements.txt
│ │ ├── .env.example
│ │ ├── mcp_server/
│ │ │ ├── __init__.py
│ │ │ ├── server.py
│ │ │ ├── config.py # Detects project/company mode
│ │ │ └── gitea_client.py
│ │ └── tests/
│ └── wikijs/
│ ├── .venv/
│ ├── requirements.txt
│ ├── .env.example
│ ├── mcp_server/
│ │ ├── __init__.py
│ │ ├── server.py
│ │ ├── config.py # Detects project/company mode
│ │ └── wikijs_client.py
│ └── tests/
├── projman/ # Project plugin
│ ├── .claude-plugin/
│ │ └── plugin.json
│ ├── .mcp.json # References ../mcp-servers/
│ ├── commands/
│ │ └── (will add in Phase 2)
│ ├── agents/
│ │ └── (will add in Phase 3)
│ ├── skills/
│ │ └── label-taxonomy/
│ │ └── labels-reference.md
│ ├── README.md
│ └── CONFIGURATION.md
└── projman-pmo/ # PMO plugin
├── .claude-plugin/
│ └── plugin.json
├── .mcp.json # References ../mcp-servers/
├── commands/
│ └── (will add in Phase 10)
├── agents/
│ └── (will add in Phase 9)
└── README.md
```
- Write README with installation instructions
- Create CONFIGURATION.md with hybrid config setup for both services
- Document setup steps:
1. Create system configs (Gitea + Wiki.js)
2. Create project .env
3. Create virtual environments for both MCP servers (once, in mcp-servers/)
4. Install dependencies with pip
5. Test connections
**Mode Detection in MCP Servers:**
```python
# mcp-servers/gitea/mcp_server/config.py
class GiteaConfig:
def load(self):
# ... load configs ...
self.repo = os.getenv('GITEA_REPO') # Optional
if self.repo:
self.mode = 'project'
logger.info(f"Running in project mode: {self.repo}")
else:
self.mode = 'company'
logger.info("Running in company-wide mode (PMO)")
return {
'api_url': self.api_url,
'api_token': self.api_token,
'owner': self.owner,
'repo': self.repo,
'mode': self.mode
}
```
**Configuration Files:**
**projman/.mcp.json:**
```json
{
"mcpServers": {
"gitea-projman": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/gitea",
"env": {
"PYTHONPATH": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/gitea",
"GITEA_API_URL": "${GITEA_API_URL}",
"GITEA_API_TOKEN": "${GITEA_API_TOKEN}",
"GITEA_OWNER": "${GITEA_OWNER}",
"GITEA_REPO": "${GITEA_REPO}"
}
},
"wikijs-projman": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/wikijs",
"env": {
"PYTHONPATH": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/wikijs",
"WIKIJS_API_URL": "${WIKIJS_API_URL}",
"WIKIJS_API_TOKEN": "${WIKIJS_API_TOKEN}",
"WIKIJS_BASE_PATH": "${WIKIJS_BASE_PATH}",
"WIKIJS_PROJECT": "${WIKIJS_PROJECT}"
}
}
}
}
```
**projman-pmo/.mcp.json:**
```json
{
"mcpServers": {
"gitea-pmo": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/gitea",
"env": {
"PYTHONPATH": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/gitea",
"GITEA_API_URL": "${GITEA_API_URL}",
"GITEA_API_TOKEN": "${GITEA_API_TOKEN}",
"GITEA_OWNER": "${GITEA_OWNER}"
}
},
"wikijs-pmo": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/wikijs",
"env": {
"PYTHONPATH": "${CLAUDE_PLUGIN_ROOT}/../mcp-servers/wikijs",
"WIKIJS_API_URL": "${WIKIJS_API_URL}",
"WIKIJS_API_TOKEN": "${WIKIJS_API_TOKEN}",
"WIKIJS_BASE_PATH": "${WIKIJS_BASE_PATH}"
}
}
}
}
```
**Note:** Both plugins reference `../mcp-servers/` (shared location). The MCP servers detect their mode based on which environment variables are present.
**Configuration Documentation:**
**CONFIGURATION.md structure:**
```markdown
# Configuration Setup
## System-Level (Required for all projects)
### Gitea Configuration
1. Create config directory:
mkdir -p ~/.config/claude
2. Create gitea.env:
cat > ~/.config/claude/gitea.env << EOF
GITEA_API_URL=https://gitea.hyperhivelabs.com/api/v1
GITEA_API_TOKEN=your_gitea_token
GITEA_OWNER=hyperhivelabs
EOF
3. Secure the file:
chmod 600 ~/.config/claude/gitea.env
### Wiki.js Configuration
1. Create wikijs.env:
cat > ~/.config/claude/wikijs.env << EOF
WIKIJS_API_URL=https://wiki.hyperhivelabs.com/graphql
WIKIJS_API_TOKEN=your_wikijs_token
WIKIJS_BASE_PATH=/hyper-hive-labs
EOF
2. Secure the file:
chmod 600 ~/.config/claude/wikijs.env
## Project-Level (Per repository)
1. Create .env in project root:
cat > .env << EOF
GITEA_REPO=cuisineflow
WIKIJS_PROJECT=projects/cuisineflow
EOF
2. Add to .gitignore:
echo ".env" >> .gitignore
## MCP Server Setup (One-Time, Shared by Both Plugins)
### Gitea MCP Server
1. Navigate to shared MCP directory:
cd /path/to/claude-plugins/mcp-servers/gitea
2. Create virtual environment:
python -m venv .venv
3. Activate virtual environment:
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
4. Install dependencies:
pip install -r requirements.txt
### Wiki.js MCP Server
1. Navigate to Wiki.js MCP directory:
cd /path/to/claude-plugins/mcp-servers/wikijs
2. Create virtual environment:
python -m venv .venv
3. Activate virtual environment:
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
4. Install dependencies:
pip install -r requirements.txt
## Wiki.js Structure
Your Wiki.js should have this structure:
/hyper-hive-labs/
├── projects/
│ ├── cuisineflow/
│ │ ├── lessons-learned/
│ │ │ ├── sprints/
│ │ │ └── INDEX.md
│ │ └── documentation/
│ ├── intuit-engine/
│ └── hhl-site/
├── company/
│ ├── processes/
│ └── standards/
└── shared/
└── architecture-patterns/
Create the base structure in Wiki.js before using the plugin.
## Architecture Note
Both plugins (projman and projman-pmo) share the same MCP servers.
The MCP servers detect their operating mode based on environment variables:
- Project mode: When GITEA_REPO and WIKIJS_PROJECT are present
- Company mode: When these variables are absent (PMO plugin)
## Validation
Test Gitea MCP:
python -m mcp_gitea.server --test
Test Wiki.js MCP:
python -m mcp_wikijs.server --test
Test projman plugin:
claude plugin test projman
Test projman-pmo plugin:
claude plugin test projman-pmo
```
**Success Criteria:**
- Plugin loads successfully
- MCP server starts without errors
- Documentation is clear and complete
- Configuration templates provided
- Setup can be completed in < 5 minutes
---
## Phase 2: Sprint Planning Commands (projman)
### 2.1 Sprint Plan Command
**Deliverable:** `/sprint-plan` command with planner agent integration
**Tasks:**
- Create `commands/sprint-plan.md`
- Design command parameters:
- Sprint name/number
- Feature description
- Architecture considerations
- Invoke planner agent
- Handle branch detection (only create issues in development)
- Generate sprint planning document
**Command Flow:**
```
User: /sprint-plan
Agent: Let me help you plan this sprint.
What are you building?
User: Extract Intuit engine into separate service
Agent: I detected architectural changes - this is Type/Refactor.
Which components are affected?
- Component/Backend
- Component/API
- Component/Database
Should we create a Gitea issue for tracking?
User: Yes
Agent: Created issue #47 with labels:
- Type/Refactor
- Component/Backend
- Component/API
- Priority/High
- Source/Development
Generating sprint plan...
[Sprint document generated]
```
**Success Criteria:**
- Command invokes planner agent
- Agent asks relevant clarifying questions
- Issue created with correct labels
- Sprint document generated
- Only creates issues in development branch
### 2.2 Sprint Start Command
**Deliverable:** `/sprint-start` command
**Tasks:**
- Create `commands/sprint-start.md`
- Search lessons learned Wiki
- Surface relevant past issues
- Set up sprint tracking
- Initialize issue tracking
**Command Flow:**
```
User: /sprint-start
Agent: Starting sprint...
Searching lessons learned for "service extraction"...
📚 Found 2 relevant lessons:
- Sprint 08: Service boundary issues with shared DB
- Sprint 12: API versioning during extraction
These might be helpful for Intuit engine extraction.
Ready to begin. Sprint issue: #47
```
**Success Criteria:**
- Searches lessons learned Wiki
- Surfaces relevant past experiences
- Links to sprint issue
- Provides helpful context
### 2.3 Sprint Status Command
**Deliverable:** `/sprint-status` command
**Tasks:**
- Create `commands/sprint-status.md`
- Query current sprint issue
- Show progress indicators
- List blockers
- Surface next actions
**Success Criteria:**
- Clear status overview
- Identifies blockers
- Actionable next steps
- Links to relevant issues
### 2.4 Sprint Close Command
**Deliverable:** `/sprint-close` command with lessons learned capture
**Tasks:**
- Create `commands/sprint-close.md`
- Guide retrospective questions:
- What went wrong?
- What worked well?
- Any Claude Code issues?
- Architecture insights?
- Create lessons learned document
- Update Wiki INDEX.md
- Add searchable tags
- Close sprint issue
**Retrospective Template:**
```markdown
# Sprint [Number]: [Name] - Lessons Learned
**Date:** [Date]
**Issue:** #[number]
## What Went Wrong
- [Item 1]
- [Item 2]
## What Worked Well
- [Item 1]
- [Item 2]
## Claude Code Issues
- [Item 1]
- [Item 2]
## Architecture Insights
- [Item 1]
- [Item 2]
## Tags
#service-extraction #api #refactoring #claude-code-loops
```
**Success Criteria:**
- Interactive retrospective guide
- Document created in Wiki
- INDEX.md updated with tags
- Sprint issue closed
- Lessons searchable for future sprints
---
## Phase 3: Agent System (projman)
### 3.1 Planner Agent
**Deliverable:** Sprint planning agent
**Tasks:**
- Create `agents/planner.md`
- Define agent personality:
- Asks clarifying questions
- Analyzes architecture impact
- Suggests appropriate labels
- Generates structured plans
- Design interaction patterns
- Integrate with MCP tools
- Test with various scenarios
**Agent Personality:**
```markdown
You are the Sprint Planner for Hyper Hive Labs.
Your role:
- Guide users through sprint planning
- Ask targeted questions about scope and architecture
- Detect issue types (Bug, Feature, Refactor)
- Suggest appropriate labels based on context
- Generate comprehensive sprint documents
- Consider lessons learned from past sprints
You are:
- Thorough but not overwhelming
- Architecture-aware
- Label-conscious (use Type/Refactor for architectural changes)
- Process-oriented
You always:
- Reference relevant past lessons
- Consider technical debt
- Identify cross-project impacts
- Suggest realistic scope
```
**Success Criteria:**
- Agent provides valuable planning guidance
- Questions are relevant and targeted
- Label suggestions accurate
- Sprint documents well-structured
- Integrates lessons learned effectively
### 3.2 Orchestrator Agent
**Deliverable:** Sprint coordination agent
**Tasks:**
- Create `agents/orchestrator.md`
- Define orchestration responsibilities:
- Track sprint progress
- Identify blockers
- Coordinate sub-tasks
- Surface relevant context
- Design status monitoring
- Build blocker detection logic
**Agent Personality:**
```markdown
You are the Sprint Orchestrator for Hyper Hive Labs.
Your role:
- Monitor sprint progress
- Track issue status
- Identify and surface blockers
- Coordinate between tasks
- Keep sprint on track
You are:
- Progress-focused
- Blocker-aware
- Context-provider
- Coordination-minded
You always:
- Check issue status
- Identify dependencies
- Surface relevant documentation
- Keep things moving
```
**Success Criteria:**
- Tracks progress accurately
- Identifies blockers early
- Provides useful coordination
- Reduces manual overhead
### 3.3 Executor Agent
**Deliverable:** Implementation guidance agent
**Tasks:**
- Create `agents/executor.md`
- Define implementation support:
- Technical guidance
- Code review
- Testing strategy
- Documentation
- Integrate with label taxonomy
- Reference architecture patterns
**Agent Personality:**
```markdown
You are the Sprint Executor for Hyper Hive Labs.
Your role:
- Provide implementation guidance
- Suggest code patterns
- Review technical decisions
- Ensure quality standards
- Reference best practices
You are:
- Technically detailed
- Quality-focused
- Pattern-aware
- Standards-conscious
You always:
- Follow modular architecture principles
- Suggest discrete methods/functions
- Consider testability
- Document decisions
```
**Success Criteria:**
- Provides valuable technical guidance
- Maintains quality standards
- References appropriate patterns
- Supports implementation effectively
---
## Phase 4: Lessons Learned System (projman)
### 4.1 Wiki.js Integration
**Deliverable:** Lessons learned structure in Wiki.js
**Tasks:**
- Design Wiki.js page structure within project path:
```
/hyper-hive-labs/projects/cuisineflow/
├── lessons-learned/
│ ├── INDEX.md # Searchable index
│ ├── sprints/
│ │ ├── sprint-01-auth.md
│ │ ├── sprint-02-api.md
│ │ └── ...
│ └── patterns/
│ ├── service-extraction.md
│ └── database-migration.md
└── documentation/
├── architecture/
└── api/
```
- Create INDEX.md template
- Define tagging system using Wiki.js tags
- Build search integration using Wiki.js MCP tools
**INDEX.md Structure:**
```markdown
# CuisineFlow - Lessons Learned Index
## By Sprint
- [Sprint 01: Auth System](sprints/sprint-01-auth) #authentication #oauth #security
- [Sprint 02: API Gateway](sprints/sprint-02-api) #api #gateway #routing
## By Pattern
- [Service Extraction](patterns/service-extraction) #microservices #refactoring
## By Technology
- Authentication: Sprint 01, Sprint 08
- API Design: Sprint 02, Sprint 12
- Database: Sprint 03, Sprint 15
## By Problem
- Claude Code Loops: Sprint 04, Sprint 12, Sprint 14
- Deployment Issues: Sprint 08, Sprint 13
## Tags
#authentication #api #database #deployment #refactoring #claude-code-loops
```
**Wiki.js Advantages:**
- Rich markdown editor
- Built-in search
- Tag system
- Version history
- Access control
- Web UI for review
**Success Criteria:**
- Clear Wiki.js page structure
- Searchable index page
- Tagging system works with Wiki.js tags
- Easy to navigate via web interface
- Integrates with Git (Wiki.js can sync to Git)
### 4.2 Search Integration
**Deliverable:** Lessons learned search using Wiki.js MCP
**Tasks:**
- Use Wiki.js MCP server tools for search:
- `search_pages` - Search by keywords/tags in project path
- `get_page` - Fetch specific lesson document
- `create_page` - Create new lesson
- `update_page` - Update INDEX.md
- `list_pages` - List all lessons in path
- Implement tag-based search using Wiki.js tags
- Build keyword matching using Wiki.js search API
- Integrate with agents
**Search Example:**
```python
# Using Wiki.js MCP tools
from mcp_wikijs import WikiJSClient
client = WikiJSClient()
# Search for service extraction lessons
results = await client.search_pages(
query="service extraction",
path="/hyper-hive-labs/projects/cuisineflow/lessons-learned"
)
# Filter by tags
lessons_with_tag = await client.search_pages(
query="#refactoring",
path="/hyper-hive-labs/projects/cuisineflow/lessons-learned"
)
```
**Success Criteria:**
- Fast search using Wiki.js search API
- Tag-based filtering works
- Relevant results surfaced
- Integrates with planning process
- Can search across all projects (for PMO)
### 4.3 Capture Workflow
**Deliverable:** Lessons learned capture during sprint close
**Tasks:**
- Integrate into `/sprint-close` command
- Guide retrospective discussion
- Generate structured markdown document
- Auto-tag based on content using Wiki.js tags
- Create page in Wiki.js via MCP
- Update INDEX.md automatically
- Use Wiki.js version control for history
**Capture Flow:**
```
User: /sprint-close
Agent: Let's capture lessons learned...
What went wrong that we should avoid next time?
User: [Response]
Agent: What decisions worked really well?
User: [Response]
Agent: Were there any Claude Code issues that caused loops/blocks?
User: [Response]
Agent: Any architectural insights for similar future work?
User: [Response]
Agent: I'll create a lesson in Wiki.js:
Path: /hyper-hive-labs/projects/cuisineflow/lessons-learned/sprints/sprint-16-intuit-engine
Tags detected:
#service-extraction #api #refactoring #claude-code-loops
Creating page in Wiki.js... ✅
Updating INDEX.md... ✅
View at: https://wiki.hyperhivelabs.com/hyper-hive-labs/projects/cuisineflow/lessons-learned/sprints/sprint-16-intuit-engine
```
**Wiki.js Page Creation:**
```python
# Using Wiki.js MCP create_page tool
await wikijs_client.create_page(
path="/hyper-hive-labs/projects/cuisineflow/lessons-learned/sprints/sprint-16-intuit-engine",
title="Sprint 16: Intuit Engine Extraction",
content=lesson_markdown,
tags=["service-extraction", "api", "refactoring", "claude-code-loops"]
)
```
**Success Criteria:**
- Guided retrospective questions
- Document created in Wiki.js
- Tags added via Wiki.js tag system
- INDEX.md updated automatically
- Viewable in Wiki.js web interface
- Version history tracked
- Searchable immediately
---
## Phase 5: Testing & Validation (projman)
### 5.1 Integration Testing
**Deliverable:** Comprehensive test suite
**Tasks:**
- Test MCP server tools:
- Issue CRUD operations
- Label operations
- Wiki operations
- Configuration loading
- Test command workflows:
- Complete sprint lifecycle
- Label sync
- Lessons learned capture
- Test agent interactions:
- Planner workflow
- Orchestrator monitoring
- Executor guidance
- Test configuration:
- System-level loading
- Project-level loading
- Hybrid merge behavior
- Missing config handling
**Test Matrix:**
```
| Component | Test Coverage | Status |
|------------------|---------------|--------|
| MCP Tools | All 10 tools | ✅ |
| Commands | All 5 cmds | ✅ |
| Agents | All 3 agents | ✅ |
| Configuration | All scenarios | ✅ |
| Wiki Integration | Full flow | ✅ |
| Label System | All labels | ✅ |
```
**Success Criteria:**
- All tests pass
- Edge cases handled
- Error messages clear
- Configuration validation works
- Performance acceptable
### 5.2 Real Sprint Testing
**Deliverable:** Plugin validated with actual sprint
**Tasks:**
- Use plugin for Intuit engine extraction sprint
- Monitor for issues
- Collect user feedback
- Identify pain points
- Document improvements needed
**Test Sprint Checklist:**
- [ ] Sprint planning with planner agent
- [ ] Issue created with correct labels
- [ ] Lessons learned searched at start
- [ ] Status monitoring during sprint
- [ ] Blocker identification
- [ ] Sprint close with retrospective
- [ ] Wiki updated with lessons
**Success Criteria:**
- Plugin handles real sprint
- No critical bugs
- Workflow feels natural
- Saves time vs manual process
- Lessons learned captured
### 5.3 Configuration Testing
**Deliverable:** Validated hybrid configuration
**Tasks:**
- Test system config creation
- Test project config creation
- Test configuration loading order
- Test missing config scenarios:
- No system config
- No project config
- Invalid credentials
- Network issues
- Test multi-project scenarios:
- Different repos with same system config
- Switching between projects
- Config changes propagation
**Test Scenarios:**
```
Scenario 1: Fresh install
- No configs exist
- Plugin guides user through setup
- All configs created correctly
Scenario 2: System config exists
- User adds new project
- Only needs project .env
- System config reused
Scenario 3: Invalid credentials
- Clear error message
- Suggests checking config
- Points to CONFIGURATION.md
Scenario 4: Multi-project
- cuisineflow project
- Switch to intuit-engine project
- Each uses correct GITEA_REPO
- Same system credentials
```
**Success Criteria:**
- Configuration works in all scenarios
- Error messages are helpful
- Setup is intuitive
- Multi-project switching seamless
- Documentation matches reality
---
## Phase 6: Documentation & Refinement (projman)
### 6.1 User Documentation
**Deliverable:** Complete user guide
**Tasks:**
- Write README.md:
- Installation instructions
- Configuration setup (hybrid approach)
- Command reference
- Agent descriptions
- Troubleshooting
- Write CONFIGURATION.md:
- System-level setup
- Project-level setup
- Validation steps
- Common issues
- Create ARCHITECTURE.md:
- Plugin structure
- MCP server design
- Configuration flow
- Agent system
- Write CONTRIBUTING.md:
- Development setup
- Testing guidelines
- Label taxonomy updates
- Wiki maintenance
**Success Criteria:**
- Complete documentation
- Clear setup instructions
- Configuration well-explained
- Examples provided
- Troubleshooting guide
### 6.2 Iteration Based on Feedback
**Deliverable:** Refined plugin based on real use
**Tasks:**
- Address issues from test sprint
- Improve agent prompts
- Refine command flows
- Enhance error messages
- Optimize performance
- Update configuration docs if needed
**Feedback Categories:**
- Usability issues
- Missing features
- Confusing workflows
- Error handling gaps
- Documentation unclear
- Configuration complexity
**Success Criteria:**
- Major issues resolved
- Workflows improved
- Documentation updated
- Performance acceptable
- Ready for team use
---
## Phase 7: Marketplace Preparation (projman)
### 7.1 Gitea Marketplace Setup
**Deliverable:** projman available in Gitea marketplace
**Tasks:**
- Create marketplace repository in Gitea:
- `hyperhivelabs/claude-plugins`
- Add projman plugin to repository
- Create `.claude-plugin/marketplace.json`:
```json
{
"plugins": [
{
"name": "projman",
"displayName": "Project Manager",
"description": "Single-repo project management with Gitea",
"version": "1.0.0",
"author": "Hyper Hive Labs",
"repository": "hyperhivelabs/claude-plugins",
"path": "projman"
}
]
}
```
- Test marketplace loading
- Document installation for team
**Installation Command:**
```bash
# Add marketplace
/plugin marketplace add https://your-gitea.com/hyperhivelabs/claude-plugins
# Install plugin
/plugin install projman
```
**Success Criteria:**
- Marketplace repository created
- Plugin available for installation
- Installation works smoothly
- Team can access plugin
- Documentation clear
### 7.2 Team Onboarding
**Deliverable:** Team trained on projman usage
**Tasks:**
- Create onboarding guide
- Walk through configuration setup:
- System config creation
- Project config per repo
- Demonstrate sprint workflow
- Show lessons learned capture
- Explain label system
- Share best practices
**Onboarding Checklist:**
- [ ] Configuration setup completed
- [ ] Test sprint planned
- [ ] Issue created successfully
- [ ] Labels used correctly
- [ ] Lessons learned captured
- [ ] Wiki searched successfully
**Success Criteria:**
- Team understands configuration
- Can run full sprint workflow
- Uses labels correctly
- Captures lessons learned
- Comfortable with plugin
---
## Phase 8: Production Hardening (projman)
### 8.1 Error Handling & Resilience
**Deliverable:** Production-ready error handling
**Tasks:**
- Implement comprehensive error handling:
- Network failures
- API rate limits
- Authentication errors
- Invalid configurations
- Missing Wiki
- Git conflicts
- Add retry logic for transient failures
- Improve error messages
- Add logging for debugging
- Create health check command
**Success Criteria:**
- Graceful failure handling
- Clear error messages
- Automatic retries where appropriate
- Logging helps debugging
- Users not blocked by errors
### 8.2 Performance Optimization
**Deliverable:** Optimized plugin performance
**Tasks:**
- Profile MCP server operations using cProfile
- Optimize API calls:
- Batch requests where possible
- Cache label data using lru_cache
- Minimize Wiki searches
- Reduce startup time
- Optimize configuration loading
- Test with large repositories
- Use async/await for concurrent operations where beneficial
**Success Criteria:**
- Fast command execution
- Low latency for API calls
- Efficient caching
- Handles large repos
- Startup time < 2 seconds
### 8.3 Security Audit
**Deliverable:** Security-hardened plugin
**Tasks:**
- Review credential handling:
- System config permissions
- Token storage security
- Environment variable safety
- Validate input sanitization
- Check for injection vulnerabilities
- Review error message information leakage
- Audit logging for sensitive data
- Test access controls
**Security Checklist:**
- [ ] Credentials never logged
- [ ] Config files have correct permissions
- [ ] Input validation on all user input
- [ ] No SQL/command injection vectors
- [ ] Error messages don't leak tokens
- [ ] API calls use TLS
- [ ] Token rotation supported
**Success Criteria:**
- No security vulnerabilities
- Credentials protected
- Safe input handling
- Audit clean
- Best practices followed
---
## Phase 9: PMO Plugin Foundation (projman-pmo)
### 9.1 Requirements Analysis
**Deliverable:** PMO plugin requirements document
**Tasks:**
- Analyze multi-project workflows:
- CuisineFlow → CuisineFlow-Site sync
- Intuit Engine → CuisineFlow integration
- HHL-Site updates
- Customer VPS deployments
- Identify cross-project dependencies
- Define coordination pain points
- Design PMO plugin scope
- Determine what belongs in PMO vs projman
**Key Questions:**
- What triggers demo site updates?
- What triggers Intuit engine updates?
- How do you coordinate customer VPS deployments?
- Where do multi-project conflicts happen?
- What decisions require cross-project visibility?
**Success Criteria:**
- Clear understanding of multi-project workflows
- Pain points documented
- PMO plugin scope defined
- Not duplicating single-repo functionality
### 9.2 MCP Server Extension
**Deliverable:** Multi-repo query capabilities
**Tasks:**
- Extend Gitea MCP server for multi-repo operations
- Add tools:
- `list_repos` - Get all organization repos
- `aggregate_issues` - Fetch issues across repos
- `check_dependencies` - Analyze cross-repo dependencies
- `get_deployment_status` - Check deployment states
- Build dependency graph visualization data
- Implement cross-repo search
**Configuration for PMO:**
**pmo/.mcp.json:**
```json
{
"mcpServers": {
"gitea-pmo": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"cwd": "${CLAUDE_PLUGIN_ROOT}/mcp-server",
"env": {
"PYTHONPATH": "${CLAUDE_PLUGIN_ROOT}/mcp-server",
"GITEA_API_URL": "${GITEA_API_URL}",
"GITEA_API_TOKEN": "${GITEA_API_TOKEN}",
"GITEA_OWNER": "${GITEA_OWNER}"
}
}
}
}
```
**Note:** PMO only uses system-level config (no GITEA_REPO).
**Success Criteria:**
- Can query multiple repos efficiently
- Dependency analysis works
- Aggregated views make sense
- Performance acceptable for 3-5 repos
- System-level config sufficient
### 9.3 PMO Agent Design
**Deliverable:** Multi-project coordinator agent
**Tasks:**
- Define PMO agent personality
- Design cross-project prioritization logic
- Create resource allocation algorithms
- Build conflict detection rules
- Design dependency tracking system
**PMO Agent Personality:**
```markdown
You are the PMO Coordinator for Hyper Hive Labs.
Your role:
- Maintain strategic view across all projects
- Identify cross-project dependencies
- Detect resource conflicts
- Balance competing priorities
- Coordinate release timing
- Track customer deployment schedules
You are:
- Strategic thinker
- Dependency-aware
- Conflict detector
- Priority balancer
- Team coordinator
You delegate to project-level agents:
- Don't micromanage single projects
- Focus on cross-project issues
- Surface conflicts early
- Facilitate coordination
```
**Success Criteria:**
- Clear separation from projman agents
- Valuable for multi-project scenarios
- Doesn't micromanage single projects
- Integrates with projman seamlessly
---
## Phase 10: PMO Plugin Development (projman-pmo)
### 10.1 Cross-Project Commands
**Deliverable:** PMO-specific commands
**Tasks:**
- `/pmo-status` - View all projects status
- `/pmo-priorities` - Review and adjust priorities across projects
- `/pmo-dependencies` - Visualize project dependencies
- `/pmo-conflicts` - Identify resource conflicts
- `/pmo-schedule` - View deployment schedule
**Command Examples:**
**`/pmo-status`:**
```
Projects Overview:
CuisineFlow (main)
├── Sprint: Intuit Engine Extraction
├── Status: In Progress (60%)
├── Blockers: None
└── Next: API testing
CuisineFlow-Site (demo)
├── Sprint: Dashboard Updates
├── Status: Waiting on CuisineFlow API
├── Blockers: Depends on #cuisineflow-47
└── Next: Deploy when API ready
Intuit-Engine (service)
├── Sprint: Initial Setup
├── Status: Planning
├── Blockers: Architecture decisions needed
└── Next: Service boundary definition
HHL-Site (marketing)
├── Sprint: Content Updates
├── Status: Complete
├── Blockers: None
└── Next: Deploy to production
```
**`/pmo-dependencies`:**
```
Project Dependencies:
CuisineFlow → Intuit-Engine
├── Must complete before v2.0 launch
└── API contracts defined
CuisineFlow → CuisineFlow-Site
├── Demo must sync with main features
└── Deploy together for consistency
Deployment Order:
1. Intuit-Engine (backend service)
2. CuisineFlow (main app)
3. CuisineFlow-Site (demo sync)
4. Customer VPS deployments
```
**Success Criteria:**
- Commands provide valuable cross-project insights
- Dependencies clearly visualized
- Conflicts easily identified
- Priorities make sense
- Schedule coordination works
### 10.2 Coordination Workflows
**Deliverable:** Multi-project coordination automation
**Tasks:**
- Implement dependency tracking
- Build conflict detection:
- Resource conflicts
- Timeline conflicts
- Priority conflicts
- Create notification system for cross-project impacts
- Design release coordination workflow
**Conflict Detection Examples:**
**Resource Conflict:**
```
⚠️ Resource Conflict Detected
Leo is assigned to:
- CuisineFlow: Intuit Engine extraction (Priority: Critical)
- CuisineFlow-Site: Dashboard redesign (Priority: High)
- HHL-Site: Content update (Priority: Medium)
Recommendation:
- Focus on Intuit Engine (blocks launch)
- Defer dashboard redesign to next sprint
- Delegate content update to marketing
```
**Timeline Conflict:**
```
⚠️ Timeline Conflict Detected
CuisineFlow v2.0 launch: Nov 15
├── Depends on: Intuit Engine completion
└── Current status: Behind schedule
Impact:
- Demo site deployment delayed
- Customer VPS updates postponed
- Marketing announcements on hold
Action needed: Re-evaluate scope or push date
```
**Success Criteria:**
- Conflicts detected automatically
- Clear recommendations provided
- Dependencies tracked accurately
- Timeline visibility maintained
### 10.3 Dashboard & Reporting
**Deliverable:** Multi-project dashboard
**Tasks:**
- Create consolidated view:
- All active sprints
- Cross-project dependencies
- Resource allocation
- Timeline status
- Blockers across projects
- Build reporting commands:
- `/pmo-report daily` - Daily standup report
- `/pmo-report weekly` - Weekly progress
- `/pmo-report release` - Release readiness
- Generate stakeholder updates
**Success Criteria:**
- Dashboard provides clear overview
- Reports are actionable
- Stakeholder communication improved
- Decision-making supported
---
## Phase 11: PMO Testing & Integration (projman-pmo)
### 11.1 Multi-Project Testing
**Deliverable:** Validated PMO plugin
**Tasks:**
- Test with CuisineFlow + CuisineFlow-Site + Intuit Engine
- Simulate deployment coordination scenarios
- Test priority conflict resolution
- Validate dependency tracking
- Test customer deployment scheduling
**Test Scenarios:**
**Scenario 1: Dependent Deploy**
```
Given: CuisineFlow has API changes
And: CuisineFlow-Site depends on those changes
When: CuisineFlow sprint completes
Then: PMO should alert about Site sync needed
And: Suggest coordinated deployment
```
**Scenario 2: Resource Conflict**
```
Given: Multiple critical priorities
And: Single developer (Leo)
When: PMO analyzes priorities
Then: Should detect conflict
And: Recommend prioritization
```
**Scenario 3: Release Coordination**
```
Given: Intuit Engine must deploy first
And: CuisineFlow depends on it
And: Demo site must sync
When: Release planned
Then: PMO generates deployment order
And: Validates dependencies satisfied
```
**Success Criteria:**
- All scenarios handled correctly
- Dependencies respected
- Conflicts detected and surfaced
- Coordination reduces manual overhead
### 11.2 Integration with projman
**Deliverable:** Seamless plugin interoperability
**Tasks:**
- Ensure PMO agent delegates to projman agents
- Test command interoperability
- Validate shared MCP server usage (if applicable)
- Check lessons learned sharing across projects
- Test configuration isolation (PMO system-only vs projman hybrid)
**Integration Points:**
```
PMO Plugin projman Plugin
├─────────────────────┤
│ Delegates │
│ single-project │
│ details │
│ │
├─ Aggregates ────────┤
│ cross-project │
│ status │
│ │
└─ Coordinates ───────┘
dependencies
```
**Success Criteria:**
- PMO doesn't interfere with single-project work
- Delegation works smoothly
- Shared infrastructure stable (if any)
- Cross-project lessons accessible
- Configuration doesn't conflict
---
## Phase 12: Production Deployment
### 12.1 Multi-Environment Rollout
**Deliverable:** Plugins deployed across all environments
**Tasks:**
- Deploy to laptop (development)
- Deploy to staging VPS
- Deploy to production VPS
- Configure branch-aware permissions per environment
- Test network connectivity and API access
- Validate configuration in each environment
**Environment Configuration:**
**Laptop (Development):**
```bash
# System config (~/.config/claude/gitea.env)
GITEA_API_URL=https://gitea.hyperhivelabs.com/api/v1
GITEA_API_TOKEN=dev_token
GITEA_OWNER=hyperhivelabs
# Project configs (per repo .env)
# cuisineflow/.env
GITEA_REPO=cuisineflow
# intuit-engine/.env
GITEA_REPO=intuit-engine
```
**VPS Environments:**
- Same system config copied to VPS
- Each project repo has its own .env
- MCP server runs in production mode
- Network access validated
**Success Criteria:**
- Plugins work in all environments
- Configuration portable across systems
- Network connectivity stable
- Production ready
### 12.2 Backup & Recovery
**Deliverable:** Backup and recovery procedures
**Tasks:**
- Document configuration backup:
- System config backup
- Project configs tracked in git
- Create Wiki backup strategy
- Document recovery procedures
- Test configuration restoration
- Automate backups where possible
**Backup Strategy:**
```bash
# System config backup
cp ~/.config/claude/gitea.env ~/.config/claude/gitea.env.backup
# Wiki is already in git
cd wiki
git push origin main
# Project configs are in .gitignore (not backed up, easily recreated)
```
**Success Criteria:**
- Configuration backup documented
- Wiki backed up regularly
- Recovery procedures tested
- Data loss risk minimized
### 12.3 Monitoring & Maintenance
**Deliverable:** Ongoing monitoring and maintenance plan
**Tasks:**
- Set up error monitoring
- Create maintenance schedule:
- Label taxonomy updates
- Wiki cleanup
- Configuration audits
- Security updates
- Document troubleshooting procedures
- Establish update process for MCP server
**Maintenance Checklist:**
- [ ] Weekly: Review error logs
- [ ] Monthly: Update Python dependencies (pip list --outdated)
- [ ] Quarterly: Security audit (pip-audit)
- [ ] As-needed: Label taxonomy sync
- [ ] As-needed: Wiki organization
- [ ] As-needed: Recreate virtual environment for major updates
**Success Criteria:**
- Monitoring in place
- Maintenance plan documented
- Update process defined
- Team knows how to maintain
---
## Rollback Plan
If plugins cause more problems than they solve:
**Immediate Fallback:**
- Keep existing skills and scripts functional
- Plugins are opt-in, not replacement
- Document issues and iterate
- Can disable plugins without losing work
**Criteria for Rollback:**
- Plugin slower than current workflow
- Frequent errors or data loss
- User frustration increases
- Blocks urgent work (like sprint deadlines)
**Progressive Enhancement:**
- Build plugins alongside current system
- Migrate piece by piece
- Keep escape hatches
- Only deprecate scripts when plugin proven
---
## Configuration Quick Reference
### System-Level Setup (Once per machine)
```bash
# Create config directory
mkdir -p ~/.config/claude
# Create gitea.env
cat > ~/.config/claude/gitea.env << EOF
GITEA_API_URL=https://gitea.hyperhivelabs.com/api/v1
GITEA_API_TOKEN=your_token_here
GITEA_OWNER=hyperhivelabs
EOF
# Set permissions
chmod 600 ~/.config/claude/gitea.env
```
### Project-Level Setup (Per repository)
```bash
# In project root
echo "GITEA_REPO=cuisineflow" > .env
# Add to .gitignore
echo ".env" >> .gitignore
```
### Validation
```bash
# Test projman configuration
cd your-project
claude plugin test projman
# Test pmo configuration (no project needed)
claude plugin test projman-pmo
```
---
## Notes on Type/Refactor Label
**Label Details:**
- **Name:** `Type/Refactor`
- **Level:** Organization (available to all repos)
- **Category:** Type/ (Exclusive - only one Type per issue)
- **Color:** #0052cc (matches other Type labels)
- **Description:** Architectural changes and code restructuring
**Usage in Plugins:**
- Planner agent suggests Type/Refactor for:
- Service extraction (like Intuit engine)
- Architecture modifications
- Code restructuring without feature changes
- Performance optimizations requiring significant changes
- Label suggestion engine detects refactor keywords:
- "extract", "refactor", "restructure", "optimize architecture"
- "service boundary", "microservice", "decouple"
- "technical debt", "code quality"
- Shows in label sync diffs when fetching from Gitea
- Documented in label taxonomy skill
**Integration Points:**
- MCP server includes Type/Refactor in label enumeration
- Suggestion engine trained on architectural patterns
- Sprint planning templates include refactor considerations
- Lessons learned can tag architectural mistakes for future refactors
---
## End of Implementation Plan
This plan builds two plugins systematically, starting with single-repo project management (projman) and expanding to multi-project coordination (projman-pmo). Each phase builds on previous phases, with testing and validation throughout.
The hybrid configuration approach provides the right balance of simplicity (single token location) and flexibility (per-project repository specification).
The plan is execution-ready but flexible - adjust based on real-world feedback and discovered requirements.