Tooling for running AI coding agents in CI/CD environments
Project description
agentic-ci
Tooling for running AI coding agents in CI/CD environments. Handles container setup, telemetry collection, streaming output, and process lifecycle so your CI workflows don't have to.
Install
pip install ./agentic-ci/
Commands
agentic-ci setup
Bootstrap a CI container for running Claude Code. Installs system
dependencies, creates a non-root user (claude-ci), and installs
Claude Code.
WORKSPACE_DIR=/workspace agentic-ci setup
agentic-ci run
Run Claude Code with telemetry and streaming output. Starts an OTEL collector, runs Claude with stream-json output, displays human-readable progress, and prints a token/cost summary.
When run as root, automatically re-execs as claude-ci.
agentic-ci run "your prompt here" /path/to/workdir
agentic-ci run "prompt" . --model claude-sonnet-4-6
agentic-ci stream
Parse Claude Code stream-json from stdin into human-readable CI logs with token tracking.
claude -p "prompt" --output-format stream-json | agentic-ci stream
agentic-ci otel-collect
Start a lightweight OTLP HTTP/JSON receiver for capturing token and
cost metrics. Binds to an OS-assigned port and writes it to
$OTEL_PORT_FILE for discovery.
agentic-ci otel-summary
Print a human-readable token/cost summary from an OTEL JSONL log.
agentic-ci otel-summary /path/to/claude-otel.jsonl
agentic-ci extract
Extract a structured JSON result from Claude's stream-json output.
agentic-ci extract stream-capture.jsonl output-dir/
Environment Variables
| Variable | Default | Used by |
|---|---|---|
WORKSPACE_DIR |
/workspace |
setup, run |
CLAUDE_MODEL |
claude-opus-4-6 |
run |
OTEL_LOG_FILE |
/tmp/claude-otel.jsonl |
otel-collect |
OTEL_RATE_FILE |
/tmp/claude-otel-rate.json |
otel-collect, stream |
OTEL_COLLECTOR_PORT |
4318 |
otel-collect |
OTEL_PORT_FILE |
— | otel-collect |
STREAM_CAPTURE_FILE |
<run_tmp>/claude-stream-capture.jsonl |
run |
Python API
All commands are also importable:
from agentic_ci.runner import run
from agentic_ci.stream import StreamProcessor
from agentic_ci.otel_summary import print_summary
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 agentic_ci-0.1.1.tar.gz.
File metadata
- Download URL: agentic_ci-0.1.1.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47ee142122f30e8904353c8bbf5d40595b4514698ad31b09a5be169e961a5cc9
|
|
| MD5 |
765542effb88c637033bd4a0494b644a
|
|
| BLAKE2b-256 |
332387fc9421fd39ba031d13688ca2aa8aea6aeccc4be94c3c443bb35d031734
|
File details
Details for the file agentic_ci-0.1.1-py3-none-any.whl.
File metadata
- Download URL: agentic_ci-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a1d7d89d0889d9a39f7a3c8fd8f8e4ab85859bcc8451f388e92f233c9d5324f
|
|
| MD5 |
e78ba9aec9f908a8f76c23ecf7a7e1a5
|
|
| BLAKE2b-256 |
a9468575194bd4033ad609d6d29f91abe06530da5e3a84d8c159591ac9f70f09
|