Agent Card
Describes how an external A2A client reaches the responsible repository owner.
git-a2a is a cross-platform component dependency manager. It applies code through the consumer's own tools and carries the owning Agent Card and optional published surface at the same Git revision.
One agent is responsible for one repository. An external A2A client performs communication; git-a2a manages dependency code and metadata.
Illustrative session · example repository, simplified output. Ask the owner through an external A2A client; then pull the updated component.
Dependency metadata connects repositories; an external client connects agents. Code and conversation travel on visibly separate paths.
Add components, find their owners, and keep dependencies up to date.
git a2a init
Set up git-a2a in your repository.
git a2a add SOURCE
Add a component from its Git repository, along with its agent and any published documentation.
git a2a list [--json]
See all your dependencies. Use --json for structured output.
git a2a whose NAME [--json]
Find the agent responsible for a dependency and its Agent Card.
git a2a pull [NAME]
Update all dependencies, or name one to update just that component.
git a2a remove NAME
Remove a dependency from your project.
One component, at most one responsible external agent, an optional readable surface, and direct dependencies.
schema: 2 component: id: acme-lib-utils repository: https://github.com/acme/lib-utils.git surface: docs/public exports: - adapter: npm name: "@acme/lib-utils" - adapter: pypi name: acme-lib-utils agent: name: lib-agent card: .well-known/agent-card.json
The repository publishes one component and names its platform adapters. All bindings use the same resolved commit.
The Agent Card says how an external A2A client can reach the one agent responsible for this repository. git-a2a preserves the reference; it does not duplicate the card.
An optional tracked part of the component published for reading at the applied revision. It is metadata, not an installation mechanism.
Records the exact commit, adapter variants, usable card reference, and surface provenance after a successful transaction.
Native managers own their declarations and locks. Build adapters share one submodule checkout; submodule is also the explicit fallback adapter.
The published ACME demo turns the diagram into a reproducible local run.
git clone https://github.com/neprel/git-a2a-demo-acme-lib.git git clone https://github.com/neprel/git-a2a-demo-acme-app.git cd git-a2a-demo-acme-app ./demo/run.sh # Short npm-only profile DEMO_PROFILE=npm ./demo/run.sh
Deterministic agents need no LLM API keys. A separate demo client uses real A2A transport; git-a2a 2.0.0 manages dependency code and metadata.
Temporary local Git remotes drive the owner commit and pull. The demo agents exist only for the run; they are not permanently available public services.
One Go binary, distributed through the package managers you already use. Pin an explicit version in CI.
curl -fsSL https://git-a2a.com/install.sh | bash
irm https://git-a2a.com/install.ps1 | iex
The second command is for Windows PowerShell. Both installers verify release checksums.
go install github.com/neprel/git-a2a/v2/cmd/git-a2a@v2.1.1
brew install neprel/tap/git-a2a
scoop bucket add git-a2a https://github.com/neprel/scoop-bucket scoop install git-a2a
npx git-a2a@2.1.1 --version
uvx git-a2a==2.1.1 --version
docker run --pull=always --rm ghcr.io/neprel/git-a2a:2.1.1 --version
Release archives also cover Darwin, Linux, and Windows on amd64 and arm64.
Describes how an external A2A client reaches the responsible repository owner.
Sends the request and carries the conversation. git-a2a does neither.
Owner-selected, tracked material for reading at the applied component revision.
Apply, update, restore, inspect, and remove code through saved platform variants.