anomalyco / anomalyco/opencode
[FEATURE]: support multi-repository change tracking for workspace subdirectories
@Hona is already working on this.
Since Aug 27, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Feature hasn't been suggested before.
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Problem Statement
Currently, the Changes / Source Control panel only tracks Git status when the root workspace folder itself is a Git repository (.git exists at the root).
When working on multi-repository projects (e.g., an organization workspace with org/service-a, org/service-b), opening the parent directory disables git change tracking altogether.
Use Case
In microservices, multi-repo architectures, or full-stack setups, developers often open a parent directory to manage multiple related projects simultaneously. Requiring developers to switch workspace roots repeatedly to check Git status introduces significant context-switching friction.
Proposed Solutions
- Repository Auto-Discovery (Recommended):
- Scan subdirectories (up to 1–2 levels deep) for
.gitfolders upon workspace loading. - Display detected repositories as grouped trees inside the Changes view (e.g., VS Code multi-root SCM panel style).
- Scan subdirectories (up to 1–2 levels deep) for
- Fallback / Manual Configuration:
- If auto-discovery is too heavy, allow defining sub-repository paths in workspace configuration (e.g.,
.opencode/workspace.json).
- If auto-discovery is too heavy, allow defining sub-repository paths in workspace configuration (e.g.,
Performance Considerations
To avoid performance degradation when scanning deep or large directory trees:
- Limit recursive search depth to a configurable maximum (e.g.,
depth: 2). - Honor ignore rules (
.gitignore,node_modules,.terragrunt-cache, etc.) during discovery. - Execute
git statuslazily or in parallel for detected repos.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.