scripts/README.md
This directory contains scripts for building and publishing SuperClaude to PyPI.
publish.sh - Main Publishing ScriptEasy-to-use shell script for common publishing tasks:
# Test upload to TestPyPI
./scripts/publish.sh test
# Test installation from TestPyPI
./scripts/publish.sh test-install
# Production upload to PyPI
./scripts/publish.sh prod
# Build package only
./scripts/publish.sh build
# Clean build artifacts
./scripts/publish.sh clean
# Validate project structure
./scripts/publish.sh check
build_and_upload.py - Advanced Build ScriptPython script with detailed control over the build and upload process:
# Build and upload to TestPyPI
python scripts/build_and_upload.py --testpypi
# Test installation from TestPyPI
python scripts/build_and_upload.py --testpypi --test-install
# Production upload (with confirmation)
python scripts/build_and_upload.py
# Skip validation (for faster builds)
python scripts/build_and_upload.py --skip-validation --testpypi
# Clean only
python scripts/build_and_upload.py --clean
~/.pypirc:
[pypi]
username = __token__
password = pypi-[your-production-token]
[testpypi]
repository = https://test.pypi.org/legacy/
username = __token__
password = pypi-[your-test-token]
The .github/workflows/publish-pypi.yml workflow automates publishing:
Set these in your GitHub repository settings → Secrets and variables → Actions:
PYPI_API_TOKEN: Production PyPI tokenTEST_PYPI_API_TOKEN: TestPyPI token# Test the build and upload process
./scripts/publish.sh test
# Verify the package installs correctly
./scripts/publish.sh test-install
# Upload directly (requires confirmation)
./scripts/publish.sh prod
Before publishing, ensure version consistency across:
pyproject.tomlsuperclaude/__init__.pysuperclaude/__main__.pysetup/__init__.pyThe build script validates version consistency automatically.
pyproject.toml syntax__init__.py files).pypirc for credentials