@@ -780,6 +780,56 @@ Consolidates: Command-level model selection + context budgeting + two-model revi
780780
781781### ** Future Enhancement Categories**
782782
783+ ### ** Issue Tracker Extension Refactor** * (0% Complete)* - ** MEDIUM PRIORITY** - Modular MCP integration architecture
784+
785+ ** Context** : The ` --issue-tracker ` CLI argument is currently hardcoded in ` src/specify_cli/__init__.py ` with the ` ISSUE_TRACKER_CONFIG ` dict. This should be refactored to use the extension system for better modularity and maintainability.
786+
787+ ** Current State** :
788+ - ` ISSUE_TRACKER_CONFIG ` dict (lines 241-267): Hardcoded config for github, jira, linear, gitlab
789+ - ` --issue-tracker ` CLI argument in ` init ` command
790+ - ` configure_issue_tracker_mcp_servers() ` function configures MCP servers in agent settings
791+
792+ ** Proposed Architecture** :
793+ - Each issue tracker becomes a standalone extension with ` extension.yml ` containing MCP server configuration
794+ - Add ` mcp_servers ` section to extension manifest schema
795+ - Create ` MCPServerRegistrar ` class in ` extensions.py ` for MCP configuration
796+ - Extensions stored in ` .specify/extensions/{tracker-name}/ `
797+
798+ ** Implementation Phases** :
799+
800+ 1 . ** Phase 1: Extend Extension System**
801+ - ❌ Update ` ExtensionManifest ` to parse ` mcp_servers ` section in ` extension.yml `
802+ - ❌ Create ` MCPServerRegistrar ` class to configure MCP servers in agent settings files
803+ - ❌ Update ` ExtensionManager.install_from_directory() ` to call MCP registration
804+
805+ 2 . ** Phase 2: Create Issue Tracker Extensions**
806+ - ❌ Create extension packages for github-issues, jira, linear, gitlab-issues
807+ - ❌ Each extension includes: ` extension.yml ` , config template, optional sync commands
808+ - ❌ Add extensions to catalog or include as built-in
809+
810+ 3 . ** Phase 3: CLI Refactor**
811+ - ❌ Remove ` ISSUE_TRACKER_CONFIG ` dict and ` configure_issue_tracker_mcp_servers() ` function
812+ - ❌ Remove ` --issue-tracker ` argument from ` init ` command
813+ - ❌ Add ` --with-extension ` flag for installing extensions during init (optional)
814+ - ❌ Update help text and documentation
815+
816+ ** Benefits** :
817+ - Modularity: Issue trackers are independent, installable units
818+ - Extensibility: Users can create custom issue tracker extensions
819+ - Configuration: Layered config system with env var overrides via ` ConfigManager `
820+ - Maintainability: Each tracker is self-contained
821+ - Discoverability: Extensions appear in catalog searches
822+ - Versioning: Each tracker can be versioned independently
823+
824+ ** Files to Modify** :
825+ - ` src/specify_cli/extensions.py ` - Add MCP server support
826+ - ` src/specify_cli/__init__.py ` - Remove hardcoded config, update init command
827+ - ` extensions/catalog.json ` - Add issue tracker extensions
828+
829+ ** Estimated Effort** : ~ 5-7 days
830+
831+ ---
832+
783833### ** Compound Engineering Integration** * (0% Complete)* - ** MEDIUM PRIORITY** - Insights from EveryInc's Compound Engineering Plugin
784834
785835** Reference** : Analysis of [ EveryInc/compound-engineering-plugin] ( https://github.com/EveryInc/compound-engineering-plugin ) (7.5k stars, 598 forks)
0 commit comments