mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-17 17:56:46 +00:00
🚀 Prepare for dual PyPI/NPM release v4.0
- Fix version consistency (PyPI: 4.0.0, NPM: 4.0.3) - Update license format to PEP 639 compliance - Restore NPM package components (bin/ and package.json) - Fix NPM package name to @superclaude-org/superclaude - Add comprehensive RELEASE_INSTRUCTIONS.md - Update .gitignore to include NPM files - Ready for production release on both PyPI and NPM Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
a4d1be0e26
commit
6afa3b0f9c
2
.gitignore
vendored
2
.gitignore
vendored
@ -197,7 +197,5 @@ CRUSH.md
|
||||
TODO.txt
|
||||
|
||||
# Development artifacts (should not be in repo)
|
||||
package.json
|
||||
package-lock.json
|
||||
uv.lock
|
||||
bin/
|
||||
@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
- **BREAKING**: Agent system restructured to 13 specialized agents
|
||||
- **BREAKING**: Agent system restructured to 14 specialized agents
|
||||
- **BREAKING**: Commands now use `/sc:` namespace to avoid conflicts with user custom commands
|
||||
- Commands are now installed in `~/.claude/commands/sc/` subdirectory
|
||||
- All 21 commands updated: `/analyze` → `/sc:analyze`, `/build` → `/sc:build`, etc.
|
||||
@ -16,11 +16,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- **BREAKING**: Documentation reorganization - Docs/ directory renamed to Guides/
|
||||
|
||||
### Added
|
||||
- **NEW AGENTS**: 13 specialized domain agents with enhanced capabilities
|
||||
- **NEW AGENTS**: 14 specialized domain agents with enhanced capabilities
|
||||
- backend-architect.md, devops-architect.md, frontend-architect.md
|
||||
- learning-guide.md, performance-engineer.md, python-expert.md
|
||||
- quality-engineer.md, refactoring-expert.md, requirements-analyst.md
|
||||
- root-cause-analyst.md, security-engineer.md
|
||||
- root-cause-analyst.md, security-engineer.md, socratic-mentor.md
|
||||
- **NEW MODE**: MODE_Orchestration.md for intelligent tool selection mindset (5 total behavioral modes)
|
||||
- **NEW COMMAND**: `/sc:implement` for feature and code implementation (addresses v2 user feedback)
|
||||
- **NEW FILE**: CLAUDE.md for project-specific Claude Code instructions
|
||||
@ -33,7 +33,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Removed
|
||||
- **BREAKING**: Removed Templates/ directory (legacy templates no longer needed)
|
||||
- **BREAKING**: Removed legacy agents and replaced with enhanced 13-agent system
|
||||
- **BREAKING**: Removed legacy agents and replaced with enhanced 14-agent system
|
||||
|
||||
### Improved
|
||||
- Refactored Modes and MCP documentation for concise behavioral guidance
|
||||
|
||||
@ -40,7 +40,7 @@ This guide documents how SuperClaude's Context-Oriented Configuration Framework
|
||||
├── MODE_Orchestration.md # Tool coordination mode
|
||||
├── MODE_Task_Management.md # Task orchestration mode
|
||||
├── MODE_Token_Efficiency.md # Compressed communication mode
|
||||
├── agents/ # Domain specialist contexts (13 total)
|
||||
├── agents/ # Domain specialist contexts (14 total)
|
||||
│ ├── backend-architect.md # Backend expertise
|
||||
│ ├── devops-architect.md # DevOps expertise
|
||||
│ ├── frontend-architect.md # Frontend expertise
|
||||
@ -52,6 +52,7 @@ This guide documents how SuperClaude's Context-Oriented Configuration Framework
|
||||
│ ├── requirements-analyst.md # Requirements expertise
|
||||
│ ├── root-cause-analyst.md # Problem diagnosis expertise
|
||||
│ ├── security-engineer.md # Security expertise
|
||||
│ ├── socratic-mentor.md # Educational expertise
|
||||
│ ├── system-architect.md # System design expertise
|
||||
│ └── technical-writer.md # Documentation expertise
|
||||
└── commands/ # Workflow pattern contexts
|
||||
|
||||
@ -237,10 +237,10 @@ echo ""
|
||||
# Check installation system
|
||||
echo "1. Installation System:"
|
||||
if command -v SuperClaude &> /dev/null; then
|
||||
echo " ✅ SuperClaude CLI available"
|
||||
echo " ✅ SuperClaude installation available"
|
||||
python3 -m SuperClaude --version
|
||||
else
|
||||
echo " ❌ SuperClaude CLI not found - install with: pip install SuperClaude"
|
||||
echo " ❌ SuperClaude not found - install with: pip install SuperClaude"
|
||||
fi
|
||||
|
||||
# Check context files
|
||||
|
||||
@ -46,7 +46,7 @@ ls -la ~/.claude/
|
||||
echo "=== SuperClaude Context File Diagnostic ==="
|
||||
|
||||
# Define expected counts
|
||||
EXPECTED_AGENTS=13
|
||||
EXPECTED_AGENTS=14
|
||||
EXPECTED_COMMANDS=21
|
||||
EXPECTED_MODES=6
|
||||
|
||||
|
||||
@ -815,6 +815,6 @@ Observe agent coordination patterns. Understand how complexity and domain keywor
|
||||
Master multi-domain requests that trigger optimal agent combinations. Leverage troubleshooting techniques for effective agent selection. Use advanced patterns for complex workflows.
|
||||
|
||||
**The SuperClaude Advantage:**
|
||||
Experience the power of 13 specialized AI experts working in coordinated response, all through simple, natural language requests. No configuration, no management, just intelligent collaboration that scales with your needs.
|
||||
Experience the power of 14 specialized AI experts working in coordinated response, all through simple, natural language requests. No configuration, no management, just intelligent collaboration that scales with your needs.
|
||||
|
||||
🎯 **Ready to experience intelligent agent coordination? Start with `/sc:implement` and discover the magic of specialized AI collaboration.**
|
||||
@ -166,7 +166,7 @@
|
||||
| `--all-mcp` | Enable all MCP servers | Boolean |
|
||||
| `--no-mcp` | Native tools only | Boolean |
|
||||
|
||||
### System Flags (SuperClaude CLI)
|
||||
### System Flags (SuperClaude Installation)
|
||||
| Flag | Purpose | Values |
|
||||
|------|---------|--------|
|
||||
| `--verbose` / `-v` | Verbose logging | Boolean |
|
||||
|
||||
@ -370,7 +370,7 @@ git push origin v4.0.1
|
||||
|
||||
**Current Version**: 4.0.0
|
||||
- Major architectural update with enhanced agent coordination
|
||||
- 6 MCP server integrations and 13 specialized agents
|
||||
- 6 MCP server integrations and 14 specialized agents
|
||||
- Comprehensive command system with 21 slash commands
|
||||
|
||||
**Version Update Process:**
|
||||
|
||||
51
README.md
51
README.md
@ -9,7 +9,34 @@
|
||||
[](https://github.com/SuperClaude-Org/SuperClaude_Framework/graphs/contributors)
|
||||
[](https://superclaude-org.github.io/SuperClaude_Website/)
|
||||
|
||||
SuperClaude is a meta-programming configuration framework that transforms Claude Code into a structured development platform through behavioral instruction injection and component orchestration. It enhances Claude Code with 21 slash commands, 13 specialized agents, 6 behavioral modes, and 6 MCP server integrations for systematic workflow automation.
|
||||
SuperClaude is a meta-programming configuration framework that transforms Claude Code into a structured development platform through behavioral instruction injection and component orchestration. It enhances Claude Code with 21 slash commands, 14 specialized agents, 6 behavioral modes, and 6 MCP server integrations for systematic workflow automation.
|
||||
|
||||
## What's New in V4
|
||||
|
||||
Version 4 brings significant improvements based on community feedback and real-world usage patterns.
|
||||
|
||||
### 🤖 Smarter Agent System
|
||||
We've expanded to 14 specialized agents that actually know their domains. The security engineer catches real vulnerabilities, the frontend architect understands modern UI patterns, and they coordinate automatically based on what you're working on. No more generic advice - you get domain expertise when you need it.
|
||||
|
||||
### 📝 Namespace That Makes Sense
|
||||
All commands now use `/sc:` prefix to avoid stepping on your custom commands. Simple change, but it matters when you're managing multiple command sets. The 21 commands cover the full development lifecycle from brainstorming to deployment.
|
||||
|
||||
### 🔧 MCP Servers That Actually Help
|
||||
Six integrated MCP servers provide real capabilities:
|
||||
- **Context7** for up-to-date documentation
|
||||
- **Sequential** for complex analysis and problem-solving
|
||||
- **Magic** for UI component generation
|
||||
- **Playwright** for browser testing
|
||||
- **Morphllm** for bulk code transformations
|
||||
- **Serena** for session persistence
|
||||
|
||||
These aren't just wrappers; they're properly integrated tools that work together.
|
||||
|
||||
### 🎯 Behavioral Modes for Different Contexts
|
||||
Five modes adjust Claude's approach based on what you're doing. Brainstorming mode asks the right questions, orchestration mode coordinates tools efficiently, token-efficiency mode reduces context usage by 30-50%. It adapts to your workflow, not the other way around.
|
||||
|
||||
### ⚡ Smaller Framework, Bigger Projects
|
||||
We've cut the framework's footprint significantly. Less framework overhead at Claude Code startup means more context available for your actual work. The entire V4 framework uses fewer tokens to load, leaving you with more room for your codebase, longer conversations, and complex operations. It's simple math - smaller framework = larger available context for what matters.
|
||||
|
||||
## Quick Start
|
||||
|
||||
@ -21,11 +48,27 @@ pip install SuperClaude && SuperClaude install
|
||||
npm install -g @superclaude-org/superclaude && superclaude install
|
||||
```
|
||||
|
||||
## Support SuperClaude Development 💎
|
||||
## Support the Project 💖
|
||||
|
||||
SuperClaude Framework development requires ongoing support to maintain MCP server integrations, expand the command system, and provide comprehensive documentation. Your support enables continuous improvement and new capabilities.
|
||||
Hey, let's be real - maintaining SuperClaude takes time and resources. The Claude Max subscription alone runs $100/month for testing, and that's before counting the hours spent on documentation, bug fixes, and feature development.
|
||||
|
||||
[](https://github.com/sponsors/SuperClaude-Org)
|
||||
If you're finding value in SuperClaude for your daily work, consider supporting the project. Even a few dollars helps cover the basics and keeps development active.
|
||||
|
||||
[](https://ko-fi.com/superclaude)
|
||||
[](https://patreon.com/superclaude)
|
||||
[](https://github.com/sponsors/SuperClaude-Org)
|
||||
|
||||
**What your support covers:**
|
||||
- Claude Max subscription for testing and validation ($100/month)
|
||||
- Development time for new features and bug fixes
|
||||
- Documentation and example creation
|
||||
- Community support and issue responses
|
||||
- MCP server integration testing
|
||||
- Infrastructure and hosting costs
|
||||
|
||||
No pressure though - the framework stays open source regardless. Just knowing people use and appreciate it is motivating. If you can't support financially, contributing code, documentation, or just spreading the word helps too.
|
||||
|
||||
Every contributor matters, whether through code, feedback, or support. Thanks for being part of this community! 🙏
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
392
RELEASE_INSTRUCTIONS.md
Normal file
392
RELEASE_INSTRUCTIONS.md
Normal file
@ -0,0 +1,392 @@
|
||||
# SuperClaude Framework Release Instructions
|
||||
|
||||
## 🚀 Complete Publishing Guide for PyPI and NPM
|
||||
|
||||
**Version**: 4.0.0 (PyPI) / 4.0.3 (NPM)
|
||||
**Date**: 2025-08-22
|
||||
**Status**: READY FOR RELEASE
|
||||
|
||||
---
|
||||
|
||||
## 📋 Pre-Flight Checklist
|
||||
|
||||
### Critical Fixes Applied ✅
|
||||
- [x] Version consistency fixed (PyPI: 4.0.0)
|
||||
- [x] License format updated to PEP 639 compliance
|
||||
- [x] NPM package name corrected to `@superclaude-org/superclaude`
|
||||
- [x] NPM version incremented to 4.0.3 (from existing 4.0.2)
|
||||
|
||||
### Required Accounts
|
||||
- [ ] PyPI account with maintainer access
|
||||
- [ ] TestPyPI account for testing
|
||||
- [ ] NPM account with org access to @superclaude-org
|
||||
- [ ] GitHub account with repo write access
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Step 1: Setup Credentials
|
||||
|
||||
### PyPI Credentials
|
||||
|
||||
1. **Create PyPI API Token** (if not exists):
|
||||
```bash
|
||||
# Go to https://pypi.org/manage/account/token/
|
||||
# Create token with scope: "Entire account" or "Project: SuperClaude"
|
||||
# Save token securely
|
||||
```
|
||||
|
||||
2. **Create ~/.pypirc file**:
|
||||
```ini
|
||||
[distutils]
|
||||
index-servers =
|
||||
pypi
|
||||
testpypi
|
||||
|
||||
[pypi]
|
||||
username = __token__
|
||||
password = pypi-YOUR_TOKEN_HERE
|
||||
|
||||
[testpypi]
|
||||
username = __token__
|
||||
password = pypi-YOUR_TEST_TOKEN_HERE
|
||||
repository = https://test.pypi.org/legacy/
|
||||
```
|
||||
|
||||
3. **Secure the file**:
|
||||
```bash
|
||||
chmod 600 ~/.pypirc
|
||||
```
|
||||
|
||||
### NPM Credentials
|
||||
|
||||
1. **Login to NPM**:
|
||||
```bash
|
||||
npm login
|
||||
# Enter username, password, email
|
||||
# Enter OTP if 2FA enabled
|
||||
```
|
||||
|
||||
2. **Verify login**:
|
||||
```bash
|
||||
npm whoami
|
||||
# Should show your username
|
||||
|
||||
npm org ls @superclaude-org
|
||||
# Should show you have access
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Step 2: Test Deployments
|
||||
|
||||
### Test PyPI Deployment
|
||||
|
||||
1. **Clean previous builds**:
|
||||
```bash
|
||||
rm -rf dist/ build/ *.egg-info
|
||||
```
|
||||
|
||||
2. **Run validation**:
|
||||
```bash
|
||||
python3 scripts/validate_pypi_ready.py
|
||||
# Must show 5/5 checks passed
|
||||
```
|
||||
|
||||
3. **Build packages**:
|
||||
```bash
|
||||
python3 setup.py sdist bdist_wheel
|
||||
```
|
||||
|
||||
4. **Upload to TestPyPI**:
|
||||
```bash
|
||||
./scripts/publish.sh test
|
||||
# OR manually:
|
||||
python3 -m twine upload --repository testpypi dist/*
|
||||
```
|
||||
|
||||
5. **Test installation from TestPyPI**:
|
||||
```bash
|
||||
# Create virtual environment
|
||||
python3 -m venv test_env
|
||||
source test_env/bin/activate
|
||||
|
||||
# Install from TestPyPI
|
||||
pip install --index-url https://test.pypi.org/simple/ \
|
||||
--extra-index-url https://pypi.org/simple/ \
|
||||
SuperClaude==4.0.0
|
||||
|
||||
# Test the CLI
|
||||
SuperClaude --version
|
||||
SuperClaude install --dry-run
|
||||
|
||||
# Cleanup
|
||||
deactivate
|
||||
rm -rf test_env
|
||||
```
|
||||
|
||||
### Test NPM Deployment
|
||||
|
||||
1. **Verify package configuration**:
|
||||
```bash
|
||||
npm publish --dry-run
|
||||
# Check output for:
|
||||
# - Correct package name: @superclaude-org/superclaude
|
||||
# - Version: 4.0.3
|
||||
# - Files included: bin/, README.md, LICENSE, package.json
|
||||
```
|
||||
|
||||
2. **Local test**:
|
||||
```bash
|
||||
# Pack the package
|
||||
npm pack
|
||||
|
||||
# Test local installation
|
||||
npm install -g ./superclaude-org-superclaude-4.0.3.tgz
|
||||
|
||||
# Verify it works
|
||||
superclaude --version
|
||||
|
||||
# Uninstall test
|
||||
npm uninstall -g @superclaude-org/superclaude
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Step 3: Production Release
|
||||
|
||||
### ⚠️ FINAL CHECKS BEFORE RELEASE
|
||||
|
||||
```bash
|
||||
# Ensure on correct branch
|
||||
git branch --show-current
|
||||
# Should show: SuperClaude_V4_Beta or master
|
||||
|
||||
# Ensure working directory is clean
|
||||
git status
|
||||
# Should show: nothing to commit, working tree clean
|
||||
|
||||
# Tag the release
|
||||
git tag -a v4.0.0 -m "Release v4.0.0 - Production ready"
|
||||
git push origin v4.0.0
|
||||
```
|
||||
|
||||
### PyPI Production Release
|
||||
|
||||
1. **Final validation**:
|
||||
```bash
|
||||
python3 scripts/validate_pypi_ready.py
|
||||
# MUST show: "Project is ready for PyPI publication!"
|
||||
```
|
||||
|
||||
2. **Clean and rebuild**:
|
||||
```bash
|
||||
rm -rf dist/ build/ *.egg-info
|
||||
python3 setup.py sdist bdist_wheel
|
||||
```
|
||||
|
||||
3. **Upload to PyPI**:
|
||||
```bash
|
||||
./scripts/publish.sh prod
|
||||
# OR manually:
|
||||
python3 -m twine upload dist/*
|
||||
```
|
||||
|
||||
4. **Verify on PyPI**:
|
||||
```bash
|
||||
# Wait 1-2 minutes for CDN propagation
|
||||
pip install SuperClaude==4.0.0 --no-cache-dir
|
||||
SuperClaude --version
|
||||
```
|
||||
|
||||
### NPM Production Release
|
||||
|
||||
1. **Ensure logged in**:
|
||||
```bash
|
||||
npm whoami
|
||||
# Must show your username
|
||||
```
|
||||
|
||||
2. **Publish with 2FA** (if enabled):
|
||||
```bash
|
||||
npm publish --otp=YOUR_2FA_CODE
|
||||
# Without 2FA:
|
||||
npm publish
|
||||
```
|
||||
|
||||
3. **Verify on NPM**:
|
||||
```bash
|
||||
# Wait 1-2 minutes
|
||||
npm view @superclaude-org/superclaude@4.0.3
|
||||
|
||||
# Test installation
|
||||
npm install -g @superclaude-org/superclaude@4.0.3
|
||||
superclaude --version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Step 4: Post-Release Verification
|
||||
|
||||
### Verification Checklist
|
||||
|
||||
1. **PyPI Verification**:
|
||||
```bash
|
||||
# Check PyPI page
|
||||
open https://pypi.org/project/SuperClaude/4.0.0/
|
||||
|
||||
# Fresh install test
|
||||
pip install SuperClaude==4.0.0 --no-cache-dir
|
||||
SuperClaude install --list-components
|
||||
```
|
||||
|
||||
2. **NPM Verification**:
|
||||
```bash
|
||||
# Check NPM page
|
||||
open https://www.npmjs.com/package/@superclaude-org/superclaude
|
||||
|
||||
# Fresh install test
|
||||
npm install -g @superclaude-org/superclaude@4.0.3
|
||||
superclaude install --list-components
|
||||
```
|
||||
|
||||
3. **Cross-platform test**:
|
||||
```bash
|
||||
# Test NPM → PyPI flow
|
||||
npm install -g @superclaude-org/superclaude
|
||||
superclaude install --dry-run
|
||||
# Should successfully detect/install Python package
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔙 Rollback Procedures
|
||||
|
||||
### If PyPI Release Fails
|
||||
|
||||
1. **Yank the release** (makes it non-installable):
|
||||
```bash
|
||||
# Via web interface:
|
||||
# https://pypi.org/manage/project/SuperClaude/release/4.0.0/
|
||||
# Click "Options" → "Yank"
|
||||
|
||||
# Users can still install if they specify exact version
|
||||
```
|
||||
|
||||
2. **Fix issues and release patch**:
|
||||
```bash
|
||||
# Update version to 4.0.1
|
||||
# Fix issues
|
||||
# Re-release following steps above
|
||||
```
|
||||
|
||||
### If NPM Release Fails
|
||||
|
||||
1. **Unpublish** (within 72 hours):
|
||||
```bash
|
||||
npm unpublish @superclaude-org/superclaude@4.0.3
|
||||
```
|
||||
|
||||
2. **Deprecate** (after 72 hours):
|
||||
```bash
|
||||
npm deprecate @superclaude-org/superclaude@4.0.3 "Critical bug - use 4.0.4"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📢 Step 5: Announcement
|
||||
|
||||
### GitHub Release
|
||||
|
||||
1. Create release at: https://github.com/SuperClaude-Org/SuperClaude_Framework/releases/new
|
||||
2. Tag: v4.0.0
|
||||
3. Title: "SuperClaude v4.0.0 - Production Release"
|
||||
4. Description: Include changelog and installation instructions
|
||||
|
||||
### Update Documentation
|
||||
|
||||
```bash
|
||||
# Update README badges
|
||||
# Update installation docs
|
||||
# Update website if applicable
|
||||
```
|
||||
|
||||
### Community Announcement Template
|
||||
|
||||
```markdown
|
||||
🎉 SuperClaude v4.0.0 Released!
|
||||
|
||||
Install via:
|
||||
- PyPI: `pip install SuperClaude`
|
||||
- NPM: `npm install -g @superclaude-org/superclaude`
|
||||
|
||||
What's New:
|
||||
- 14 specialized AI agents
|
||||
- 6 integrated MCP servers
|
||||
- 30-50% token usage reduction
|
||||
- [Full changelog](link)
|
||||
|
||||
Docs: https://github.com/SuperClaude-Org/SuperClaude_Framework
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Common Issues & Solutions
|
||||
|
||||
### PyPI Issues
|
||||
|
||||
**"Invalid credentials"**
|
||||
- Regenerate API token
|
||||
- Ensure token starts with `pypi-`
|
||||
- Check ~/.pypirc formatting
|
||||
|
||||
**"Version already exists"**
|
||||
- Can't overwrite - increment version
|
||||
- Update all version references
|
||||
|
||||
### NPM Issues
|
||||
|
||||
**"402 Payment Required"**
|
||||
- Package name might be private
|
||||
- Check org settings
|
||||
|
||||
**"403 Forbidden"**
|
||||
- No publish access to org
|
||||
- Contact org admin
|
||||
|
||||
**"E409 Conflict"**
|
||||
- Version already exists
|
||||
- Increment version number
|
||||
|
||||
---
|
||||
|
||||
## 📊 Success Metrics
|
||||
|
||||
After 24 hours, check:
|
||||
- PyPI download stats: https://pypistats.org/packages/superclaude
|
||||
- NPM download stats: https://www.npmjs.com/package/@superclaude-org/superclaude
|
||||
- GitHub stars/issues
|
||||
- Community feedback
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Quick Command Summary
|
||||
|
||||
```bash
|
||||
# PyPI Test & Release
|
||||
./scripts/publish.sh test # Test on TestPyPI
|
||||
./scripts/publish.sh prod # Release to PyPI
|
||||
|
||||
# NPM Test & Release
|
||||
npm publish --dry-run # Test locally
|
||||
npm publish --otp=123456 # Release to NPM
|
||||
|
||||
# Verification
|
||||
pip install SuperClaude==4.0.0
|
||||
npm install -g @superclaude-org/superclaude@4.0.3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Remember**: Once published to PyPI, versions cannot be reused. Plan carefully!
|
||||
|
||||
Good luck with the release! 🚀
|
||||
@ -11,7 +11,7 @@ Usage:
|
||||
SuperClaude --help
|
||||
"""
|
||||
|
||||
__version__ = "4.0.0b1"
|
||||
__version__ = "4.0.0"
|
||||
__author__ = "NomenAK, Mithun Gowda B"
|
||||
__email__ = "anton.knoery@gmail.com"
|
||||
__license__ = "MIT"
|
||||
|
||||
36
bin/checkEnv.js
Normal file
36
bin/checkEnv.js
Normal file
@ -0,0 +1,36 @@
|
||||
const { spawnSync } = require("child_process");
|
||||
|
||||
function run(cmd, args = [], opts = {}) {
|
||||
return spawnSync(cmd, args, {
|
||||
stdio: opts.stdio || "pipe",
|
||||
shell: true
|
||||
});
|
||||
}
|
||||
|
||||
function checkCommand(cmd, args = ["--version"]) {
|
||||
const result = run(cmd, args);
|
||||
return result.status === 0;
|
||||
}
|
||||
|
||||
function detectPython() {
|
||||
const candidates = ["python3", "python", "py"];
|
||||
for (let c of candidates) {
|
||||
if (checkCommand(c)) return c;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function detectPip() {
|
||||
const candidates = ["pip3", "pip", "py -m pip"];
|
||||
for (let c of candidates) {
|
||||
if (checkCommand(c.split(" ")[0])) return c;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function isSuperClaudeInstalled(pipCmd) {
|
||||
const result = run(pipCmd, ["show", "SuperClaude"]);
|
||||
return result.status === 0;
|
||||
}
|
||||
|
||||
module.exports = { run, detectPython, detectPip, isSuperClaudeInstalled };
|
||||
22
bin/cli.js
Normal file
22
bin/cli.js
Normal file
@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env node
|
||||
const { spawnSync } = require("child_process");
|
||||
const { detectPython, detectPip } = require("./checkEnv");
|
||||
|
||||
let pythonCmd = detectPython();
|
||||
if (!pythonCmd) {
|
||||
console.error("❌ Python 3 is required but not found.");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
|
||||
// Special case: update command
|
||||
if (args[0] === "update") {
|
||||
require("./update");
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
// Forward everything to Python SuperClaude
|
||||
const result = spawnSync(pythonCmd, ["-m", "SuperClaude", ...args], { stdio: "inherit", shell: true });
|
||||
process.exit(result.status);
|
||||
|
||||
31
bin/install.js
Normal file
31
bin/install.js
Normal file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env node
|
||||
const { run, detectPython, detectPip, isSuperClaudeInstalled } = require("./checkEnv");
|
||||
|
||||
console.log("🔍 Checking environment...");
|
||||
|
||||
let pythonCmd = detectPython();
|
||||
if (!pythonCmd) {
|
||||
console.error("❌ Python 3 is required but not found.");
|
||||
process.exit(1);
|
||||
}
|
||||
console.log(`✅ Found Python: ${pythonCmd}`);
|
||||
|
||||
let pipCmd = detectPip();
|
||||
if (!pipCmd) {
|
||||
console.error("❌ pip is required but not found.");
|
||||
process.exit(1);
|
||||
}
|
||||
console.log(`✅ Found Pip: ${pipCmd}`);
|
||||
|
||||
// Check installation
|
||||
if (!isSuperClaudeInstalled(pipCmd)) {
|
||||
console.log("📦 Installing SuperClaude from PyPI...");
|
||||
const result = run(pipCmd, ["install", "SuperClaude"], { stdio: "inherit" });
|
||||
if (result.status !== 0) {
|
||||
console.error("❌ Installation failed.");
|
||||
process.exit(1);
|
||||
}
|
||||
console.log("✅ SuperClaude installed successfully!");
|
||||
} else {
|
||||
console.log("✅ SuperClaude already installed.");
|
||||
}
|
||||
17
bin/update.js
Normal file
17
bin/update.js
Normal file
@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env node
|
||||
const { run, detectPip } = require("./checkEnv");
|
||||
|
||||
let pipCmd = detectPip();
|
||||
if (!pipCmd) {
|
||||
console.error("❌ pip not found, cannot update.");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log("🔄 Updating SuperClaude from PyPI...");
|
||||
const result = run(pipCmd, ["install", "--upgrade", "SuperClaude"], { stdio: "inherit" });
|
||||
if (result.status !== 0) {
|
||||
console.error("❌ Update failed.");
|
||||
process.exit(1);
|
||||
}
|
||||
console.log("✅ SuperClaude updated successfully!");
|
||||
|
||||
52
package.json
Normal file
52
package.json
Normal file
@ -0,0 +1,52 @@
|
||||
{
|
||||
"name": "@superclaude-org/superclaude",
|
||||
"version": "4.0.3",
|
||||
"description": "SuperClaude Framework NPM wrapper - Official Node.js wrapper for the Python SuperClaude package. Enhances Claude Code with specialized commands and AI development tools.",
|
||||
"scripts": {
|
||||
"postinstall": "node ./bin/install.js",
|
||||
"update": "node ./bin/update.js",
|
||||
"lint": "eslint . --ext .js,.mjs,.cjs",
|
||||
"test": "echo \"No tests defined yet\" && exit 0"
|
||||
},
|
||||
"files": [
|
||||
"bin/",
|
||||
"README.md",
|
||||
"LICENSE"
|
||||
],
|
||||
"author": {
|
||||
"name": "SuperClaude Org",
|
||||
"url": "https://github.com/SuperClaude-Org"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/SuperClaude-Org/SuperClaude_Framework.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/SuperClaude-Org/SuperClaude_Framework/issues"
|
||||
},
|
||||
"homepage": "https://github.com/SuperClaude-Org/SuperClaude_Framework#readme",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"superclaude",
|
||||
"ai",
|
||||
"cli",
|
||||
"pypi",
|
||||
"python",
|
||||
"wrapper",
|
||||
"cross-platform",
|
||||
"automation"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/NomenAK"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"registry": "https://registry.npmjs.org/"
|
||||
},
|
||||
"preferGlobal": true,
|
||||
"type": "commonjs"
|
||||
}
|
||||
@ -11,7 +11,7 @@ authors = [
|
||||
]
|
||||
description = "SuperClaude Framework Management Hub - AI-enhanced development framework for Claude Code"
|
||||
readme = "README.md"
|
||||
license = {text = "MIT"}
|
||||
license = "MIT"
|
||||
requires-python = ">=3.8"
|
||||
classifiers = [
|
||||
"Development Status :: 4 - Beta",
|
||||
|
||||
@ -20,7 +20,7 @@ class AgentsComponent(Component):
|
||||
return {
|
||||
"name": "agents",
|
||||
"version": "4.0.0",
|
||||
"description": "13 specialized AI agents with domain expertise and intelligent routing",
|
||||
"description": "14 specialized AI agents with domain expertise and intelligent routing",
|
||||
"category": "agents"
|
||||
}
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@
|
||||
"agents": {
|
||||
"name": "agents",
|
||||
"version": "4.0.0",
|
||||
"description": "13 specialized AI agents with domain expertise and intelligent routing",
|
||||
"description": "14 specialized AI agents with domain expertise and intelligent routing",
|
||||
"category": "agents",
|
||||
"dependencies": ["core"],
|
||||
"enabled": true,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user