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>

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.1.tar.gz (10.0 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.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

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

Hashes for agent_briefcase-0.1.1.tar.gz
Algorithm Hash digest
SHA256 96beaba83aa06e8dcf270b0f47345e2f318f0a1478bc55d644393d5e77db9a0f
MD5 1feef25a9b55fb35975b6fcf5af685f8
BLAKE2b-256 4386e0eb50633c579b8fdb0d9ac2af5da470113f6ad80b8fb6b1520ef549cb2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_briefcase-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b6b926b464a7f619a46518bbd8e1ee4a8c19892e4fb34f972c326b8f80d4d8be
MD5 505d17c378bc0fce6913fd11b7a2089e
BLAKE2b-256 76fed07750203c9a58ea1423bab11db408afb6c199ab4f5caec524a217995b4f

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