markitect-main/tools
tegwick e46e97801d feat: implement --emoji flag and MARKITECT_EMOJI environment variable - Issue #37
Add comprehensive emoji preference support to complement existing --ascii flag:

🎯 Core Features:
• Add --emoji flag to visualization tools (visualize_schema.py, schema_summary.py)
• Implement MARKITECT_EMOJI environment variable support
• Maintain backward compatibility with existing --ascii flag behavior
• Establish proper priority: CLI flags > environment variables > defaults

🏗️ Architecture:
• Create shared emoji_utils.py module for centralized logic
• Implement determine_output_mode() for standardized preference resolution
• Add add_emoji_arguments() for consistent argument parser setup
• Follow DRY principle - eliminate duplicate code between tools

🧪 Testing:
• 18 comprehensive tests covering all functionality
• Basic flag tests: existence, mutual exclusivity, defaults, precedence
• Environment variable tests: recognition, case handling, CLI overrides
• Configuration integration tests: system compatibility, error handling
• All 1337 project tests pass (no regressions)

💡 User Experience:
• Consistent behavior across all MarkiTect visualization tools
• Multiple preference setting methods (CLI flags, environment variables)
• Robust error handling with sensible defaults (emoji by default)
• Clear help documentation and discoverable usage patterns

🔧 Implementation Details:
• Mutually exclusive argument groups prevent conflicting flags
• Case-insensitive environment variable processing
• Valid false values: 'false', 'f', '0' - all others default to emoji
• Comprehensive documentation with usage examples

The implementation follows TDD principles and MarkiTect architectural
patterns, ensuring high quality and maintainability while delivering
enhanced usability features.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 17:46:54 +02:00
..
chaos_results feat: enhance issue management tooling and clarify performance metrics 2025-10-03 11:09:47 +02:00
agent_tooling_optimizer.py feat: Complete Issue #61 - Agent Tooling Optimizer implementation 2025-10-02 04:50:55 +02:00
chaos_test_runner.py refactor: organize chaos test runner into tools directory 2025-10-03 10:25:33 +02:00
datamodel_optimizer.py fix: eliminate all test suite warnings - Issue #129 2025-10-06 02:11:28 +02:00
emoji_utils.py feat: implement --emoji flag and MARKITECT_EMOJI environment variable - Issue #37 2025-10-06 17:46:54 +02:00
fix_paths.py chore: history cleanup 2025-10-03 03:39:43 +02:00
requirements_engineering_toolkit.py feat: Integrate Requirements Engineering Agent and fix Issue #59 test failures 2025-10-02 00:45:06 +02:00
run_architectural_tests.py chore: history cleanup 2025-10-03 03:39:43 +02:00
run_randomized_tests.py chore: history cleanup 2025-10-03 03:39:43 +02:00
schema_summary.py feat: implement --emoji flag and MARKITECT_EMOJI environment variable - Issue #37 2025-10-06 17:46:54 +02:00
testing_efficiency_optimizer.py feat: Complete Issue #57 - Testing efficiency optimization with TDD8 workflow enhancements 2025-10-02 05:11:25 +02:00
visualize_schema.py feat: implement --emoji flag and MARKITECT_EMOJI environment variable - Issue #37 2025-10-06 17:46:54 +02:00