Skip to main content

CLI tool for maintaining a shared local registry of reusable GitHub repos and scaffolding new coding-agent projects.

Project description

briefcase logo

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>

GitHub /tree/ and /blob/ URLs are supported to reference a subdirectory or individual file within a repo:

briefcase add pi-src https://github.com/badlogic/pi-mono/tree/main/packages/agent/src
briefcase add pi-agent-loop https://github.com/badlogic/pi-mono/blob/main/packages/agent/src/agent-loop.ts

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_briefcase-0.1.2.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_briefcase-0.1.2-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file agent_briefcase-0.1.2.tar.gz.

File metadata

  • Download URL: agent_briefcase-0.1.2.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for agent_briefcase-0.1.2.tar.gz
Algorithm Hash digest
SHA256 59c46ff4373b3b983bada686eefa369fda2f99671cc7b974946da4a56f93b156
MD5 8b53b8eae176dc627125df1ef7ef8864
BLAKE2b-256 e1241bce9a3a5922c1d338a549ead4d682ba3179719da650eec3107d0c525c59

See more details on using hashes here.

File details

Details for the file agent_briefcase-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_briefcase-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4b504eac034b936ab2bbb48bad4ed4cdf1c7403d1ebdce78a1b0f8c73b44fe37
MD5 8f9e5513a1715a7aa759bbbc4924cb65
BLAKE2b-256 e56c585bc6d3237b6293d002be6544275cfa82bfe34fcf061c94db3a9eaee418

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page