CLI tool for maintaining a shared local registry of reusable GitHub repos and scaffolding new coding-agent projects.
Project description
briefcase
Pack your agent's briefcase with the right repos before it starts work.
Coding agents write better code when they can read real examples — but wiring up reference repos for every new project is tedious. Briefcase maintains a local registry of GitHub repos and scaffolds new projects with symlinked references, generated context files, and everything an agent needs to hit the ground running.
Install
pip install agent-briefcase
Or install from source:
git clone https://github.com/cegersdoerfer/briefcase.git
pip install -e .
Requires Python 3.10+ and git.
Usage
Register a repo
briefcase add <name> <repo-url>
Clones the repo into ~/.briefcase/repos/<name> and records it in the registry.
List registered repos
briefcase list
Remove a repo
briefcase remove <name>
Removes the tool from the registry and deletes its cloned repo from ~/.briefcase/repos/.
Update a repo (git pull)
briefcase update <name>
briefcase update --all
Scaffold a new project
briefcase new myproject --tools foo bar
When --tools is omitted, an interactive menu lets you pick from registered tools:
briefcase new myproject
Creates a project directory with this layout (using the default layout):
myproject/
src/ # your code goes here
tests/
refs/
foo -> ~/.briefcase/repos/foo # symlink, read-only reference
bar -> ~/.briefcase/repos/bar
toolset.yaml
AGENT_CONTEXT.md
The generated AGENT_CONTEXT.md and toolset.yaml give a coding agent the context it needs to use the referenced repos.
Project layouts
The --layout flag selects a project layout:
briefcase new myproject --tools foo --layout minimal
Built-in layouts:
| Layout | Directories | Files |
|---|---|---|
default |
src, tests | toolset.yaml, AGENT_CONTEXT.md |
minimal |
(none) | AGENT_CONTEXT.md |
Both layouts create a refs/ directory for tool symlinks.
Custom layouts
Place a YAML file in ~/.briefcase/layouts/ to define a custom layout:
# ~/.briefcase/layouts/mylay.yaml
dirs: [lib]
refs_dir: refs
files:
AGENT_CONTEXT.md: |
# {{ project_name }}
{% for tool in tools %}
- **{{ tool.name }}** — `{{ tool.rel_path }}`
{% endfor %}
Template variables: {{ project_name }}, {{ tool.name }}, {{ tool.rel_path }}, {{ tool.notes }}.
A same-named file in ~/.briefcase/layouts/ overrides a built-in layout.
Default layout config
Set a global default in ~/.briefcase/config.yaml:
default_layout: minimal
The --layout CLI flag takes precedence over the config file.
Custom home directory
Override the default ~/.briefcase location:
briefcase --home /path/to/registry list
BRIEFCASE_HOME=/path/to/registry briefcase list
--home takes precedence over the BRIEFCASE_HOME env var.
Development
pip install -e ".[dev]"
.venv/bin/python -m pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_briefcase-0.1.1.tar.gz.
File metadata
- Download URL: agent_briefcase-0.1.1.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96beaba83aa06e8dcf270b0f47345e2f318f0a1478bc55d644393d5e77db9a0f
|
|
| MD5 |
1feef25a9b55fb35975b6fcf5af685f8
|
|
| BLAKE2b-256 |
4386e0eb50633c579b8fdb0d9ac2af5da470113f6ad80b8fb6b1520ef549cb2b
|
File details
Details for the file agent_briefcase-0.1.1-py3-none-any.whl.
File metadata
- Download URL: agent_briefcase-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6b926b464a7f619a46518bbd8e1ee4a8c19892e4fb34f972c326b8f80d4d8be
|
|
| MD5 |
505d17c378bc0fce6913fd11b7a2089e
|
|
| BLAKE2b-256 |
76fed07750203c9a58ea1423bab11db408afb6c199ab4f5caec524a217995b4f
|