feat: Complete CLI consolidation - fix redundancy and missing interfaces

🎯 MAJOR CLI ARCHITECTURE CONSOLIDATION:

 Added Missing CLI Entry Points:
• tddai = "tddai_cli:main" - TDD workflow management
• issue = "cli.issue_cli:main" - Pure issue management
• All three CLIs now properly installed: markitect, tddai, issue

🧹 Eliminated Functionality Redundancy:
• Removed issue commands from markitect/cli.py (clean separation)
• MarkiTect now focuses purely on document processing
• TDD workflow in tddai CLI, issue management in issue CLI

🏗️ Clean Architecture Implementation:
• Created cli/issue_cli.py - Dedicated pure issue management
• Enhanced cli/commands/export.py with export_issues_csv/json
• Updated cli/core.py with proper export method delegation
• Fixed pyproject.toml to include all required packages

🧪 Comprehensive Testing:
• Added tests/test_cli_consolidation.py - Prevents CLI regression
• Tests ensure all CLIs are installed and functional
• Tests verify no functionality duplication
• Regression protection against missing CLI commands

📋 Clear Separation of Concerns:
• markitect CLI - Document processing, templates, performance
• tddai CLI - TDD workflow, workspace management, coverage
• issue CLI - Pure issue operations, project management, export

🔧 Package Configuration:
• Updated pyproject.toml to include cli*, tddai*, services*, etc.
• Added py-modules for tddai_cli standalone module
• Fixed import paths and dependencies

This consolidation resolves the major redundancy identified in issues
functionality and ensures proper CLI interfaces are available and tested.

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-02 23:04:57 +02:00
parent bf84f206fe
commit 960a7c4850
10 changed files with 995 additions and 7 deletions

View File

@@ -12,10 +12,15 @@ dependencies = ["markdown-it-py", "PyYAML", "click>=8.0.0", "tabulate>=0.9.0", "
[project.scripts]
markitect = "markitect.cli:main"
tddai = "tddai_cli:main"
issue = "cli.issue_cli:main"
[tool.setuptools.packages.find]
include = ["markitect*"]
exclude = ["tests*", "wiki*", "tddai*"]
include = ["markitect*", "cli*", "tddai*", "services*", "gitea*", "config*", "domain*", "infrastructure*", "application*"]
exclude = ["tests*", "wiki*"]
[tool.setuptools]
py-modules = ["tddai_cli"]
[tool.mypy]
# Basic mypy configuration for MarkiTect project