claude-mpm 4.1.13__py3-none-any.whl → 4.1.15__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/templates/ops.json +15 -6
- claude_mpm/commands/__init__.py +14 -0
- claude_mpm/commands/mpm-agents.md +12 -0
- claude_mpm/commands/mpm-config.md +18 -0
- claude_mpm/commands/mpm-doctor.md +24 -0
- claude_mpm/commands/mpm-help.md +10 -0
- claude_mpm/commands/mpm-status.md +13 -0
- claude_mpm/commands/mpm-tickets.md +102 -0
- claude_mpm/commands/mpm.md +19 -0
- claude_mpm/dashboard/__init__.py +12 -0
- claude_mpm/dashboard/static/css/activity.css +3 -3
- claude_mpm/dashboard/static/css/code-tree.css +235 -2
- claude_mpm/dashboard/static/js/components/code-tree.js +535 -241
- claude_mpm/experimental/__init__.py +10 -0
- claude_mpm/hooks/claude_hooks/installer.py +13 -3
- claude_mpm/schemas/__init__.py +12 -0
- claude_mpm/scripts/socketio_daemon_wrapper.py +78 -0
- claude_mpm/services/cli/socketio_manager.py +21 -13
- claude_mpm/services/command_deployment_service.py +8 -2
- claude_mpm/tools/__init__.py +10 -0
- {claude_mpm-4.1.13.dist-info → claude_mpm-4.1.15.dist-info}/METADATA +8 -2
- {claude_mpm-4.1.13.dist-info → claude_mpm-4.1.15.dist-info}/RECORD +27 -14
- {claude_mpm-4.1.13.dist-info → claude_mpm-4.1.15.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.13.dist-info → claude_mpm-4.1.15.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.1.13.dist-info → claude_mpm-4.1.15.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.13.dist-info → claude_mpm-4.1.15.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.1.
|
|
1
|
+
4.1.15
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema_version": "1.2.0",
|
|
3
3
|
"agent_id": "ops-agent",
|
|
4
|
-
"agent_version": "2.2.
|
|
5
|
-
"template_version": "2.
|
|
4
|
+
"agent_version": "2.2.2",
|
|
5
|
+
"template_version": "2.2.0",
|
|
6
6
|
"template_changelog": [
|
|
7
|
+
{
|
|
8
|
+
"version": "2.2.0",
|
|
9
|
+
"date": "2025-08-29",
|
|
10
|
+
"description": "Added comprehensive git commit authority with mandatory security verification"
|
|
11
|
+
},
|
|
7
12
|
{
|
|
8
13
|
"version": "2.1.0",
|
|
9
14
|
"date": "2025-08-25",
|
|
@@ -33,7 +38,7 @@
|
|
|
33
38
|
],
|
|
34
39
|
"author": "Claude MPM Team",
|
|
35
40
|
"created_at": "2025-07-27T03:45:51.476769Z",
|
|
36
|
-
"updated_at": "2025-08-
|
|
41
|
+
"updated_at": "2025-08-29T12:00:00.000000Z",
|
|
37
42
|
"color": "orange"
|
|
38
43
|
},
|
|
39
44
|
"capabilities": {
|
|
@@ -64,7 +69,7 @@
|
|
|
64
69
|
]
|
|
65
70
|
}
|
|
66
71
|
},
|
|
67
|
-
"instructions": "# Ops Agent\n\n**Inherits from**: BASE_AGENT_TEMPLATE.md\n**Focus**: Infrastructure automation and system operations\n\n## Core Expertise\n\nManage infrastructure, deployments, and system operations with a focus on reliability and automation. Handle CI/CD, monitoring, and operational excellence.\n\n## Ops-Specific Memory Management\n\n**Configuration Sampling**:\n- Extract patterns from config files, not full content\n- Use grep for environment variables and settings\n- Process deployment scripts sequentially\n- Sample 2-3 representative configs per service\n\n## Operations Protocol\n\n### Infrastructure Management\n```bash\n# Check system resources\ndf -h | head -10\nfree -h\nps aux | head -20\nnetstat -tlnp 2>/dev/null | head -10\n```\n\n### Deployment Operations\n```bash\n# Docker operations\ndocker ps --format \"table {{.Names}}\t{{.Status}}\t{{.Ports}}\"\ndocker images --format \"table {{.Repository}}\t{{.Tag}}\t{{.Size}}\"\n\n# Kubernetes operations (if applicable)\nkubectl get pods -o wide | head -20\nkubectl get services | head -10\n```\n\n### CI/CD Pipeline Management\n```bash\n# Check pipeline status\ngrep -r \"stage:\" .gitlab-ci.yml 2>/dev/null\ngrep -r \"jobs:\" .github/workflows/*.yml 2>/dev/null | head -10\n```\n\n## Operations Focus Areas\n\n- **Infrastructure**: Servers, containers, orchestration\n- **Deployment**: CI/CD pipelines, release management\n- **Monitoring**: Logs, metrics, alerts\n- **Security**: Access control, secrets management\n- **Performance**: Resource optimization, scaling\n- **Reliability**: Backup, recovery, high availability\n\n## Operations Categories\n\n### Infrastructure as Code\n- Terraform configurations\n- Ansible playbooks\n- CloudFormation templates\n- Kubernetes manifests\n\n### Monitoring & Observability\n- Log aggregation setup\n- Metrics collection\n- Alert configuration\n- Dashboard creation\n\n### Security Operations\n- Secret rotation\n- Access management\n- Security scanning\n- Compliance checks\n\n## Ops-Specific Todo Patterns\n\n**Infrastructure Tasks**:\n- `[Ops] Configure production deployment pipeline`\n- `[Ops] Set up monitoring for new service`\n- `[Ops] Implement auto-scaling rules`\n\n**Maintenance Tasks**:\n- `[Ops] Update SSL certificates`\n- `[Ops] Rotate database credentials`\n- `[Ops] Patch security vulnerabilities`\n\n**Optimization Tasks**:\n- `[Ops] Optimize container images`\n- `[Ops] Reduce infrastructure costs`\n- `[Ops] Improve deployment speed`\n\n## Operations Workflow\n\n### Phase 1: Assessment\n```bash\n# Check current state\ndocker-compose ps 2>/dev/null || docker ps\nsystemctl status nginx 2>/dev/null || service nginx status\ngrep -h \"ENV\" Dockerfile* 2>/dev/null | head -10\n```\n\n### Phase 2: Implementation\n```bash\n# Apply changes safely\n# Always backup before changes\n# Use --dry-run when available\n# Test in staging first\n```\n\n### Phase 3: Verification\n```bash\n# Verify deployments\ncurl -I http://localhost/health 2>/dev/null\ndocker logs app --tail=50 2>/dev/null\nkubectl rollout status deployment/app 2>/dev/null\n```\n\n## Ops Memory Categories\n\n**Pattern Memories**: Deployment patterns, config patterns\n**Architecture Memories**: Infrastructure topology, service mesh\n**Performance Memories**: Bottlenecks, optimization wins\n**Security Memories**: Vulnerabilities, security configs\n**Context Memories**: Environment specifics, tool versions\n\n## Operations Standards\n\n- **Automation**: Infrastructure as Code for everything\n- **Safety**: Always test in staging first\n- **Documentation**: Clear runbooks and procedures\n- **Monitoring**: Comprehensive observability\n- **Security**: Defense in depth approach",
|
|
72
|
+
"instructions": "# Ops Agent\n\n**Inherits from**: BASE_AGENT_TEMPLATE.md\n**Focus**: Infrastructure automation and system operations\n\n## Core Expertise\n\nManage infrastructure, deployments, and system operations with a focus on reliability and automation. Handle CI/CD, monitoring, and operational excellence.\n\n## Ops-Specific Memory Management\n\n**Configuration Sampling**:\n- Extract patterns from config files, not full content\n- Use grep for environment variables and settings\n- Process deployment scripts sequentially\n- Sample 2-3 representative configs per service\n\n## Operations Protocol\n\n### Infrastructure Management\n```bash\n# Check system resources\ndf -h | head -10\nfree -h\nps aux | head -20\nnetstat -tlnp 2>/dev/null | head -10\n```\n\n### Deployment Operations\n```bash\n# Docker operations\ndocker ps --format \"table {{.Names}}\t{{.Status}}\t{{.Ports}}\"\ndocker images --format \"table {{.Repository}}\t{{.Tag}}\t{{.Size}}\"\n\n# Kubernetes operations (if applicable)\nkubectl get pods -o wide | head -20\nkubectl get services | head -10\n```\n\n### CI/CD Pipeline Management\n```bash\n# Check pipeline status\ngrep -r \"stage:\" .gitlab-ci.yml 2>/dev/null\ngrep -r \"jobs:\" .github/workflows/*.yml 2>/dev/null | head -10\n```\n\n## Operations Focus Areas\n\n- **Infrastructure**: Servers, containers, orchestration\n- **Deployment**: CI/CD pipelines, release management\n- **Monitoring**: Logs, metrics, alerts\n- **Security**: Access control, secrets management\n- **Performance**: Resource optimization, scaling\n- **Reliability**: Backup, recovery, high availability\n\n## Operations Categories\n\n### Infrastructure as Code\n- Terraform configurations\n- Ansible playbooks\n- CloudFormation templates\n- Kubernetes manifests\n\n### Monitoring & Observability\n- Log aggregation setup\n- Metrics collection\n- Alert configuration\n- Dashboard creation\n\n### Security Operations\n- Secret rotation\n- Access management\n- Security scanning\n- Compliance checks\n\n## Ops-Specific Todo Patterns\n\n**Infrastructure Tasks**:\n- `[Ops] Configure production deployment pipeline`\n- `[Ops] Set up monitoring for new service`\n- `[Ops] Implement auto-scaling rules`\n\n**Maintenance Tasks**:\n- `[Ops] Update SSL certificates`\n- `[Ops] Rotate database credentials`\n- `[Ops] Patch security vulnerabilities`\n\n**Optimization Tasks**:\n- `[Ops] Optimize container images`\n- `[Ops] Reduce infrastructure costs`\n- `[Ops] Improve deployment speed`\n\n## Operations Workflow\n\n### Phase 1: Assessment\n```bash\n# Check current state\ndocker-compose ps 2>/dev/null || docker ps\nsystemctl status nginx 2>/dev/null || service nginx status\ngrep -h \"ENV\" Dockerfile* 2>/dev/null | head -10\n```\n\n### Phase 2: Implementation\n```bash\n# Apply changes safely\n# Always backup before changes\n# Use --dry-run when available\n# Test in staging first\n```\n\n### Phase 3: Verification\n```bash\n# Verify deployments\ncurl -I http://localhost/health 2>/dev/null\ndocker logs app --tail=50 2>/dev/null\nkubectl rollout status deployment/app 2>/dev/null\n```\n\n## Ops Memory Categories\n\n**Pattern Memories**: Deployment patterns, config patterns\n**Architecture Memories**: Infrastructure topology, service mesh\n**Performance Memories**: Bottlenecks, optimization wins\n**Security Memories**: Vulnerabilities, security configs\n**Context Memories**: Environment specifics, tool versions\n\n## Git Commit Authority\n\nThe Ops agent has full authority to make git commits for infrastructure, deployment, and operational changes with mandatory security verification.\n\n### Pre-Commit Security Protocol\n\n**MANDATORY**: Before ANY git commit, you MUST:\n1. Run security scans to detect secrets/keys\n2. Verify no sensitive data in staged files\n3. Check for hardcoded credentials\n4. Ensure environment variables are externalized\n\n### Security Verification Commands\n\nAlways run these checks before committing:\n```bash\n# 1. Use existing security infrastructure\nmake quality # Runs bandit and other security checks\n\n# 2. Additional secret pattern detection\n# Check for API keys and tokens\nrg -i \"(api[_-]?key|token|secret|password)\\s*[=:]\\s*['\\\"][^'\\\"]{10,}\" --type-add 'config:*.{json,yaml,yml,toml,ini,env}' -tconfig -tpy\n\n# Check for AWS keys\nrg \"AKIA[0-9A-Z]{16}\" .\n\n# Check for private keys\nrg \"-----BEGIN (RSA |EC |OPENSSH |DSA |)?(PRIVATE|SECRET) KEY-----\" .\n\n# Check for high-entropy strings (potential secrets)\nrg \"['\\\"][A-Za-z0-9+/]{40,}[=]{0,2}['\\\"]\" --type-add 'config:*.{json,yaml,yml,toml,ini}' -tconfig\n\n# 3. Verify no large binary files\nfind . -type f -size +1000k -not -path \"./.git/*\" -not -path \"./node_modules/*\"\n```\n\n### Git Commit Workflow\n\n1. **Stage Changes**:\n ```bash\n git add <specific-files> # Prefer specific files over git add .\n ```\n\n2. **Security Verification**:\n ```bash\n # Run full security scan\n make quality\n \n # If make quality not available, run manual checks\n git diff --cached --name-only | xargs -I {} sh -c 'echo \"Checking {}\" && rg -i \"password|secret|token|api.key\" {} || true'\n ```\n\n3. **Commit with Structured Message**:\n ```bash\n git commit -m \"type(scope): description\n \n - Detail 1\n - Detail 2\n \n 🤖 Generated with [Claude Code](https://claude.ai/code)\n \n Co-Authored-By: Claude <noreply@anthropic.com>\"\n ```\n\n### Prohibited Patterns\n\n**NEVER commit files containing**:\n- Hardcoded passwords: `password = \"actual_password\"`\n- API keys: `api_key = \"sk-...\"`\n- Private keys: `-----BEGIN PRIVATE KEY-----`\n- Database URLs with credentials: `postgresql://user:pass@host`\n- AWS/Cloud credentials: `AKIA...` patterns\n- JWT tokens: `eyJ...` patterns\n- .env files with actual values (use .env.example instead)\n\n### Security Response Protocol\n\nIf secrets are detected:\n1. **STOP** - Do not proceed with commit\n2. **Remove** - Clean the sensitive data\n3. **Externalize** - Move to environment variables\n4. **Document** - Update .env.example with placeholders\n5. **Verify** - Re-run security checks\n6. **Commit** - Only after all checks pass\n\n### Commit Types (Conventional Commits)\n\nUse these prefixes for infrastructure commits:\n- `feat:` New infrastructure features\n- `fix:` Infrastructure bug fixes\n- `perf:` Performance improvements\n- `refactor:` Infrastructure refactoring\n- `docs:` Documentation updates\n- `chore:` Maintenance tasks\n- `ci:` CI/CD pipeline changes\n- `build:` Build system changes\n- `revert:` Revert previous commits\n\n## Operations Standards\n\n- **Automation**: Infrastructure as Code for everything\n- **Safety**: Always test in staging first\n- **Documentation**: Clear runbooks and procedures\n- **Monitoring**: Comprehensive observability\n- **Security**: Defense in depth approach",
|
|
68
73
|
"knowledge": {
|
|
69
74
|
"domain_expertise": [
|
|
70
75
|
"Docker and container orchestration",
|
|
@@ -131,7 +136,9 @@
|
|
|
131
136
|
"Deployment patterns and rollback procedures",
|
|
132
137
|
"Infrastructure configurations",
|
|
133
138
|
"Monitoring and alerting strategies",
|
|
134
|
-
"CI/CD pipeline requirements"
|
|
139
|
+
"CI/CD pipeline requirements",
|
|
140
|
+
"Git commit protocols and security verification",
|
|
141
|
+
"Security scanning patterns and secret detection"
|
|
135
142
|
],
|
|
136
143
|
"keywords": [
|
|
137
144
|
"deployment",
|
|
@@ -150,7 +157,9 @@
|
|
|
150
157
|
"grafana",
|
|
151
158
|
"aws",
|
|
152
159
|
"azure",
|
|
153
|
-
"gcp"
|
|
160
|
+
"gcp",
|
|
161
|
+
"git commit protocols",
|
|
162
|
+
"security scanning patterns"
|
|
154
163
|
]
|
|
155
164
|
},
|
|
156
165
|
"dependencies": {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Commands package for Claude MPM.
|
|
3
|
+
|
|
4
|
+
This module contains command documentation files (Markdown) that are accessed
|
|
5
|
+
via importlib.resources.path() for command help and reference material.
|
|
6
|
+
|
|
7
|
+
This __init__.py file is required to make this directory recognizable as a
|
|
8
|
+
Python package by setuptools, which is necessary for proper distribution
|
|
9
|
+
and importlib resource access in installed packages.
|
|
10
|
+
|
|
11
|
+
Without this file, importlib.resources.path("claude_mpm", "commands") would
|
|
12
|
+
fail in the distributed package, even though it works in development when
|
|
13
|
+
the package is installed in editable mode.
|
|
14
|
+
"""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Show available agents and their versions
|
|
2
|
+
|
|
3
|
+
Show all available Claude MPM agents with their versions and deployment status.
|
|
4
|
+
|
|
5
|
+
This command displays:
|
|
6
|
+
- Agent names and descriptions
|
|
7
|
+
- Version information
|
|
8
|
+
- Tool availability
|
|
9
|
+
- Model preferences
|
|
10
|
+
- Deployment status
|
|
11
|
+
|
|
12
|
+
Usage: /mpm-agents
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# View or modify claude-mpm configuration
|
|
2
|
+
|
|
3
|
+
Manage Claude MPM configuration settings.
|
|
4
|
+
|
|
5
|
+
Usage: /mpm-config [key] [value]
|
|
6
|
+
|
|
7
|
+
Examples:
|
|
8
|
+
- /mpm-config - Show all configuration
|
|
9
|
+
- /mpm-config list - List all configuration keys
|
|
10
|
+
- /mpm-config set logging debug - Set logging level to debug
|
|
11
|
+
- /mpm-config get websocket-port - Get WebSocket port setting
|
|
12
|
+
|
|
13
|
+
Configuration categories:
|
|
14
|
+
- logging: Logging levels and output
|
|
15
|
+
- websocket: WebSocket server settings
|
|
16
|
+
- hooks: Hook service configuration
|
|
17
|
+
- memory: Memory system settings
|
|
18
|
+
- agents: Agent deployment options
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Run diagnostic checks on claude-mpm installation
|
|
2
|
+
|
|
3
|
+
Run comprehensive diagnostic checks on your Claude MPM installation to identify and fix common issues.
|
|
4
|
+
|
|
5
|
+
This command checks:
|
|
6
|
+
- Installation integrity
|
|
7
|
+
- Configuration validity
|
|
8
|
+
- WebSocket connectivity
|
|
9
|
+
- Agent deployment status
|
|
10
|
+
- Memory system health
|
|
11
|
+
- Hook service status
|
|
12
|
+
|
|
13
|
+
Usage: /mpm-doctor [options]
|
|
14
|
+
|
|
15
|
+
Options:
|
|
16
|
+
- --verbose: Show detailed output
|
|
17
|
+
- --no-color: Disable colored output
|
|
18
|
+
- --checks [list]: Run specific checks only
|
|
19
|
+
- --fix: Attempt to fix identified issues
|
|
20
|
+
|
|
21
|
+
Examples:
|
|
22
|
+
- /mpm-doctor
|
|
23
|
+
- /mpm-doctor --verbose
|
|
24
|
+
- /mpm-doctor --fix
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Show help for available MPM commands
|
|
2
|
+
|
|
3
|
+
Display help information for Claude MPM commands.
|
|
4
|
+
|
|
5
|
+
Usage: /mpm-help [command]
|
|
6
|
+
|
|
7
|
+
Examples:
|
|
8
|
+
- /mpm-help - Show all MPM commands
|
|
9
|
+
- /mpm-help doctor - Show detailed help for doctor command
|
|
10
|
+
- /mpm-help agents - Show detailed help for agents command
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Show claude-mpm status and environment
|
|
2
|
+
|
|
3
|
+
Display the current status of Claude MPM including environment information, active services, and system health.
|
|
4
|
+
|
|
5
|
+
This command shows:
|
|
6
|
+
- Claude MPM version
|
|
7
|
+
- Python environment
|
|
8
|
+
- Active services (WebSocket, Hook Service, etc.)
|
|
9
|
+
- Memory usage
|
|
10
|
+
- Agent deployment status
|
|
11
|
+
- Configuration summary
|
|
12
|
+
|
|
13
|
+
Usage: /mpm-status
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# mpm-tickets
|
|
2
|
+
|
|
3
|
+
Create and manage tickets using aitrackdown
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
Use this command to create and manage tickets (epics, issues, tasks) through aitrackdown CLI integration.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
### Create tickets
|
|
12
|
+
```bash
|
|
13
|
+
# Create an epic
|
|
14
|
+
aitrackdown create epic "Title" --description "Description"
|
|
15
|
+
|
|
16
|
+
# Create an issue
|
|
17
|
+
aitrackdown create issue "Title" --description "Description"
|
|
18
|
+
|
|
19
|
+
# Create a task
|
|
20
|
+
aitrackdown create task "Title" --description "Description"
|
|
21
|
+
|
|
22
|
+
# Create task under an issue
|
|
23
|
+
aitrackdown create task "Title" --issue ISS-0001
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### View tickets
|
|
27
|
+
```bash
|
|
28
|
+
# Show all tasks
|
|
29
|
+
aitrackdown status tasks
|
|
30
|
+
|
|
31
|
+
# Show specific ticket
|
|
32
|
+
aitrackdown show ISS-0001
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Update tickets
|
|
36
|
+
```bash
|
|
37
|
+
# Change status
|
|
38
|
+
aitrackdown transition ISS-0001 in-progress
|
|
39
|
+
aitrackdown transition ISS-0001 done
|
|
40
|
+
|
|
41
|
+
# Add comment
|
|
42
|
+
aitrackdown comment ISS-0001 "Your comment"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Search tickets
|
|
46
|
+
```bash
|
|
47
|
+
aitrackdown search tasks "keyword"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Ticket Types
|
|
51
|
+
|
|
52
|
+
- **EP-XXXX**: Epics (major initiatives)
|
|
53
|
+
- **ISS-XXXX**: Issues (bugs, features, user requests)
|
|
54
|
+
- **TSK-XXXX**: Tasks (individual work items)
|
|
55
|
+
|
|
56
|
+
## Workflow States
|
|
57
|
+
|
|
58
|
+
Valid transitions:
|
|
59
|
+
- `open` → `in-progress` → `ready` → `tested` → `done`
|
|
60
|
+
- Any state → `waiting` (when blocked)
|
|
61
|
+
- Any state → `closed` (to close)
|
|
62
|
+
|
|
63
|
+
## Examples
|
|
64
|
+
|
|
65
|
+
### Bug Report Flow
|
|
66
|
+
```bash
|
|
67
|
+
# Create issue for bug
|
|
68
|
+
aitrackdown create issue "Login bug" --description "Users can't login" --severity high
|
|
69
|
+
|
|
70
|
+
# Create investigation task
|
|
71
|
+
aitrackdown create task "Investigate login bug" --issue ISS-0001
|
|
72
|
+
|
|
73
|
+
# Update status
|
|
74
|
+
aitrackdown transition TSK-0001 in-progress
|
|
75
|
+
aitrackdown comment TSK-0001 "Found the issue"
|
|
76
|
+
|
|
77
|
+
# Complete
|
|
78
|
+
aitrackdown transition TSK-0001 done
|
|
79
|
+
aitrackdown transition ISS-0001 done
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Feature Implementation
|
|
83
|
+
```bash
|
|
84
|
+
# Create epic
|
|
85
|
+
aitrackdown create epic "OAuth2 Support"
|
|
86
|
+
|
|
87
|
+
# Create issues
|
|
88
|
+
aitrackdown create issue "Google OAuth2" --description "Add Google auth"
|
|
89
|
+
aitrackdown create issue "GitHub OAuth2" --description "Add GitHub auth"
|
|
90
|
+
|
|
91
|
+
# Create tasks
|
|
92
|
+
aitrackdown create task "Design OAuth flow" --issue ISS-0001
|
|
93
|
+
aitrackdown create task "Implement Google client" --issue ISS-0001
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Tips
|
|
97
|
+
|
|
98
|
+
- Always use aitrackdown directly (not claude-mpm tickets)
|
|
99
|
+
- Check ticket exists with `show` before updating
|
|
100
|
+
- Add comments to document progress
|
|
101
|
+
- Use `--severity` for bugs, `--priority` for features
|
|
102
|
+
- Associate tasks with issues using `--issue`
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Claude MPM - Multi-Agent Project Manager
|
|
2
|
+
|
|
3
|
+
Access Claude MPM functionality and manage your multi-agent orchestration.
|
|
4
|
+
|
|
5
|
+
Available MPM commands:
|
|
6
|
+
- /mpm-agents - Show available agents and versions
|
|
7
|
+
- /mpm-doctor - Run diagnostic checks
|
|
8
|
+
- /mpm-help - Show command help
|
|
9
|
+
- /mpm-status - Show MPM status
|
|
10
|
+
- /mpm-config - Manage configuration
|
|
11
|
+
|
|
12
|
+
Claude MPM extends Claude Code with:
|
|
13
|
+
- Multi-agent orchestration
|
|
14
|
+
- Project-specific PM instructions
|
|
15
|
+
- Agent memory management
|
|
16
|
+
- WebSocket monitoring
|
|
17
|
+
- Hook system for automation
|
|
18
|
+
|
|
19
|
+
For more information, use /mpm-help [command]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Dashboard package for Claude MPM.
|
|
3
|
+
|
|
4
|
+
This package contains the web-based dashboard components for Claude MPM,
|
|
5
|
+
including the analysis runner, dashboard opener, and static web assets.
|
|
6
|
+
|
|
7
|
+
The dashboard provides real-time monitoring, analysis visualization, and
|
|
8
|
+
interactive debugging capabilities for Claude MPM operations.
|
|
9
|
+
|
|
10
|
+
This __init__.py file is required to make this directory recognizable as a
|
|
11
|
+
Python package by setuptools for proper distribution and imports.
|
|
12
|
+
"""
|
|
@@ -664,13 +664,13 @@ body .activity-tree-container .linear-tree .tree-node.tool.privileged-tool .tree
|
|
|
664
664
|
color: #95A5A6;
|
|
665
665
|
}
|
|
666
666
|
|
|
667
|
-
/* Search Highlighting -
|
|
668
|
-
.tree-node.search-match:not(.tool) {
|
|
667
|
+
/* Search Highlighting - Specific to activity tree only */
|
|
668
|
+
.activity-tree-container .tree-node.search-match:not(.tool) {
|
|
669
669
|
background: #fff3cd !important;
|
|
670
670
|
border-left-color: #ffc107 !important;
|
|
671
671
|
}
|
|
672
672
|
|
|
673
|
-
.tree-node.search-match:not(.tool) .tree-label {
|
|
673
|
+
.activity-tree-container .tree-node.search-match:not(.tool) .tree-label {
|
|
674
674
|
background: #ffecb5;
|
|
675
675
|
padding: 2px 4px;
|
|
676
676
|
border-radius: 3px;
|
|
@@ -461,6 +461,13 @@
|
|
|
461
461
|
position: relative;
|
|
462
462
|
overflow: auto;
|
|
463
463
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
|
464
|
+
border-left: 1px solid #e2e8f0;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/* Visual hierarchy improvements */
|
|
468
|
+
.code-tree-container:focus-within {
|
|
469
|
+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
470
|
+
border-left-color: #3b82f6;
|
|
464
471
|
}
|
|
465
472
|
|
|
466
473
|
/* Loading indicator */
|
|
@@ -710,6 +717,78 @@
|
|
|
710
717
|
filter: brightness(1.1);
|
|
711
718
|
}
|
|
712
719
|
|
|
720
|
+
/* Directory node styling - make expandable directories obvious */
|
|
721
|
+
.code-node.directory circle {
|
|
722
|
+
fill: #f8fafc;
|
|
723
|
+
stroke: #3b82f6;
|
|
724
|
+
stroke-width: 2px;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
.code-node.directory:hover circle {
|
|
728
|
+
fill: #eef2ff;
|
|
729
|
+
stroke: #2563eb;
|
|
730
|
+
stroke-width: 3px;
|
|
731
|
+
filter: drop-shadow(0 2px 4px rgba(59, 130, 246, 0.3));
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
/* Expanded directory styling */
|
|
735
|
+
.code-node.directory.expanded circle {
|
|
736
|
+
fill: #dbeafe;
|
|
737
|
+
stroke: #1d4ed8;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
/* File node styling */
|
|
741
|
+
.code-node.file circle {
|
|
742
|
+
fill: #f9fafb;
|
|
743
|
+
stroke: #6b7280;
|
|
744
|
+
stroke-width: 1.5px;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
.code-node.file:hover circle {
|
|
748
|
+
fill: #f3f4f6;
|
|
749
|
+
stroke: #4b5563;
|
|
750
|
+
stroke-width: 2px;
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
/* Empty directory styling */
|
|
754
|
+
.code-node.directory.empty circle {
|
|
755
|
+
fill: #f9fafb;
|
|
756
|
+
stroke: #9ca3af;
|
|
757
|
+
stroke-dasharray: 3,3;
|
|
758
|
+
opacity: 0.7;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
/* Directory expand/collapse icons */
|
|
762
|
+
.expand-icon {
|
|
763
|
+
font-family: monospace;
|
|
764
|
+
font-size: 12px;
|
|
765
|
+
font-weight: bold;
|
|
766
|
+
text-anchor: middle;
|
|
767
|
+
dominant-baseline: central;
|
|
768
|
+
fill: #374151;
|
|
769
|
+
pointer-events: none;
|
|
770
|
+
transition: all 0.2s ease;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
.code-node.directory .expand-icon {
|
|
774
|
+
fill: #3b82f6;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
.code-node.directory.expanded .expand-icon {
|
|
778
|
+
fill: #1d4ed8;
|
|
779
|
+
transform: rotate(90deg);
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
.code-node.directory.loading .expand-icon {
|
|
783
|
+
fill: #f59e0b;
|
|
784
|
+
animation: spin 1s linear infinite;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
@keyframes spin {
|
|
788
|
+
from { transform: rotate(0deg); }
|
|
789
|
+
to { transform: rotate(360deg); }
|
|
790
|
+
}
|
|
791
|
+
|
|
713
792
|
/* Visualization Controls */
|
|
714
793
|
.viz-controls {
|
|
715
794
|
position: absolute;
|
|
@@ -802,6 +881,31 @@
|
|
|
802
881
|
fill: #ec4899;
|
|
803
882
|
}
|
|
804
883
|
|
|
884
|
+
/* Search match highlighting */
|
|
885
|
+
.code-node.search-match circle {
|
|
886
|
+
stroke: #fbbf24 !important;
|
|
887
|
+
stroke-width: 3px;
|
|
888
|
+
fill: #fef3c7 !important;
|
|
889
|
+
filter: drop-shadow(0 0 8px rgba(251, 191, 36, 0.6));
|
|
890
|
+
animation: searchPulse 2s ease-in-out infinite;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
.code-node.search-match text {
|
|
894
|
+
font-weight: bold;
|
|
895
|
+
fill: #92400e;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
@keyframes searchPulse {
|
|
899
|
+
0%, 100% {
|
|
900
|
+
stroke-width: 3px;
|
|
901
|
+
opacity: 1;
|
|
902
|
+
}
|
|
903
|
+
50% {
|
|
904
|
+
stroke-width: 4px;
|
|
905
|
+
opacity: 0.8;
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
|
|
805
909
|
/* Collapsed node indicator */
|
|
806
910
|
.code-node.collapsed circle {
|
|
807
911
|
fill: #e2e8f0 !important;
|
|
@@ -851,6 +955,31 @@
|
|
|
851
955
|
fill: #fef3c7 !important;
|
|
852
956
|
}
|
|
853
957
|
|
|
958
|
+
/* Enhanced loading states */
|
|
959
|
+
.code-node.loading circle {
|
|
960
|
+
stroke: #f59e0b !important;
|
|
961
|
+
fill: #fef3c7 !important;
|
|
962
|
+
animation: nodePulse 1.5s ease-in-out infinite;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
.code-node.loading text {
|
|
966
|
+
fill: #92400e;
|
|
967
|
+
font-weight: 600;
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
/* Directory item count badge */
|
|
971
|
+
.item-count-badge {
|
|
972
|
+
font-size: 10px;
|
|
973
|
+
fill: #6b7280;
|
|
974
|
+
text-anchor: middle;
|
|
975
|
+
dominant-baseline: central;
|
|
976
|
+
font-weight: 500;
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
.code-node.directory:hover .item-count-badge {
|
|
980
|
+
fill: #374151;
|
|
981
|
+
}
|
|
982
|
+
|
|
854
983
|
/* Tooltips */
|
|
855
984
|
.code-tooltip {
|
|
856
985
|
position: absolute;
|
|
@@ -864,11 +993,115 @@
|
|
|
864
993
|
z-index: 1000;
|
|
865
994
|
}
|
|
866
995
|
|
|
996
|
+
/* Tree control toolbar */
|
|
997
|
+
.tree-controls-toolbar {
|
|
998
|
+
position: absolute;
|
|
999
|
+
top: 15px;
|
|
1000
|
+
right: 15px;
|
|
1001
|
+
display: flex;
|
|
1002
|
+
gap: 8px;
|
|
1003
|
+
z-index: 100;
|
|
1004
|
+
background: rgba(255, 255, 255, 0.95);
|
|
1005
|
+
backdrop-filter: blur(4px);
|
|
1006
|
+
border: 1px solid #e5e7eb;
|
|
1007
|
+
border-radius: 8px;
|
|
1008
|
+
padding: 6px;
|
|
1009
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
.tree-control-btn {
|
|
1013
|
+
padding: 6px 10px;
|
|
1014
|
+
font-size: 12px;
|
|
1015
|
+
font-weight: 500;
|
|
1016
|
+
border: 1px solid #d1d5db;
|
|
1017
|
+
background: white;
|
|
1018
|
+
color: #374151;
|
|
1019
|
+
border-radius: 4px;
|
|
1020
|
+
cursor: pointer;
|
|
1021
|
+
transition: all 0.2s ease;
|
|
1022
|
+
display: flex;
|
|
1023
|
+
align-items: center;
|
|
1024
|
+
gap: 4px;
|
|
1025
|
+
min-width: 32px;
|
|
1026
|
+
justify-content: center;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
.tree-control-btn:hover {
|
|
1030
|
+
background: #f3f4f6;
|
|
1031
|
+
border-color: #9ca3af;
|
|
1032
|
+
transform: translateY(-1px);
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
.tree-control-btn:active {
|
|
1036
|
+
transform: translateY(0);
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
.tree-control-btn.active {
|
|
1040
|
+
background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
|
|
1041
|
+
color: white;
|
|
1042
|
+
border-color: #2563eb;
|
|
1043
|
+
box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
.tree-control-btn:disabled {
|
|
1047
|
+
opacity: 0.5;
|
|
1048
|
+
cursor: not-allowed;
|
|
1049
|
+
transform: none;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
/* Breadcrumb navigation */
|
|
1053
|
+
.tree-breadcrumb {
|
|
1054
|
+
position: absolute;
|
|
1055
|
+
top: 15px;
|
|
1056
|
+
left: 15px;
|
|
1057
|
+
background: rgba(255, 255, 255, 0.95);
|
|
1058
|
+
backdrop-filter: blur(4px);
|
|
1059
|
+
border: 1px solid #e5e7eb;
|
|
1060
|
+
border-radius: 8px;
|
|
1061
|
+
padding: 6px 12px;
|
|
1062
|
+
font-size: 12px;
|
|
1063
|
+
color: #4b5563;
|
|
1064
|
+
font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
|
|
1065
|
+
max-width: 400px;
|
|
1066
|
+
z-index: 100;
|
|
1067
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
.breadcrumb-path {
|
|
1071
|
+
display: flex;
|
|
1072
|
+
align-items: center;
|
|
1073
|
+
gap: 4px;
|
|
1074
|
+
font-weight: 500;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
.breadcrumb-separator {
|
|
1078
|
+
color: #9ca3af;
|
|
1079
|
+
margin: 0 2px;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
.breadcrumb-segment {
|
|
1083
|
+
color: #374151;
|
|
1084
|
+
cursor: pointer;
|
|
1085
|
+
padding: 2px 4px;
|
|
1086
|
+
border-radius: 3px;
|
|
1087
|
+
transition: background 0.2s ease;
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
.breadcrumb-segment:hover {
|
|
1091
|
+
background: rgba(59, 130, 246, 0.1);
|
|
1092
|
+
color: #3b82f6;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
.breadcrumb-segment.current {
|
|
1096
|
+
color: #3b82f6;
|
|
1097
|
+
font-weight: 600;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
867
1100
|
/* Code tree notifications */
|
|
868
1101
|
.code-tree-notification {
|
|
869
1102
|
position: absolute;
|
|
870
|
-
top:
|
|
871
|
-
right:
|
|
1103
|
+
top: 70px;
|
|
1104
|
+
right: 15px;
|
|
872
1105
|
padding: 12px 20px;
|
|
873
1106
|
border-radius: 6px;
|
|
874
1107
|
background: white;
|