Agent-agnostic CLI runner with loop control for Codex, Gemini, and Claude.
Project description
cli-ai-runner
The Deterministic Task Execution Engine for Agentic CLIs.
cli-ai-runner provides a professional, stable wrapper for running AI agents like Codex, Claude, and Gemini in automated loops. It solves the "completion problem" by enforcing a structured protocol between the human, the runner, and the AI.
🚀 Why cli-ai-runner?
- Deterministic Control: Stop guessing if an agent finished. Rely on explicit
RUN_STATUSsignals. - Multi-Agent Support: Swappable adapters for the industry's leading agentic CLIs.
- Strict Completion Gating: Automated verification against your project's Roadmap and Test suites before claiming victory.
- Windows-First Reliability: Deep integration with Windows command resolution and PTY handling.
🛠 Installation
cli-ai-runner is distributed via PyPI and requires Python 3.11+.
pip install cli-ai-runner
🏁 Quick Start
1. Check your environment
See which agents are ready to work:
cli-ai-runner status
2. Setup missing agents
Automatically provision the necessary agent CLIs:
cli-ai-runner setup --yes
3. Run a project task
Execute a task with automatic continuation and verification:
cli-ai-runner "Implement the login module and add unit tests" --agent claude
📖 Documentation
- User Guide: Detailed command references, environment variables, and troubleshooting.
- Architecture: Deep dive into the adapter pattern and deterministic loop logic.
- Roadmap: Future plans for multi-agent orchestration and cross-platform support.
⌨️ CLI Command Reference
| Command | Usage | Description |
|---|---|---|
run |
cli-ai-runner run "task" [options] |
Primary command. Starts a task loop. |
status |
cli-ai-runner status |
Lists detected agents and their binary paths. |
setup |
cli-ai-runner setup [--agent X] |
Installs missing agent binaries via NPM. |
Global Options for run:
--agent {codex,gemini,claude}: Which adapter to use. (Default:codex)--max-loops N: Exit after N iterations to prevent runaway costs. (Default:50)--no-strict-completion: Disable the mandatory verification pass.
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for local development setup and testing guidelines.
⚖️ License
Distributed under the MIT License. See LICENSE for more information.
Project details
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 cli_ai_runner-1.0.2.tar.gz.
File metadata
- Download URL: cli_ai_runner-1.0.2.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5573ea4ad0d6c05434fecbe5ffeb821bf92dfa5bd935a6f46a29b0e593cdc580
|
|
| MD5 |
79e959a7069a96e61d7373bcbdc39437
|
|
| BLAKE2b-256 |
9d5701f404ca6050084f2a1c7017222058ce0a9a410fc45ada01d97e2d36d2cf
|
Provenance
The following attestation bundles were made for cli_ai_runner-1.0.2.tar.gz:
Publisher:
release.yml on adw2323/cli-runner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cli_ai_runner-1.0.2.tar.gz -
Subject digest:
5573ea4ad0d6c05434fecbe5ffeb821bf92dfa5bd935a6f46a29b0e593cdc580 - Sigstore transparency entry: 1164566591
- Sigstore integration time:
-
Permalink:
adw2323/cli-runner@848e97d3942c358472aec7219615a98960b70541 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/adw2323
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@848e97d3942c358472aec7219615a98960b70541 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cli_ai_runner-1.0.2-py3-none-any.whl.
File metadata
- Download URL: cli_ai_runner-1.0.2-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
527140576642bc43d2a0d08ec5e410e83a2ba67efcdb14382fe5b4c80990b815
|
|
| MD5 |
33b83c994a561c94da58353e2ea7b1c7
|
|
| BLAKE2b-256 |
59ebcb6508bb18199cdd0e68402e9fd9efb55395f2724cfbd6ffd7394554cc78
|
Provenance
The following attestation bundles were made for cli_ai_runner-1.0.2-py3-none-any.whl:
Publisher:
release.yml on adw2323/cli-runner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cli_ai_runner-1.0.2-py3-none-any.whl -
Subject digest:
527140576642bc43d2a0d08ec5e410e83a2ba67efcdb14382fe5b4c80990b815 - Sigstore transparency entry: 1164566630
- Sigstore integration time:
-
Permalink:
adw2323/cli-runner@848e97d3942c358472aec7219615a98960b70541 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/adw2323
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@848e97d3942c358472aec7219615a98960b70541 -
Trigger Event:
push
-
Statement type: