Autonomous memory-grounded coding harness over Claude Code or Codex
Project description
kagura-engineer
An autonomous, memory-grounded coding harness. It drives a GitHub issue to a pull request, and reviews pull requests.
The actor runs through kagura-brain
using Claude Code (the default) or Codex. Grounding comes from
Kagura Memory Cloud or an offline
SQLite store, so each run starts with what previous runs learned.
This is a 0.x project: minor releases may include breaking changes. Check the
changelog
before upgrading.
Install
Requires Python ≥ 3.11.
uv tool install kagura-engineer # uv can also fetch a suitable Python
pipx install kagura-engineer
pip install kagura-engineer
The standalone review command invokes
kagura-code-reviewer.
Install both together, or review degrades to a clean FAIL gate:
uv tool install "kagura-engineer[review]"
Quick start
kagura-engineer init # scaffold a git-ignored repo.yaml
kagura-engineer doctor # check the dependency chain
kagura-engineer setup # install what's missing, bootstrap auth
kagura-engineer run 42 # drive issue #42 to a pull request
run verifies the environment, recalls relevant memory, isolates a git
worktree, drives start → implement → ship with a gate between each phase, and
opens a pull request — checkpointing as it goes, so a blocked run resumes by
re-running the same command.
Beyond Python, a run expects git, gh, the brain CLI (claude or codex),
and the gh-issue-driven plugin; ollama is used by the reviewer.
kagura-engineer doctor reports exactly which of these are missing, and
setup installs what it can.
Commands
| Command | What it does |
|---|---|
init |
Scaffold a commented, git-ignored repo.yaml |
doctor |
Check the dependency chain; --exec-probe also live-tests headless permissions |
setup |
Install missing dependencies and bootstrap authentication |
run <issue> |
Drive one GitHub issue to a pull request |
review [ref] |
Review a branch or PR and gate on the verdict; --fix runs the auto-fix loop |
eval <issues…> |
A/B the memory-grounded loop against an ungrounded control arm |
Exit codes are consistent across the operational commands: 0 success, 1 hard
failure, 2 blocked or resumable. Full behaviour, flags, and exit codes are in
the command reference.
Configuration
kagura-engineer init writes a commented repo.yaml. A minimal offline config
is two lines:
profile: dev
memory_backend: local
A Cloud-backed config adds the workspace, context, and agent identity. Every field is documented in the configuration reference.
Headless runs need Claude Code permissions granted up front — an unattended
claude -p has no human to answer a permission prompt, so a missing grant
shows up as a red-halted run. See
headless permissions,
and verify with kagura-engineer doctor --exec-probe.
Documentation
| Page | Contents |
|---|---|
| Commands | Every command, flag, and exit code |
| Configuration | repo.yaml fields, memory backends, task fidelity, brain auth |
| Headless permissions | Allowlist and workspace trust for unattended runs |
| Development | Layout, tests, release process |
| Changelog | Shipped and breaking changes by release |
kagura-engineer <command> --help is authoritative for the version you have
installed.
As a Claude Code plugin
The repository also ships a thin Claude Code skill-plugin wrapper. Its skills
shell out to the installed CLI; the harness logic stays in the Python package.
Install the CLI first, then add this repository as a marketplace source. The
plugin is also referenced by the public
kagura-plugins marketplace.
Related repositories
| Repo | Role |
|---|---|
kagura-brain |
Headless launcher seam for the Claude/Codex actor |
memory-cloud |
Persistent memory service and MCP server |
kagura-memory-python-sdk |
Memory SDK used by the Cloud client and MCP setup |
kagura-code-reviewer |
Standalone reviewer invoked by review |
kagura-plugins |
Public Claude Code plugin marketplace |
License
Apache License 2.0 — © 2026 Kagura AI. See NOTICE for attribution.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kagura_engineer-0.7.0.tar.gz.
File metadata
- Download URL: kagura_engineer-0.7.0.tar.gz
- Upload date:
- Size: 279.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a5faf31903cbae903b6ad26658b773215a42fe0b883ab7eeed6c924407192bb
|
|
| MD5 |
339fdd63005172e401dbee6ba06fe50f
|
|
| BLAKE2b-256 |
1725c9013d95e03ddff8233c958b9e1d59203077ba7a5be3f97cb786199ef8e1
|
Provenance
The following attestation bundles were made for kagura_engineer-0.7.0.tar.gz:
Publisher:
publish.yml on kagura-ai/kagura-engineer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kagura_engineer-0.7.0.tar.gz -
Subject digest:
9a5faf31903cbae903b6ad26658b773215a42fe0b883ab7eeed6c924407192bb - Sigstore transparency entry: 2244328862
- Sigstore integration time:
-
Permalink:
kagura-ai/kagura-engineer@bea40fc1ba27ef75fb417c07991bbc3dcabbcf7e -
Branch / Tag:
refs/tags/v0.7.0 - Owner: https://github.com/kagura-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bea40fc1ba27ef75fb417c07991bbc3dcabbcf7e -
Trigger Event:
push
-
Statement type:
File details
Details for the file kagura_engineer-0.7.0-py3-none-any.whl.
File metadata
- Download URL: kagura_engineer-0.7.0-py3-none-any.whl
- Upload date:
- Size: 149.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dccebe9c6bc4962b9dda13725915565213c93ad4cd3dea0261432d3e348c4875
|
|
| MD5 |
87713387154f12b1302ba47f2134af6b
|
|
| BLAKE2b-256 |
9d05f302cca9a06291bdaf8261cab0ae4d544da58c21f6fd0274315bb3f072c6
|
Provenance
The following attestation bundles were made for kagura_engineer-0.7.0-py3-none-any.whl:
Publisher:
publish.yml on kagura-ai/kagura-engineer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kagura_engineer-0.7.0-py3-none-any.whl -
Subject digest:
dccebe9c6bc4962b9dda13725915565213c93ad4cd3dea0261432d3e348c4875 - Sigstore transparency entry: 2244329939
- Sigstore integration time:
-
Permalink:
kagura-ai/kagura-engineer@bea40fc1ba27ef75fb417c07991bbc3dcabbcf7e -
Branch / Tag:
refs/tags/v0.7.0 - Owner: https://github.com/kagura-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bea40fc1ba27ef75fb417c07991bbc3dcabbcf7e -
Trigger Event:
push
-
Statement type: