Implement all three explode-implode variants with full CLI integration: 🔧 Variant Implementations: - FlatVariant: Encapsulates existing flat structure behavior - HierarchicalVariant: Numbered directory structures (01_, 02_, 03_) - SemanticVariant: Content-based organization (intro, chapters, appendices) 🏭 Factory System: - VariantFactory: Centralized variant creation and management - Auto-detection algorithms with confidence scoring - Content analysis for variant recommendation 🖥️ CLI Integration: - Enhanced md-explode command with --variant parameter - Enhanced md-implode command with auto-detection - Improved error handling and user feedback 🧪 Comprehensive Testing: - 22 unit tests covering all variant functionality - Roundtrip validation ensuring perfect reversibility - Performance testing with large documents - Error handling and edge case coverage 📊 Key Features: - Three distinct organization strategies - Automatic variant detection from directory structures - Full backward compatibility with existing behavior - Extensible architecture for future variants - Manifest-based reversibility Files Added: - markitect/explode_variants/flat_variant.py - markitect/explode_variants/hierarchical_variant.py - markitect/explode_variants/semantic_variant.py - markitect/explode_variants/variant_factory.py - tests/test_issue_149_explode_implode_variants.py - tests/test_issue_149_roundtrip_validation.py - cost_notes/issue_149_cost_2025-10-12.md Files Modified: - markitect/explode_variants/__init__.py (updated exports) - markitect/plugins/builtin/markdown_commands.py (CLI integration) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
46 lines
1.5 KiB
Python
46 lines
1.5 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
|
|
from .flat_variant import FlatVariant
|
|
from .hierarchical_variant import HierarchicalVariant
|
|
from .semantic_variant import SemanticVariant
|
|
from .variant_factory import VariantFactory, get_variant_factory, create_variant, detect_variant, auto_create_variant
|
|
|
|
__all__ = [
|
|
'ExplodeVariant',
|
|
'ExplodeMode',
|
|
'ManifestVersion',
|
|
'DetectionConfidence',
|
|
'BaseVariant',
|
|
'ExplodeOptions',
|
|
'ImplodeOptions',
|
|
'ExplodeResult',
|
|
'ImplodeResult',
|
|
'ManifestManager',
|
|
'ManifestData',
|
|
'StructureEntry',
|
|
'VariantDetector',
|
|
'DetectionResult',
|
|
'FlatVariant',
|
|
'HierarchicalVariant',
|
|
'SemanticVariant',
|
|
'VariantFactory',
|
|
'get_variant_factory',
|
|
'create_variant',
|
|
'detect_variant',
|
|
'auto_create_variant'
|
|
] |