claude-mpm 4.0.25
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.
- package/LICENSE +21 -0
- package/README.md +192 -0
- package/README.npm.md +71 -0
- package/npm-bin/claude-mpm.js +99 -0
- package/package.json +58 -0
- package/scripts/postinstall.js +106 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Claude MPM Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Claude MPM - Multi-Agent Project Manager
|
|
2
|
+
|
|
3
|
+
A powerful orchestration framework for Claude Code that enables multi-agent workflows, session management, and real-time monitoring through an intuitive interface.
|
|
4
|
+
|
|
5
|
+
> **Quick Start**: See [QUICKSTART.md](QUICKSTART.md) to get running in 5 minutes!
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- š¤ **Multi-Agent System**: 15 specialized agents for comprehensive project management
|
|
10
|
+
- š§ **Agent Memory System**: Persistent learning with project-specific knowledge retention
|
|
11
|
+
- š **Session Management**: Resume previous sessions with `--resume`
|
|
12
|
+
- š **Real-Time Monitoring**: Live dashboard with `--monitor` flag
|
|
13
|
+
- š **MCP Gateway**: Model Context Protocol integration for extensible tool capabilities
|
|
14
|
+
- š **Multi-Project Support**: Per-session working directories
|
|
15
|
+
- š **Git Integration**: View diffs and track changes across projects
|
|
16
|
+
- šÆ **Smart Task Orchestration**: PM agent intelligently routes work to specialists
|
|
17
|
+
- ā” **50-80% Performance Improvement**: Through intelligent caching and lazy loading
|
|
18
|
+
- š **Enhanced Security**: Comprehensive input validation and sanitization framework
|
|
19
|
+
|
|
20
|
+
## Quick Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install claude-mpm
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**That's it!** See [QUICKSTART.md](QUICKSTART.md) for immediate usage or [docs/user/installation.md](docs/user/installation.md) for advanced options.
|
|
27
|
+
|
|
28
|
+
## Quick Usage
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Start interactive mode (recommended)
|
|
32
|
+
claude-mpm
|
|
33
|
+
|
|
34
|
+
# Start with monitoring dashboard
|
|
35
|
+
claude-mpm run --monitor
|
|
36
|
+
|
|
37
|
+
# Use MCP Gateway for external tool integration
|
|
38
|
+
claude-mpm mcp
|
|
39
|
+
|
|
40
|
+
# Manage memory for large conversation histories
|
|
41
|
+
claude-mpm cleanup-memory
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Architecture (v3.8.2+)
|
|
48
|
+
|
|
49
|
+
Following the TSK-0053 refactoring, Claude MPM features:
|
|
50
|
+
|
|
51
|
+
- **Service-Oriented Architecture**: Five specialized service domains
|
|
52
|
+
- **Interface-Based Contracts**: All services implement explicit interfaces
|
|
53
|
+
- **Dependency Injection**: Service container with automatic resolution
|
|
54
|
+
- **50-80% Performance Improvement**: Through lazy loading and intelligent caching
|
|
55
|
+
- **Enhanced Security**: Comprehensive input validation and sanitization framework
|
|
56
|
+
|
|
57
|
+
See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture information.
|
|
58
|
+
|
|
59
|
+
## Key Capabilities
|
|
60
|
+
|
|
61
|
+
### Multi-Agent Orchestration
|
|
62
|
+
|
|
63
|
+
Claude MPM includes 15 specialized agents:
|
|
64
|
+
|
|
65
|
+
#### Core Development
|
|
66
|
+
- **Engineer** - Software development and implementation
|
|
67
|
+
- **Research** - Code analysis and research
|
|
68
|
+
- **Documentation** - Documentation creation and maintenance
|
|
69
|
+
- **QA** - Testing and quality assurance
|
|
70
|
+
- **Security** - Security analysis and implementation
|
|
71
|
+
|
|
72
|
+
#### Operations & Infrastructure
|
|
73
|
+
- **Ops** - Operations and deployment
|
|
74
|
+
- **Version Control** - Git and version management
|
|
75
|
+
- **Data Engineer** - Data pipeline and ETL development
|
|
76
|
+
|
|
77
|
+
#### Web Development
|
|
78
|
+
- **Web UI** - Frontend and UI development
|
|
79
|
+
- **Web QA** - Web testing and E2E validation
|
|
80
|
+
|
|
81
|
+
#### Project Management
|
|
82
|
+
- **Ticketing** - Issue tracking and management
|
|
83
|
+
- **Project Organizer** - File organization and structure
|
|
84
|
+
- **Memory Manager** - Project memory and context management
|
|
85
|
+
|
|
86
|
+
#### Code Quality
|
|
87
|
+
- **Refactoring Engineer** - Code refactoring and optimization
|
|
88
|
+
- **Code Analyzer** - Static code analysis with AST and tree-sitter
|
|
89
|
+
|
|
90
|
+
### Agent Memory System
|
|
91
|
+
Agents learn project-specific patterns and remember insights across sessions. Initialize with `claude-mpm memory init`.
|
|
92
|
+
|
|
93
|
+
### MCP Gateway (Model Context Protocol)
|
|
94
|
+
|
|
95
|
+
Claude MPM includes a powerful MCP Gateway that enables:
|
|
96
|
+
- Integration with external tools and services
|
|
97
|
+
- Custom tool development
|
|
98
|
+
- Protocol-based communication
|
|
99
|
+
- Extensible architecture
|
|
100
|
+
|
|
101
|
+
See [MCP Gateway Documentation](docs/developer/13-mcp-gateway/README.md) for details.
|
|
102
|
+
|
|
103
|
+
### Memory Management
|
|
104
|
+
|
|
105
|
+
Large conversation histories can consume 2GB+ of memory. Use the `cleanup-memory` command to manage Claude conversation history:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Clean up old conversation history
|
|
109
|
+
claude-mpm cleanup-memory
|
|
110
|
+
|
|
111
|
+
# Keep only recent conversations
|
|
112
|
+
claude-mpm cleanup-memory --days 7
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Real-Time Monitoring
|
|
116
|
+
The `--monitor` flag opens a web dashboard showing live agent activity, file operations, and session management.
|
|
117
|
+
|
|
118
|
+
See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
## Documentation
|
|
122
|
+
|
|
123
|
+
### User Documentation
|
|
124
|
+
- **[Quick Start Guide](QUICKSTART.md)** - Get running in 5 minutes
|
|
125
|
+
- **[Installation Guide](docs/user/installation.md)** - Complete installation options
|
|
126
|
+
- **[User Guide](docs/user/)** - Detailed usage documentation
|
|
127
|
+
- **[Memory System](docs/MEMORY.md)** - Agent memory documentation
|
|
128
|
+
- **[Troubleshooting](docs/user/troubleshooting.md)** - Common issues and solutions
|
|
129
|
+
|
|
130
|
+
### Developer Documentation
|
|
131
|
+
- **[Architecture Overview](docs/ARCHITECTURE.md)** - Service-oriented architecture and design
|
|
132
|
+
- **[API Reference](docs/api/)** - Complete API documentation with Sphinx
|
|
133
|
+
- **[Service Layer Guide](docs/developer/SERVICES.md)** - Service interfaces and implementations
|
|
134
|
+
- **[MCP Gateway Guide](docs/developer/13-mcp-gateway/README.md)** - Model Context Protocol integration
|
|
135
|
+
- **[Performance Guide](docs/PERFORMANCE.md)** - Optimization and caching strategies
|
|
136
|
+
- **[Security Guide](docs/SECURITY.md)** - Security framework and best practices
|
|
137
|
+
- **[Testing Guide](docs/TESTING.md)** - Testing patterns and strategies
|
|
138
|
+
- **[Migration Guide](docs/MIGRATION.md)** - Upgrading from previous versions
|
|
139
|
+
- **[Developer Guide](docs/developer/)** - Comprehensive development documentation
|
|
140
|
+
|
|
141
|
+
### API Documentation
|
|
142
|
+
Comprehensive API documentation is available at [docs/api/](docs/api/) - build with `make html` in that directory.
|
|
143
|
+
|
|
144
|
+
## Recent Updates (v3.8.2)
|
|
145
|
+
|
|
146
|
+
**Major Architecture Refactoring (TSK-0053)**: Complete service-oriented redesign with 50-80% performance improvements, enhanced security, and interface-based design.
|
|
147
|
+
|
|
148
|
+
**Process Management Improvements**: Enhanced hook system reliability with automatic process cleanup, timeout protection, and orphan process monitoring to prevent resource leaks.
|
|
149
|
+
|
|
150
|
+
See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/MIGRATION.md](docs/MIGRATION.md) for upgrade instructions.
|
|
151
|
+
|
|
152
|
+
## Development
|
|
153
|
+
|
|
154
|
+
### Quick Development Setup
|
|
155
|
+
```bash
|
|
156
|
+
# Complete development setup with code formatting and quality tools
|
|
157
|
+
make dev-complete
|
|
158
|
+
|
|
159
|
+
# Or step by step:
|
|
160
|
+
make setup-dev # Install in development mode
|
|
161
|
+
make setup-pre-commit # Set up automated code formatting
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Code Quality & Formatting
|
|
165
|
+
The project uses automated code formatting and quality checks:
|
|
166
|
+
- **Black** for code formatting
|
|
167
|
+
- **isort** for import sorting
|
|
168
|
+
- **flake8** for linting
|
|
169
|
+
- **mypy** for type checking
|
|
170
|
+
- **Pre-commit hooks** for automatic enforcement
|
|
171
|
+
|
|
172
|
+
See [docs/developer/CODE_FORMATTING.md](docs/developer/CODE_FORMATTING.md) for details.
|
|
173
|
+
|
|
174
|
+
### Contributing
|
|
175
|
+
Contributions are welcome! Please see our [project structure guide](docs/STRUCTURE.md) and follow the established patterns.
|
|
176
|
+
|
|
177
|
+
**Development Workflow**:
|
|
178
|
+
1. Run `make dev-complete` to set up your environment
|
|
179
|
+
2. Code formatting happens automatically on commit
|
|
180
|
+
3. All code must pass quality checks before merging
|
|
181
|
+
|
|
182
|
+
### Project Structure
|
|
183
|
+
See [docs/STRUCTURE.md](docs/STRUCTURE.md) for codebase organization.
|
|
184
|
+
|
|
185
|
+
### License
|
|
186
|
+
MIT License - see [LICENSE](LICENSE) file.
|
|
187
|
+
|
|
188
|
+
## Credits
|
|
189
|
+
|
|
190
|
+
- Based on [claude-multiagent-pm](https://github.com/kfsone/claude-multiagent-pm)
|
|
191
|
+
- Enhanced for [Claude Code](https://docs.anthropic.com/en/docs/claude-code) integration
|
|
192
|
+
- Built with ā¤ļø by the Claude MPM community
|
package/README.npm.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Claude MPM (npm wrapper)
|
|
2
|
+
|
|
3
|
+
This is the npm wrapper for the **Claude Multi-Agent Project Manager (claude-mpm)**, a Python framework that extends Claude Desktop with multi-agent orchestration capabilities.
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- **Node.js** 14.0.0 or later
|
|
8
|
+
- **Python** 3.8 or later
|
|
9
|
+
- **macOS** or **Linux** (Windows support via WSL)
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g @bobmatnyc/claude-mpm
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
Once installed, you can use the `claude-mpm` command directly:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Initialize claude-mpm
|
|
23
|
+
claude-mpm config init
|
|
24
|
+
|
|
25
|
+
# Deploy agents
|
|
26
|
+
claude-mpm agents deploy
|
|
27
|
+
|
|
28
|
+
# Run with an agent
|
|
29
|
+
claude-mpm run --agent engineer
|
|
30
|
+
|
|
31
|
+
# View version info
|
|
32
|
+
claude-mpm info
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## What this package does
|
|
36
|
+
|
|
37
|
+
This npm package is a wrapper that:
|
|
38
|
+
|
|
39
|
+
1. **Detects Python 3.8+** on your system
|
|
40
|
+
2. **Automatically installs** the `claude-mpm` Python package
|
|
41
|
+
3. **Launches the Python CLI** with your arguments
|
|
42
|
+
|
|
43
|
+
## Python Package
|
|
44
|
+
|
|
45
|
+
The actual claude-mpm functionality is provided by the Python package. If you prefer to install directly with Python:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
pip install claude-mpm
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Features
|
|
52
|
+
|
|
53
|
+
- **Multi-Agent Orchestration**: Coordinate specialized AI agents for different tasks
|
|
54
|
+
- **Ticket Management**: Integrated ticketing system with aitrackdown
|
|
55
|
+
- **Memory System**: Persistent agent memory and context management
|
|
56
|
+
- **WebSocket Dashboard**: Real-time monitoring of agent activities
|
|
57
|
+
- **MCP Gateway**: Model Context Protocol server integration
|
|
58
|
+
- **Claude Desktop Integration**: Seamless integration with Anthropic's Claude Desktop
|
|
59
|
+
|
|
60
|
+
## Documentation
|
|
61
|
+
|
|
62
|
+
For detailed documentation, visit the [main repository](https://github.com/bobmatnyc/claude-mpm).
|
|
63
|
+
|
|
64
|
+
## License
|
|
65
|
+
|
|
66
|
+
MIT - see [LICENSE](LICENSE) file.
|
|
67
|
+
|
|
68
|
+
## Support
|
|
69
|
+
|
|
70
|
+
- **Issues**: [GitHub Issues](https://github.com/bobmatnyc/claude-mpm/issues)
|
|
71
|
+
- **Repository**: [GitHub](https://github.com/bobmatnyc/claude-mpm)
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Claude MPM npm wrapper
|
|
5
|
+
* This wrapper ensures Python 3.8+ is available and launches the claude-mpm Python package
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { execSync, spawn } = require('child_process');
|
|
9
|
+
const { existsSync } = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
|
|
12
|
+
const REQUIRED_PYTHON_VERSION = [3, 8];
|
|
13
|
+
|
|
14
|
+
function checkPythonVersion(pythonCmd) {
|
|
15
|
+
try {
|
|
16
|
+
const versionOutput = execSync(`${pythonCmd} --version`, { encoding: 'utf8', stdio: 'pipe' });
|
|
17
|
+
const versionMatch = versionOutput.match(/Python (\d+)\.(\d+)\.(\d+)/);
|
|
18
|
+
|
|
19
|
+
if (!versionMatch) return false;
|
|
20
|
+
|
|
21
|
+
const [, major, minor] = versionMatch.map(Number);
|
|
22
|
+
return major > REQUIRED_PYTHON_VERSION[0] ||
|
|
23
|
+
(major === REQUIRED_PYTHON_VERSION[0] && minor >= REQUIRED_PYTHON_VERSION[1]);
|
|
24
|
+
} catch (error) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function findPython() {
|
|
30
|
+
const pythonCommands = ['python3', 'python', 'python3.11', 'python3.10', 'python3.9', 'python3.8'];
|
|
31
|
+
|
|
32
|
+
for (const cmd of pythonCommands) {
|
|
33
|
+
if (checkPythonVersion(cmd)) {
|
|
34
|
+
return cmd;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function main() {
|
|
41
|
+
const pythonCmd = findPython();
|
|
42
|
+
|
|
43
|
+
if (!pythonCmd) {
|
|
44
|
+
console.error(`
|
|
45
|
+
ā Error: Python ${REQUIRED_PYTHON_VERSION.join('.')}+ is required but not found.
|
|
46
|
+
|
|
47
|
+
Please install Python ${REQUIRED_PYTHON_VERSION.join('.')} or later and try again.
|
|
48
|
+
You can download Python from: https://www.python.org/downloads/
|
|
49
|
+
|
|
50
|
+
Alternatively, install claude-mpm directly with pip:
|
|
51
|
+
pip install claude-mpm
|
|
52
|
+
`);
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Check if claude-mpm is already installed
|
|
57
|
+
try {
|
|
58
|
+
execSync(`${pythonCmd} -c "import claude_mpm"`, { stdio: 'pipe' });
|
|
59
|
+
} catch (error) {
|
|
60
|
+
console.log('š¦ Installing claude-mpm Python package...');
|
|
61
|
+
try {
|
|
62
|
+
execSync(`${pythonCmd} -m pip install claude-mpm`, { stdio: 'inherit' });
|
|
63
|
+
console.log('ā
claude-mpm installed successfully!');
|
|
64
|
+
} catch (installError) {
|
|
65
|
+
console.error(`
|
|
66
|
+
ā Failed to install claude-mpm Python package.
|
|
67
|
+
|
|
68
|
+
Please install it manually:
|
|
69
|
+
${pythonCmd} -m pip install claude-mpm
|
|
70
|
+
|
|
71
|
+
Or using pip directly:
|
|
72
|
+
pip install claude-mpm
|
|
73
|
+
`);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Launch claude-mpm with all arguments
|
|
79
|
+
const args = process.argv.slice(2);
|
|
80
|
+
const child = spawn(pythonCmd, ['-m', 'claude_mpm'].concat(args), {
|
|
81
|
+
stdio: 'inherit',
|
|
82
|
+
env: process.env
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
child.on('exit', (code) => {
|
|
86
|
+
process.exit(code || 0);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
child.on('error', (error) => {
|
|
90
|
+
console.error(`ā Error launching claude-mpm: ${error.message}`);
|
|
91
|
+
process.exit(1);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (require.main === module) {
|
|
96
|
+
main();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
module.exports = { main, findPython, checkPythonVersion };
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-mpm",
|
|
3
|
+
"version": "4.0.25",
|
|
4
|
+
"description": "NPM wrapper for claude-mpm Python package - Requires Python 3.8+. Orchestrate Claude with agent delegation and ticket tracking",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"claude",
|
|
7
|
+
"ai",
|
|
8
|
+
"orchestration",
|
|
9
|
+
"multi-agent",
|
|
10
|
+
"project-management",
|
|
11
|
+
"cli",
|
|
12
|
+
"claude-code",
|
|
13
|
+
"anthropic"
|
|
14
|
+
],
|
|
15
|
+
"homepage": "https://github.com/bobmatnyc/claude-mpm",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/bobmatnyc/claude-mpm/issues"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/bobmatnyc/claude-mpm.git"
|
|
22
|
+
},
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"author": "Bob Matsuoka <bob@matsuoka.com>",
|
|
25
|
+
"bin": {
|
|
26
|
+
"claude-mpm": "npm-bin/claude-mpm.js"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"npm-bin/",
|
|
30
|
+
"README.npm.md",
|
|
31
|
+
"LICENSE",
|
|
32
|
+
"scripts/postinstall.js"
|
|
33
|
+
],
|
|
34
|
+
"scripts": {
|
|
35
|
+
"postinstall": "node scripts/postinstall.js",
|
|
36
|
+
"dev": "vite",
|
|
37
|
+
"build": "vite build",
|
|
38
|
+
"preview": "vite preview",
|
|
39
|
+
"build:dashboard": "vite build && python -c \"import shutil; shutil.copytree('src/claude_mpm/dashboard/static/dist', 'src/claude_mpm/dashboard/static/built', dirs_exist_ok=True)\"",
|
|
40
|
+
"clean": "rm -rf src/claude_mpm/dashboard/static/dist src/claude_mpm/dashboard/static/built"
|
|
41
|
+
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=14.0.0"
|
|
44
|
+
},
|
|
45
|
+
"os": [
|
|
46
|
+
"darwin",
|
|
47
|
+
"linux"
|
|
48
|
+
],
|
|
49
|
+
"preferGlobal": true,
|
|
50
|
+
"publishConfig": {
|
|
51
|
+
"access": "public",
|
|
52
|
+
"registry": "https://registry.npmjs.org/"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"vite": "^5.0.0",
|
|
56
|
+
"terser": "^5.24.0"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Post-install script for @bobmatnyc/claude-mpm npm package
|
|
5
|
+
*
|
|
6
|
+
* This is a wrapper that will install the Python package on first run
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
console.log('\nš @bobmatnyc/claude-mpm npm wrapper installed!');
|
|
10
|
+
console.log('\nā ļø IMPORTANT: This is an npm wrapper for a Python package');
|
|
11
|
+
console.log(' The actual claude-mpm implementation requires Python 3.8+\n');
|
|
12
|
+
|
|
13
|
+
console.log('š Requirements:');
|
|
14
|
+
console.log(' ⢠Python 3.8 or later');
|
|
15
|
+
console.log(' ⢠Claude Code 1.0.60 or later');
|
|
16
|
+
console.log(' ⢠UV, pip, or pipx for Python package management\n');
|
|
17
|
+
|
|
18
|
+
console.log('š Installation Options:');
|
|
19
|
+
console.log(' 1. UV (recommended): uv pip install claude-mpm');
|
|
20
|
+
console.log(' 2. pip: pip install claude-mpm');
|
|
21
|
+
console.log(' 3. pipx: pipx install claude-mpm\n');
|
|
22
|
+
|
|
23
|
+
console.log('š¦ What happens on first run:');
|
|
24
|
+
console.log(' ⢠If claude-mpm Python package is not found, this wrapper will:');
|
|
25
|
+
console.log(' - Attempt to install it automatically using pip or pipx');
|
|
26
|
+
console.log(' - Guide you through any installation issues\n');
|
|
27
|
+
|
|
28
|
+
console.log('š For complete installation guide: https://github.com/bobmatnyc/claude-mpm#installation\n');
|
|
29
|
+
|
|
30
|
+
// Quick checks (non-blocking)
|
|
31
|
+
const { execSync } = require('child_process');
|
|
32
|
+
|
|
33
|
+
let pythonFound = false;
|
|
34
|
+
let pythonPath = null;
|
|
35
|
+
let pythonVersion = null;
|
|
36
|
+
|
|
37
|
+
// Check for Python
|
|
38
|
+
try {
|
|
39
|
+
pythonVersion = execSync('python3 --version 2>&1', { encoding: 'utf8' }).trim();
|
|
40
|
+
pythonPath = 'python3';
|
|
41
|
+
pythonFound = true;
|
|
42
|
+
} catch (e) {
|
|
43
|
+
try {
|
|
44
|
+
pythonVersion = execSync('python --version 2>&1', { encoding: 'utf8' }).trim();
|
|
45
|
+
pythonPath = 'python';
|
|
46
|
+
pythonFound = true;
|
|
47
|
+
} catch (e2) {
|
|
48
|
+
// Python not found
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (pythonFound) {
|
|
53
|
+
// Extract version number
|
|
54
|
+
const versionMatch = pythonVersion.match(/Python (\d+\.\d+\.\d+)/);
|
|
55
|
+
if (versionMatch) {
|
|
56
|
+
const [major, minor] = versionMatch[1].split('.').map(Number);
|
|
57
|
+
if (major >= 3 && minor >= 8) {
|
|
58
|
+
console.log(`ā
Found ${pythonVersion}`);
|
|
59
|
+
} else {
|
|
60
|
+
console.warn(`ā ļø Found ${pythonVersion} but Python 3.8+ is required`);
|
|
61
|
+
console.warn(' Please upgrade Python from https://python.org');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
} else {
|
|
65
|
+
console.error('ā Python not found!');
|
|
66
|
+
console.error(' Python 3.8+ is REQUIRED for claude-mpm to function');
|
|
67
|
+
console.error(' Please install Python from:');
|
|
68
|
+
console.error(' ⢠https://python.org (official)');
|
|
69
|
+
console.error(' ⢠brew install python3 (macOS)');
|
|
70
|
+
console.error(' ⢠apt install python3 (Ubuntu/Debian)');
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Check for Claude CLI
|
|
74
|
+
try {
|
|
75
|
+
const claudeVersion = execSync('claude --version 2>&1', { encoding: 'utf8' });
|
|
76
|
+
console.log(`ā
Found Claude Code ${claudeVersion.trim()}`);
|
|
77
|
+
} catch (e) {
|
|
78
|
+
console.warn('ā ļø Claude Code not found');
|
|
79
|
+
console.warn(' Please install Claude Code 1.0.60+ from https://claude.ai/code');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Check for Python package managers
|
|
83
|
+
const packageManagers = [];
|
|
84
|
+
try {
|
|
85
|
+
execSync('uv --version 2>&1', { encoding: 'utf8' });
|
|
86
|
+
packageManagers.push('UV');
|
|
87
|
+
} catch (e) {}
|
|
88
|
+
|
|
89
|
+
try {
|
|
90
|
+
execSync('pipx --version 2>&1', { encoding: 'utf8' });
|
|
91
|
+
packageManagers.push('pipx');
|
|
92
|
+
} catch (e) {}
|
|
93
|
+
|
|
94
|
+
try {
|
|
95
|
+
execSync('pip --version 2>&1', { encoding: 'utf8' });
|
|
96
|
+
packageManagers.push('pip');
|
|
97
|
+
} catch (e) {}
|
|
98
|
+
|
|
99
|
+
if (packageManagers.length > 0) {
|
|
100
|
+
console.log(`ā
Found Python package managers: ${packageManagers.join(', ')}`);
|
|
101
|
+
} else if (pythonFound) {
|
|
102
|
+
console.warn('ā ļø No Python package managers found (UV, pip, or pipx)');
|
|
103
|
+
console.warn(' The wrapper will attempt to install pip on first run');
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
console.log('\nš” Next step: Run "claude-mpm" to start using the tool');
|