Skip to content

Feature Request: Workspace / Context Isolation for Repositories #226

@GuzzoLM

Description

@GuzzoLM

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions