⚡ Local-First Issue-to-PR Pipeline
Machining GitHub Issues Into Tested Pull Requests
Connect your GitHub issues to autonomous coding harnesses, with guaranteed human-approved specifications before code is written.
Claude Code
OpenCode
Codex
Pi
Uncontrolled AI Agents
- Hallucinate unwanted architecture changes
- Push unverified commits directly to main
- Break existing test suites without warning
- Lack clear checkpoint between planning and coding
The Machinist Guardrails
- Generates an immutable Spec PR first
- Requires human approval bound to exact commit SHA
- Executes inside isolated Git worktrees
- Enforces local test gate before readying PR
01
Trigger
Issue labeled
agent-task with clear criteria
02
Spec Plan
Harness writes plan to Draft PR without code changes
03
SHA Approval
Human approves exact commit SHA
04
Test & Ready
Harness implements; test gate passes; PR ready
🔒 Absolute Invariant: AgentMachinist NEVER clicks merge.
You retain 100% final review custody.
bash — machinist operator loop
$ machinist spec 42
... reading issue #42: "Add CSV export for filtered rows"
✓ Created draft PR #18 with .machinist/specs/issue-42-spec.md
... awaiting human review and approval
$ machinist approve 42
✓ Approved PR #18 bound to commit a17c98d42e6f
$ machinist run 42
... provisioned worktree ~/.machinist/workspaces/repo-issue-42
... claude-code implemented requirements
... running test gate: uv run pytest
✓ 185 passed in 4.2s (quality gate passed!)
✓ Pushed with lease; converted PR #18 to READY FOR REVIEW
Credential Stripping
GitHub tokens and SSH sockets are scrubbed from harness environments.
Isolated Worktrees
Builds happen in clean worktrees; automatically pruned upon test success.
Leased Pushes
Pushes refuse if remote heads have diverged, preventing lost work.
Pluggable Coding Harnesses
Ready to Supercharge Your Solo Workflow?
AgentMachinist is available today on PyPI. Get started in under 60 seconds.
$
uv tool install agentmachinist && machinist init