
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
readyagentsdev
Advanced tools
ReadyAgents runs YAML agent workflows locally. Every node is checkpointed, so a run pauses for human approval, resumes from where it stopped, and replays offline as a regression test. Your keys, your machine, no daemon.
Site: readyagents.dev. Repo: github.com/readyagentsdev/readyagents-core.
Tried it? Open an I-ran-this issue. We are not launching. We are listening.
This repository is the free core. You keep the provider account and the bill. Install with pip install readyagentsdev, or from this clone.
Requires Python 3.11–3.14 on Linux, macOS, or Windows. Current version is 2.0.8. Install with pip install readyagentsdev, or from this clone. The 2 versions the core contract only; extras carry their own maturity tiers.
pip install readyagentsdev
readyagents new my-flow
readyagents run my-flow/workflow.yaml
readyagents runs list
The wheel ships the example workflows too — no clone needed:
readyagents new f --from-example calc_pipeline
readyagents run f/workflow.yaml
readyagents new --list-examples shows all of them.
Or from a clone:
git clone https://github.com/readyagentsdev/readyagents-core.git
cd readyagents-core
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
readyagents run examples/calc_pipeline.yaml
readyagents runs list
readyagents doctor
readyagents run examples/calc_pipeline.json is the same graph.
HITL next: docs/first-ten-minutes.md.
tools: allowlist for a bounded tool-use loop. type: decide is experimental; see docs/decisions.md.readyagents runs list / show / replay / fork / diff / freeze / report (local HTML)readyagents new my-flow (basic, approval, research, pipeline, review, foreach, agent-tools, gated)now, calc, json_get, list_dir, read_file, write_filereadyagents mcp serve, readyagents mcp probe) with official tasks and MRTR approvals--estimate / --max-spend caps, model fallback, JSON logsBeyond the core, 40+ opt-in extras ship in the same install — teams, studio, browser, knowledge, distillation, registry, environments and more. Each is listed with its maturity tier and its limits in docs/extras.md. None of them is required, and none of them changes how the core behaves.
The agent firewall (taint, tool policy, MCP pinning — security model, policy) is defence in depth, not a solution to prompt injection.
flowchart LR
YAML[Workflow YAML/JSON] --> Engine
subgraph Core["ReadyAgents Core"]
Engine[Workflow engine]
Tools[Builtin tools]
LLM[BYOK LLM providers]
MCP[MCP client / server]
Packs[Pack loader]
end
Engine --> Tools
Engine --> LLM
Engine --> MCP
Packs --> Engine
Packs --> Tools
LLM --> OpenAI[OpenAI]
LLM --> Anthropic[Anthropic]
LLM --> Compat[OpenAI-compatible]
| Command | Purpose |
|---|---|
readyagents init | Write .env from .env.example if missing |
readyagents new [name] [--template basic|approval|research|pipeline|review|foreach|agent-tools|gated] [--from-example NAME] [--list-examples] | Scaffold workflow + README + .env.example + local JSON Schema, or copy a shipped example |
readyagents import SOURCE PATH [--out DIR] [--explain SOURCE] | Import n8n / LangGraph / CrewAI / trigger-action exports (structural translation only) |
readyagents validate PATH | Schema-validate a workflow (source-located errors on failure) |
readyagents schema | Print/write/check the generated workflow JSON Schema |
readyagents eval PATH | Score a keyless fixture suite (exit 0/1) |
readyagents simulate PATH [...] | Declaration-driven cases scored with eval; distinct failures frozen |
readyagents optimize PATH --eval SUITE | Reflective prompt optimization against your eval suite |
readyagents prompts list / show / history / diff / rollback | Versioned prompts beside the workflow; rollback restores exactly |
readyagents env status / history / diff / deploy | Declared environments and pinned releases |
readyagents registry scan / annotate / check / list / show / stats / card / export | Local agent inventory from declared roots (Annex VIII export is a draft) |
readyagents distill plan / dataset / train / evaluate / promote | Local one-node adapters from consented runs (pack trains; holdout required) |
readyagents promote PATH --from SRC --to DST | Copy a source pin onto a target after eval/fixture/bench/health/approval gates |
readyagents rollback --env NAME | Restore the previous release atomically; never auto-forwards |
readyagents feedback export / stats | Consent-gated correction datasets (production data) |
readyagents run PATH [--input KEY=VALUE] [--dry-run] [--approve NODE] [--reject NODE] [--decision-file FILE] [--actor NAME] [--pack PATH] [--policy PATH] [--estimate] [--max-spend USD] [--max-tokens N] [--label KEY=VALUE] [--sovereign] [--stream] [--env NAME] | Execute (or --estimate without running). --env runs a pinned release. --stream is opt-in |
readyagents batch PATH --input-file FILE [--concurrency N] [--max-spend USD] [--out FILE] | Foreground: one workflow, many JSONL/CSV rows (opt-in) |
readyagents attest RUN_ID | Data-residency attestation (technical evidence, not legal compliance) |
readyagents bundle --out DIR | Offline wheel set for pip install --no-index --find-links |
readyagents resume RUN_ID [--approve NODE] [--reject NODE] [--decision-file FILE] [--policy PATH] | Resume a paused or failed run |
readyagents wake | Evaluate wait conditions (lazy; starts no timer or daemon) |
readyagents event | Inject a signed event (unsigned events are refused) |
readyagents policy check PATH | Validate a firewall policy file (fail closed) |
readyagents policy explain PATH [--policy PATH] | Show which tools each node may call and why |
readyagents evidence RUN_ID [--out DIR] | Local evidence pack |
readyagents audit verify [--file PATH] | Walk the hash-chained audit trail |
readyagents spend [--since DATE] [--by day|workflow|model|actor|label] | TokenOps: aggregate the local spend ledger (informational vs the provider invoice) |
readyagents graph PATH | Deterministic Mermaid routing (executes nothing) |
readyagents decide RUN_ID [--file FILE | --node ID --decision approve] [--token-file JWT] [--actor NAME] [--reason TEXT] | Inject an approval; --actor stays the default, --token-file identifies |
readyagents approvals list [--role ROLE] [--actor NAME] [--expiring-within 1h] | Queue of paused gates the caller may see |
readyagents delegate --from A --to B --until TS [--scope ROLE] | Time-bounded, single-hop, revocable approval delegation |
readyagents delegations list | revoke ID | List or revoke local delegations |
readyagents identity verify --token-file JWT | Verify an assertion against local trust anchors |
readyagents identity whoami | Workload fingerprint (never the private key) |
readyagents runs list | List persisted runs |
readyagents runs show RUN_ID | Node timeline + stored state (inspect is an alias) |
readyagents runs report RUN_ID | Local HTML summary of a run |
readyagents runs replay RUN_ID | New run from stored inputs |
readyagents runs delete RUN_ID --yes | Delete one local run record |
readyagents runs gc --yes | Prune succeeded/failed/cancelled runs (paused kept; in-window records refused unless --override-retention) |
readyagents runs fork / diff / freeze / migrate | Time machine: fork a run, diff two, freeze a cassette, migrate JSON→SQLite |
readyagents connectors list / show / test | Small governed catalog (rest, sql, object_storage, message, ingest) — not 500 SaaS |
readyagents sign / verify / lock / sbom / trust | Supply-chain: signatures prove origin, not safety |
readyagents approvals serve | Foreground localhost approval page |
readyagents studio [--port 8790] [--open] [--read-only] | Foreground localhost canvas and run inspector |
readyagents models list / show / route --explain | Dry model catalog and routing explain (no provider call) |
readyagents mcp serve | Stdio MCP server (builtin tools); --json prints protocol versions |
readyagents mcp probe URL | Read-only server/discover diagnostic (never calls a tool) |
readyagents a2a serve PATH | Foreground A2A door for one workflow (loopback by default) |
readyagents a2a card PATH | Deterministic Agent Card (no network) |
readyagents a2a probe URL | Read-only remote card diagnostic (no secret values) |
readyagents memory list / show / search / forget / export | Local scoped memory (offline except optional embeddings) |
readyagents knowledge ... | Ingest, sync, cite, and forget knowledge documents (foreground only) |
readyagents table ... | Inspect intermediate tables: head, schema, stats |
readyagents triggers ... | Inspect declared triggers, dry-run mappings, list events (starts no listener) |
readyagents skills ... | Install, list, export, and remove Agent Skills (open format; no marketplace) |
readyagents agents-md | Emit project context: how to run, validate, and test workflows here |
readyagents package ... | Build, install, and catalog workflow packages (review-before-install) |
readyagents health | Cluster failures by fingerprint over the run store (no daemon, no telemetry) |
readyagents bench ... | Offline-by-default benchmark suite with labelled engine vs live timing |
readyagents sessions ... | List, show, close, replay, and freeze conversational sessions (turns are runs) |
readyagents serve ... | Foreground loopback surfaces (stops with the process) |
readyagents packs [--pack PATH] | List installed / local packs |
readyagents doctor | Read-only platform / extras / permissions / loopback / run-store / sovereign diagnostic |
readyagents version | Print version |
| File | What it shows |
|---|---|
examples/calc_pipeline.yaml | Builtin tools, transform, condition |
examples/calc_pipeline.json | Same graph as calc_pipeline.yaml |
examples/approval_gate.yaml | Human-in-the-loop pause / resume |
examples/ollama_local.yaml | Keyless loopback OpenAI-compat path (no live model) |
examples/quorum_gate.yaml | Two-approver gate (keyless) |
examples/expiring_gate.yaml | Lazy deadline, on_expire: reject (keyless) |
examples/multi_gate.yaml | Two sequential approval gates |
examples/fanout_gate.yaml | Parallel branches + approval |
examples/include_demo.yaml | Sub-workflow include (new --from-example) |
examples/composed_gate.yaml | Include + parallel + approval (new --from-example) |
examples/research_brief.yaml | Agent node (needs a key) |
examples/support_triage.yaml | Classify then branch (needs a key) |
examples/code_review.yaml | read_file + review (needs a key) |
examples/agent_tools.yaml | Agent tools: [calc] (needs a key; --dry-run is keyless) |
examples/foreach_calc.yaml | Sequential foreach + calc (no keys) |
examples/policy_gated.yaml | Policy gate on tainted write_file (no keys) |
examples/readyagents.policy.yaml | Starter firewall policy |
examples/json_mutate.yaml | json_set / json_merge (no keys) |
examples/table_pipeline.yaml | type: table + type: classify (validate keyless) |
examples/list_dir.yaml | Builtin list_dir (no keys, no MCP, no Node) |
examples/eval/pass.yaml | Keyless readyagents eval fixture suite |
examples/a2a_delegate.yaml | type: a2a dry-run (no network) |
examples/memory_triage.yaml | type: memory write then search (keyless) |
examples/code_reshape.yaml | type: code JSON in/out (keyless, subprocess) |
examples/batch_echo.yaml | Keyless readyagents batch row echo (batch_rows.jsonl / .csv) |
examples/connector_rest.yaml | Keyless rest connector against a local fixture |
examples/connector_demo.yaml | Local --pack connector (examples/packs/connector_pack.py) |
examples/gated_write.yaml | Approval then write_file (no keys) |
examples/env/echo.yaml | Keyless env deploy + run --env (examples/env/readyagents.env.yaml) |
--stream; not audio)contract:; declared rules)type: team; closed members; no quality claim)routing:; declared policy)MediaPart / type: document / type: transcribe; extras; not an OCR claim)type: ingest; citations/freshness)type: table / type: classify)type: wait; lazy wake)triggers:; no listener in core; at-least-once plus idempotency)type: skill; open format)type: browser; declared actions; no CAPTCHA; optional pack)type: converse; loopback serve chat; no audio in core)readyagents.env.yaml; pinned releases; gated promote)readyagents import; structural translation only)readyagents registry; declared roots; draft Annex VIII export)readyagents distill; pack-owned training; holdout-gated adapters)readyagents package; review-before-install)readyagents simulate; declaration-driven cases)readyagents health / recovery:; fingerprints and fail-safe gates)readyagents bench; offline cassettes)LLM and MCP extras are optional.
pip install "readyagentsdev[openai]"
pip install "readyagentsdev[anthropic]"
pip install "readyagentsdev[gemini]"
pip install "readyagentsdev[bedrock]"
pip install "readyagentsdev[vertex]"
pip install "readyagentsdev[mcp]"
pip install "readyagentsdev[all]"
pip install "readyagentsdev[image]"
pip install "readyagentsdev[pdf]"
pip install "readyagentsdev[audio]"
pip install "readyagentsdev[table]"
From a clone, the same extras are pip install -e ".[openai]" (and anthropic /
gemini / bedrock / vertex / mcp / all). The optional [otel] extra is
not included in [all]; it starts no collector (see
observability.md). The optional [sign] extra (Ed25519
artifact signatures), [jwt], [gemini], [bedrock], [vertex], [image],
[pdf], [audio], and [table] extras are also not in [all]. Unsigned default runs
never import them. Codecs are extras; core installs stay text-only. Pandas is
optional for table ops; stdlib is sufficient.
Then cp .env.example .env and paste your own keys. Core workflows that only use builtin tools do not need extras, keys, or Node.js.
docker compose run --rm readyagents run examples/calc_pipeline.yaml
make smoke
Always-on packs are waitlisted and not for sale.
Always-on / continuous workers are not in Core. The optional readyagents-pack-continuous distribution (separate repository, not a Core extra) can run configured workflows from an explicit foreground command. Installing Core still starts no scheduler or listener.
Hosted control plane. Hosted recovery and remote run stores. SSO, multi-tenant teams, billing.
The core has persist, resume, and approval pauses for a local one-shot. It does not run always-on.
Apache License 2.0. See LICENSE.
Please report vulnerabilities as described in SECURITY.md. Public contact: info@readyagents.dev. Do not commit API keys. Local operator files such as .env are gitignored.
FAQs
Local one-shot YAML/JSON agent workflow engine + MCP toolkit (BYOK).
The pypi package readyagentsdev receives a total of 1,806 weekly downloads. As such, readyagentsdev popularity was classified as popular.
We found that readyagentsdev demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.