Problem
When working with multiple projects simultaneously, Supacode currently stores all repositories under a single flat structure:
~/.supacode/repos/<repo-name>
This creates a few challenges:
- No clear separation between different contexts (e.g. work, open source, side projects)
- Agents may miss project-specific context (e.g.
agents.md)
- Harder to manage large numbers of repositories
- Increased cognitive load when switching between domains
Proposal
Introduce a Workspace (or Context) concept, where repositories and agent context are grouped under a shared environment.
Example structure:
~/.supacode/workspaces/<workspace-name>/
repos/
agents.md
context.json
What a Workspace Would Represent
A workspace represents an execution context, including:
- A set of repositories
- Shared
agents.md (or similar config)
- Optional context/state (e.g. tasks, environment assumptions)
- Logical grouping by purpose (e.g.
work, oss, personal)
Example Use Cases
1. Work vs Personal Separation
myCompany workspace → company repos, strict conventions
myAmazingLibs workspace → some OSS project
myBrandNewThing workspace → some side project
Each with its own:
- agent behavior
- assumptions
- context
2. Improved Agent Performance
By scoping context per workspace:
- Reduces irrelevant context passed to agents
- Avoids cross-project contamination
- Improves reasoning accuracy
3. Better Developer Experience
- Cleaner mental model
- Easier context switching
- Aligns with how developers actually work (project-based thinking)
Happy to Contribute
If this direction makes sense, I’d be happy to help iterate on the design or contribute to an implementation.
Problem
When working with multiple projects simultaneously, Supacode currently stores all repositories under a single flat structure:
This creates a few challenges:
agents.md)Proposal
Introduce a Workspace (or Context) concept, where repositories and agent context are grouped under a shared environment.
Example structure:
What a Workspace Would Represent
A workspace represents an execution context, including:
agents.md(or similar config)work,oss,personal)Example Use Cases
1. Work vs Personal Separation
myCompanyworkspace → company repos, strict conventionsmyAmazingLibsworkspace → some OSS projectmyBrandNewThingworkspace → some side projectEach with its own:
2. Improved Agent Performance
By scoping context per workspace:
3. Better Developer Experience
Happy to Contribute
If this direction makes sense, I’d be happy to help iterate on the design or contribute to an implementation.