Streamline Git repo management for coding agents.
Project details
Shed transforms how coding agents manage Git repositories by providing read-only and always-up-to-date checkouts. It allows agents to create disposable workspaces swiftly without affecting the upstream catalog. This ensures clean work environments, reduces conflicts, and promotes efficiency across various coding platforms.
Shed is a powerful tool designed for efficient management of Git repositories tailored specifically for terminal coding agents. With Shed, coding agents can easily maintain a catalog of read-only, up-to-date repository checkouts stored under ~/.shed/repos. When needed, agents can quickly create lightweight, temporary workspaces that can be easily discarded once their task is complete. This functionality ensures that agents always work with the latest code without risking the integrity of the original repository copies.
Read-Only Catalog: The repository catalog is accessible at the OS level and ensures that agents branch from fresh code without accidentally corrupting the reference copies.
Lightweight Workspaces: Create disposable workspaces using the command shed workspace new, which provides a writable clone of the latest repository version, making it easy to open pull requests (PRs) without impacting other agents or the repository catalog.
You: "Fix the broken link in octocat/Hello-World's README"
Agent: reads ~/.shed/repos/github.com/octocat/Hello-World (read-only, current)
→ shed workspace new (writable clone off the latest)
→ edits there, opens a PR (catalog and other agents untouched)
Automatic Synchronization: Repositories sync in the background at session start and again before any workspace is created, ensuring that agents never branch off stale code accidentally.
Parallel Sessions: Each agent can run multiple sessions in the same repository without any conflict, as each task receives its own unique workspace.
Efficient Resource Usage: Workspaces utilize hard links from a shared mirror, allowing for quick creation and offline functionality, ensuring minimal use of system resources.
Versatile Version Tracking: Manage multiple versions of a repository seamlessly, allowing several versions like cpython, cpython@3.12, and cpython@v3.12.3 to coexist while sharing a single mirror of history.
Shed provides a comprehensive set of commands to streamline repository management:
| Command | Description |
|---|---|
shed init | Bootstrap directories and integrate with detected agents |
| `shed add <repo | owner>` |
shed rm <name…> | Remove tracked repositories, owners, or a specific workspace |
shed sync [<name…>] | Fetch updates for mirrors and refresh read-only repositories |
shed workspace new <repo> <branch> | Create a writable clone from the freshly-synced repository |
shed prune | Delete workspaces whose changes have been merged |
Shed integrates seamlessly with various coding agents such as Claude Code, Cursor CLI, and opencode, auto-detecting configurations and enabling background synchronization.
In summary, Shed revolutionizes the way agents interact with Git repositories, providing a robust mechanism to ensure clean, efficient, and secure management of coding tasks. For comprehensive documentation, consult the help commands within Shed.
Comments
0Start the conversation
Share the first comment.