Skip to main content

AXM Logo

axm-git — Deterministic Git workflows for AI agents

CI axm-audit axm-init Coverage PyPI Python 3.12+ Docs


Git workflow automation for AXM agents: inspect changes, stage explicit files, commit, manage branches and worktrees, and publish through Git and GitHub.

Features

  • Inspect repository status, diffs and package release history.
  • Commit explicit file batches with identity resolution and partial-result reporting.
  • Manage branches, worktrees, clones and local merges.
  • Push changes, create pull requests, publish tags and observe GitHub merge status.

Installation

Python 3.12+ and Git are required. GitHub operations also need the gh CLI and an authenticated session. In a Python project managed by uv:

uv add axm-git

Quick Start

From an existing Git repository, use the installed project environment:

uv run axm git_preflight --path . --diff-lines 0

This command reads the current repository and reports changed files and a diff summary without patch content. A package subdirectory limits preflight's status and diff scope; use the repository root for a repository-wide check. It does not stage, commit or publish anything.

Usage

CLI and MCP

The axm CLI and MCP use the same tools registered under axm.tools. There is no separate axm-git executable. See the CLI and MCP guide and complete tool contracts.

Operation Tools Effects
Inspect locally git_preflight, git_release_diff, git_worktree(action="list") Read repository state
Change locally git_branch, git_commit, git_merge, worktree add/remove Change branches, index, files or commits
Obtain remote content git_clone, git_pull Read remote; write local checkout
Publish git_push, git_pr, git_tag Change remote state
Observe GitHub git_await_merge Poll a PR; does not merge it

Commit and release boundaries

git_commit processes a batch sequentially: earlier successful commits remain if a later item fails. It stages declared paths, refuses unrelated staged paths, and retries once on the commit-hook “files were modified” marker. Commit recovery explains partial results and hook observations.

git_tag creates an annotated local tag and pushes it to origin. It has no list, preview, dry-run or local-only mode. Use git_release_diff for read-only release analysis. The tag CI guard blocks only red, not pending, error or skipped. Release guide describes the current limitations.

Documentation

The site homepage is docs/index.md; this README is the repository entry point. Generated API documentation includes internal modules; generation does not make every Python symbol a public root export.

Development

Development takes place in the axm-forge workspace.

git clone https://github.com/axm-protocols/axm-forge.git
cd axm-forge
uv sync --all-packages --all-groups
uv run --package axm-git --directory packages/axm-git pytest

Tests live in tests_axm_git/. From packages/axm-git, build the package documentation with mkdocs build --strict in an environment containing its docs dependencies.

License

Licensed under Apache-2.0. See LICENSE.

Release files for axm-git 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for axm-git 0.7.0
File Size Uploaded
axm_git-0.7.0.tar.gz 134.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for axm-git 0.7.0
File Interpreter ABI Platform
axm_git-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 204.4 kB

Release files / axm_git-0.7.0.tar.gz

Download URL axm_git-0.7.0.tar.gz
Size 134.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5354302fe0ed94412e33618e1cf874cb8c394b15c3dc4a1a88e8c64b9b7403da
BLAKE2b-256 checksum
How to use checksums
b5e8a225d24983958dd47796c48bfca029d2cd73541fdc9f420ec31fe1511837
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / axm_git-0.7.0-py3-none-any.whl

Download URL axm_git-0.7.0-py3-none-any.whl
Size 69.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f3b16516d4eefc34b60daa641fc7bcb1e2fab0adbf3000f1841fda6bc5c7ff8c
BLAKE2b-256 checksum
How to use checksums
51ae0db7842a5f93df307ae37ed445e866ef8174e1fc8d060a89a5c9f2c27b40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page