Files
markitect-main/markitect/explode_variants/__init__.py
tegwick a17c362653 feat: implement Issue #148 core infrastructure for explode-implode variants
Complete implementation of Phase 1 core infrastructure:

Core Infrastructure Components:
- ExplodeVariant enum (flat, hierarchical, semantic)
- ExplodeMode, ManifestVersion, DetectionConfidence enums
- BaseVariant abstract class with common interface
- ExplodeOptions, ImplodeOptions, ExplodeResult, ImplodeResult dataclasses

Manifest System:
- ManifestManager class for manifest.md creation and parsing
- StructureEntry and ManifestData dataclasses
- YAML front matter with complete metadata preservation
- Validation and update mechanisms

Variant Detection:
- VariantDetector class with multiple detection strategies
- Manifest-based detection (highest priority)
- Directory naming pattern recognition
- Semantic structure analysis with confidence scoring
- Automatic fallback and combination logic

Command Interface Updates:
- md-explode: Added --variant parameter with [flat|hierarchical|semantic]
- md-explode: Added --create-manifest/--no-manifest option
- md-implode: Added --force-variant parameter for manual override
- md-implode: Integrated auto-detection with verbose output
- Updated help text and examples for both commands

Test Coverage:
- Comprehensive test suite with 21 test cases
- Tests for all enums, dataclasses, and core functionality
- ManifestManager creation, reading, and validation tests
- VariantDetector pattern recognition and confidence tests
- 100% test pass rate with robust edge case handling

Infrastructure Features:
- Backward compatibility maintained (flat variant default)
- Graceful handling of unimplemented variants with user warnings
- Extensible design for easy addition of new variants
- Clear separation between infrastructure and implementation

Success Criteria Met:
 ExplodeVariant enum with all planned variants
 ManifestManager creates and parses manifest.md files
 Commands accept variant parameters
 Auto-detection logic identifies variant types
 Unit tests achieve 100% pass rate
 Backward compatibility maintained

Ready for Phase 2: Variant implementations (Issue #149)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 20:17:41 +02:00

34 lines
1.1 KiB
Python

"""
Explode-Implode Variants Module
This module provides different strategies for exploding markdown files into
directory structures and imploding them back, with full reversibility support.
Key Components:
- ExplodeVariant: Enum defining available variants
- BaseVariant: Abstract base class for variant implementations
- ManifestManager: Handles manifest.md creation and parsing
- VariantDetector: Auto-detects variant types from directory structures
"""
from .enums import ExplodeVariant, ExplodeMode, ManifestVersion, DetectionConfidence
from .base_variant import BaseVariant, ExplodeOptions, ImplodeOptions, ExplodeResult, ImplodeResult
from .manifest_manager import ManifestManager, ManifestData, StructureEntry
from .variant_detector import VariantDetector, DetectionResult
__all__ = [
'ExplodeVariant',
'ExplodeMode',
'ManifestVersion',
'DetectionConfidence',
'BaseVariant',
'ExplodeOptions',
'ImplodeOptions',
'ExplodeResult',
'ImplodeResult',
'ManifestManager',
'ManifestData',
'StructureEntry',
'VariantDetector',
'DetectionResult'
]