-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description
Enhance Simone MCP to properly support multi-repository project setups where a main development repository contains multiple nested git repositories (e.g., frontend and backend as separate repos within a parent directory).
Context
- Project area: MCP server configuration and prompt system
- Complexity: 7/10 - Architectural changes across configuration, prompts, and repository detection
- Current limitation: Simone assumes a single repository context and uses a single
github.repositoryconfiguration
Technical Details
Affected files and components:
/mcp-server/src/config/types.ts- Need to extend configuration schema for multi-repo support/mcp-server/src/templates/context.ts- Context building needs repository detection/mcp-server/src/config/loader.ts- Configuration loading for repository mappings- All prompts in
/mcp-server/src/templates/prompts/that use GitHub operations:create_issue.yaml- Needs repo selection logiccreate_commit.yaml- Must detect correct repo for commitscreate_pr.yaml- Must create PR in correct repowork_issue.yaml- Must checkout branch in correct repo
Requirements
1. Configuration Schema Enhancement
- Support repository configuration at both project and context levels
- Add repository mapping configuration (path to repository)
- Support centralized vs distributed issue tracking modes
2. Repository Detection Logic
- Auto-detect git repository based on file paths being modified
- Traverse up directory tree to find
.gitdirectory - Map detected repository to configured GitHub repository
3. Prompt Intelligence
- Add repository selection logic to issue creation
- Smart branch/commit/PR creation in correct repository
- Risk-based user confirmation when repository is ambiguous
4. Configuration Options
repository_mode: "centralized" | "distributed" | "auto"repository_mappings: Map of local paths to GitHub reposdefault_repository: Fallback when detection fails
Implementation Steps
- Extend configuration types to support multi-repository settings
- Create repository detection utility functions
- Update template context builder to include repository context
- Modify issue creation prompt to support repository selection
- Update commit/PR prompts to detect and use correct repository
- Add repository mapping validation to config loader
- Create example configurations for common multi-repo scenarios
- Write tests for repository detection logic
- Update documentation with multi-repo setup guide
Acceptance Criteria
- Configuration supports defining multiple repositories with path mappings
- Issue creation correctly selects repository based on context or user input
- Commits and branches are created in the correct nested repository
- Pull requests reference the correct repository
- Repository ambiguity triggers user confirmation (based on risk level)
- Documentation includes clear examples of multi-repo setups
- Backward compatibility maintained for single-repo projects
Additional Resources
- Research on monorepo tools and patterns
- GitHub CLI documentation for repository-specific operations
- Examples from other tools that handle multi-repo setups (e.g., Lerna, Nx)
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request