Skip to main content

AgentMachinist

AgentMachinist is a local-first, issue-to-reviewed-PR build pipeline for solo developers. It connects GitHub issues to Claude Code, OpenCode, Pi, or Codex, with a human-approved specification between planning and implementation.

issue + trigger label → spec commit → draft PR → SHA-bound approval
                    → implementation → test gate → ready PR → human merge

The controller—not the harness—owns commits, pushes, PR transitions, and task records. AgentMachinist never merges.

Current release: AgentMachinist 0.3.0 on PyPI.

Install

uv tool install agentmachinist

You also need git, an authenticated gh, and one supported harness executable (claude, opencode, pi, or codex).

Start

cd your-repository
machinist init
# Set tests.command in machinist.yaml, then:
machinist doctor
machinist watch

The default github.spec_source: local makes watch own spec generation. Choose github-actions and run machinist sync-workflows if CI should own that phase instead. Exactly one source is active, preventing duplicate spec runs.

Approval is bound to the exact PR head commit. Use either:

machinist approve 57
# or post the exact PR comment: /machinist-execute

Editing the spec after approval makes that approval stale and blocks execution until the new head is approved.

Commands

Command Purpose
machinist init Create config, spec storage, labels, and managed workflows.
machinist doctor Run read-only setup and workflow-drift diagnostics.
machinist sync-workflows [--check] Write or verify config-derived workflows.
machinist spec <issue> Generate a spec and open its draft PR.
machinist approve <pr> Bind approval to the current PR head.
machinist run <issue> Implement an approved spec and run the test gate.
machinist watch [--once] Dispatch eligible tasks continuously or once.
machinist status Show issue/PR lifecycle states.
machinist retry <issue> [--phase spec|execute] Re-enable one failed Task Run.

Documentation

The trust model is deliberately narrower than “the agent cannot use git.” Harness flags, credential reduction, repository postconditions, and push leases reduce risk, but local harnesses still execute with the operating-system access of the user who launched them. Read the trust model before unattended use.

Releasing

Releases use PyPI Trusted Publishing. Bump pyproject.toml, update the changelog, and publish a GitHub Release tagged v<version>. The release job requires tag/version equality, runs the suite, builds both distributions, installs and smoke-tests the wheel, and publishes last.

License

MIT — see LICENSE.

Download files

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

Source Distribution

agentmachinist-0.3.0.tar.gz (60.3 kB view details)

Uploaded Source

Built Distribution

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

agentmachinist-0.3.0-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file agentmachinist-0.3.0.tar.gz.

File metadata

  • Download URL: agentmachinist-0.3.0.tar.gz
  • Upload date:
  • Size: 60.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for agentmachinist-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f7aca980f54c615cc09c676671e161ab3c47c281814938bc6b9ea76dbc22f9a9
MD5 d2f3a9d29404a7028fbadf617308ced8
BLAKE2b-256 b1fd886d96dda6f503bfe09a97d9d5d68ff4285ea6491fb5bbe9ee419adedeff

See more details on using hashes here.

File details

Details for the file agentmachinist-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: agentmachinist-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for agentmachinist-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50f73a294292dc0a24db957ad8287c88f84dd48ab0c69a08170f62886a688c9a
MD5 4be19046f32083dee20a702de60eae77
BLAKE2b-256 ab3b80e6a4b36ac0b528f58350835fd3c8a148c266ce86e3fb2c50d2de0e8905

See more details on using hashes here.

Release history Release notifications | RSS feed

0.13.0

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.0

2 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