Problem
The entire CLI tool is currently contained in a single gitHappens.py file, making it difficult to maintain, test, and extend. This monolithic structure violates separation of concerns and makes the codebase harder to navigate.
Solution
Split the monolithic file into a modular architecture with clear separation of responsibilities.
Proposed Structure
├── main.py # Entry point and argument parsing
├── gitlab_api.py # GitLab API interactions
├── config.py # Configuration management
├── templates.py # Template processing
├── git_utils.py # Git operations
├── interactive.py # User prompts and CLI interactions
└── commands/
├── create_issue.py # Issue creation logic
├── review.py # Review workflow
├── deploy.py # Deployment checks
└── open_mr.py # Merge request operations
Acceptance Criteria
Benefits
- Improved code maintainability
- Easier testing and debugging
- Better separation of concerns
- Simpler onboarding for contributors
Priority: Medium
Labels: refactoring, technical-debt, enhancement
Problem
The entire CLI tool is currently contained in a single
gitHappens.pyfile, making it difficult to maintain, test, and extend. This monolithic structure violates separation of concerns and makes the codebase harder to navigate.Solution
Split the monolithic file into a modular architecture with clear separation of responsibilities.
Proposed Structure
Acceptance Criteria
gitlab_api.pyconfig.pytemplates.pycommands/folderBenefits
Priority: Medium
Labels: refactoring, technical-debt, enhancement