markitect-main/markitect
tegwick 3168de49ac feat: Complete Issue #40 - Associated Files Management with Interactive vs Automation Mode System
This commit implements comprehensive associated files management and introduces
a mode-based architecture that resolves conflicting requirements between
interactive user workflows and automation/testing scenarios.

## Key Features

### Associated Files Management
- Convention-based file pairing (document.md ↔ document.json)
- Automatic path resolution and file discovery
- Complete CLI command suite for managing file pairs
- Performance optimizations with caching

### Interactive vs Automation Mode System
- Automatic mode detection via TTY, CI environment, and pipes
- Environment variable override (MARKITECT_MODE)
- Interactive mode: Uses associated file paths by default
- Automation mode: Optimizes for speed, memory, and stdout output

### Enhanced CLI Commands
- schema-generate: Auto-places output next to source in interactive mode
- generate-stub: Auto-places output next to schema in interactive mode
- validate: Auto-discovers associated schema files
- New associated-files command group with list, info, status, create subcommands

### Bug Fixes
- Fixed isinstance() errors caused by function shadowing built-in types
- Resolved test failures with new mode system integration
- Ensured backward compatibility for all existing functionality

## Technical Implementation
- Added AssociatedFilesManager class with comprehensive file operations
- Implemented mode detection using environment analysis
- Enhanced format_output function with proper type checking
- Added pytest configuration for automation mode during testing
- Complete test coverage for all new functionality

All 448 tests passing. Maintains full backward compatibility while adding
powerful new interactive features for improved developer experience.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 13:09:37 +02:00
..
__init__.py chore: gitignore and repo cleanup 2025-09-16 03:04:18 +02:00
associated_files.py feat: Complete Issue #40 - Associated Files Management with Interactive vs Automation Mode System 2025-09-30 13:09:37 +02:00
ast_cache.py feat: Strategic pivot to CLI implementation with comprehensive foundation 2025-09-24 01:14:27 +02:00
ast_service.py fix: Improve AST display content visibility for Issue #15 2025-09-27 09:31:47 +02:00
cache_service.py feat: Complete logging standardization with context-aware system 2025-09-27 08:28:10 +02:00
cli.py feat: Complete Issue #40 - Associated Files Management with Interactive vs Automation Mode System 2025-09-30 13:09:37 +02:00
database.py feat: Complete Issue #3 - Schema Management with Enhanced Format Control 2025-09-30 02:59:43 +02:00
document_manager.py feat: Strategic pivot to CLI implementation with comprehensive foundation 2025-09-24 01:14:27 +02:00
exceptions.py feat: Complete Issue #8 - Detailed Validation Error Reporting and CLI Enhancements 2025-09-29 21:21:21 +02:00
frontmatter.py feat: Implement Issue #1 - Database initialization and front matter parsing 2025-09-23 04:28:29 +02:00
parser.py feat: Complete Issue #8 - Detailed Validation Error Reporting and CLI Enhancements 2025-09-29 21:21:21 +02:00
schema_generator.py feat: Complete Issue #5 - Schema Generation Foundation for arc42 Architecture Documentation 2025-09-29 14:53:05 +02:00
schema_validator.py feat: Complete Issue #8 - Detailed Validation Error Reporting and CLI Enhancements 2025-09-29 21:21:21 +02:00
serializer.py feat: Complete Issue #2 - Fast Document Loading & CLI Manipulation MAJOR MILESTONE 2025-09-25 03:01:40 +02:00
stub_generator.py feat: Complete Issue #6 - Generate Markdown Stub from Schema 2025-09-30 03:31:48 +02:00
validation_error.py feat: Complete Issue #8 - Detailed Validation Error Reporting and CLI Enhancements 2025-09-29 21:21:21 +02:00