Skip to content

Repository files navigation

my-coder

CI codecov Python License: MIT

The MyThingsLab fleet's worker: takes one picked issue and closes it as a draft PR — reads the target repo, makes the smallest change with tests, runs its suite and linter, commits, and opens the PR. Formerly inlined in fleet-dispatch's fleet_dispatch.py; now a real, tested, versioned My[X] tool.

Unlike every other fleet tool, my-coder makes no single narrow Engine call — its core action is an open-ended, tools-enabled headless coding session, the fleet's one deliberate exception to that pattern. See CLAUDE.md for the full contract.

Usage

# Close issue #12 in a target repo by running one bounded coding session,
# then open a draft PR. --session-runner defaults to `noop` (a safe dry run);
# pass `claude` to run a real headless session.
mycoder build --repo MyThingsLab/my-raytracer --issue 12 \
  --source ../my-raytracer --session-runner claude \
  --max-budget-usd 5 --max-turns 40

The session is sandboxed to a throwaway git worktree and may only edit files and commit; my-coder itself performs the single push + gh pr create --draft side effect, gated by Policy. It never merges. Outcomes: success (commit + draft PR), no_changes, needs_review, denied, skipped, failure, blocked (paused on a missing capability in another repo the session filed an issue for — see the FLEET-DISPATCH-BLOCKED: sentinel in the prompt).

Install (development)

python -m venv .venv && source .venv/bin/activate
pip install -e ../mythings-core -e ".[dev]"
pytest

License

MIT — see LICENSE.

About

MyThingsLab tool — formalizes the fleet's worker role: closes a picked issue as a draft PR via a full headless coding session.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages