- Move release management to capabilities/release-management/ with complete Makefile - Create automatic capability discovery system in scripts/capability_discovery.mk - Add capability-manager subagent for managing modular architecture - Implement target delegation system enabling capability-name-target patterns - Create Makefiles for markitect-content, markitect-utils, and issue-facade capabilities - Remove legacy release management code and documentation from main project - Update main Makefile to use capability discovery and delegation - Add comprehensive capability status, help, and management targets The capability system provides: - Automatic discovery of capabilities with Makefiles - Clean target delegation without conflicts - Modular architecture following established patterns - Comprehensive help and status reporting - Zero-conflict capability integration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
"""
|
|
Release Management Capability
|
|
|
|
A comprehensive release management system for Python projects providing:
|
|
- Automatic version management with setuptools-scm
|
|
- Package building and distribution
|
|
- Multi-platform publishing (Gitea, PyPI, etc.)
|
|
- Git tag-based release workflows
|
|
- CLI tools for release automation
|
|
|
|
Main Components:
|
|
- ReleaseManager: Orchestrates complete release workflows
|
|
- PackageBuilder: Handles package generation and building
|
|
- PublishManager: Manages package publication to registries
|
|
- GitManager: Git operations for releases
|
|
- Registry Support: Gitea, PyPI, and extensible registry system
|
|
|
|
Quick Start:
|
|
from release_management import ReleaseManager
|
|
|
|
manager = ReleaseManager()
|
|
success = manager.publish_release("1.0.0")
|
|
|
|
CLI Usage:
|
|
release status
|
|
release publish --version 1.0.0
|
|
release upload --registry gitea
|
|
"""
|
|
|
|
from .core.manager import ReleaseManager
|
|
from .core.builder import PackageBuilder
|
|
from .core.publisher import PublishManager
|
|
from .git.manager import GitManager
|
|
from .registries.factory import RegistryFactory
|
|
from .registries.gitea.registry import GiteaRegistry
|
|
from .utils.version import VersionManager
|
|
from .utils.validation import ReleaseValidator
|
|
|
|
# Version is managed in pyproject.toml
|
|
__version__ = "0.1.0"
|
|
|
|
__all__ = [
|
|
# Core classes
|
|
"ReleaseManager",
|
|
"PackageBuilder",
|
|
"PublishManager",
|
|
"GitManager",
|
|
|
|
# Registry support
|
|
"RegistryFactory",
|
|
"GiteaRegistry",
|
|
|
|
# Utilities
|
|
"VersionManager",
|
|
"ReleaseValidator",
|
|
|
|
# Version
|
|
"__version__",
|
|
]
|
|
|
|
# Package metadata
|
|
__title__ = "release-management"
|
|
__description__ = "Comprehensive release management capability for Python projects"
|
|
__author__ = "MarkiTect Project"
|
|
__license__ = "MIT" |