The Agentix CLI has two core verbs plus a read-only inspector:
  • agentix build turns a Python project into a deploy-ready runtime bundle tar.
  • agentix deploy deploys that portable tar to a provider backend (local extract for docker/podman/apptainer; upload + register for managed services like E2B / Daytona / Modal).
  • agentix plugin list lists the installed provider backends and whether each one loads.

agentix build

Package one project root into a bundle artifact.
The project root must contain pyproject.toml. The default bundle name and tag are derived from [project].name and [project].version; -n / --name overrides them. --nix-arg, --uv-arg, and --container-arg are raw passthroughs — each value is a shell-style string forwarded to the underlying engine (quote a whole sub-flag as one value), so any knob is reachable without a bespoke flag or env var. Point nix at a CN mirror, or override the builder base image:
--platform describes the Linux container platform where the sandbox will run, not the machine that invokes the build. For example, use --platform linux/amd64 when building on an Apple Silicon Mac for a remote x86 sandbox.

Dependency Model

The CLI never enumerates integrations. It installs the project into the runtime venv, and uv sync resolves and installs everything declared by the project. With a committed uv.lock the in-container build runs uv sync --frozen --no-dev --no-editable (locked, reproducible); without one it resolves fresh. Either way the bundle gets a non-editable, production-only dependency closure.
pyproject.toml
That project builds one bundle containing the framework, sandbox primitives, the agent wrapper, the scorer wrapper, transitive deps, and the project itself.

Dry Run

Dry run stages the generated Dockerfile and copied project tree under ./build/<tag>/, prints what would be built, and exits without invoking Docker.

agentix deploy

agentix deploy is a plugin-owned subcommand group. Each installed provider plugin (agentix-provider-docker, future -e2b, -modal, …) contributes its own agentix deploy <name> subcommand via the agentix.deploy.commands entry-point group. The core CLI knows nothing about backend-specific flags — it just discovers what’s installed:
agentix deploy list is the structured discovery surface — text by default, JSON with --format json:
The “without a deploy subcommand” line names providers whose SandboxProvider class is registered (i.e. agentix plugin list shows them) but who haven’t wired up an agentix.deploy.commands entry yet — useful for telling “not installed” from “installed but not yet wired for deploy”. The deploy operation is backend-specific:
  • Local backends (docker, podman) unpack the portable tar into a content-addressed host cache and print the cache root.
  • Managed services (e2b, modal, daytona, fly — when wired) upload the tar and print the service-side template / volume reference.
Use whatever deploy prints as SandboxConfig.bundle. The three flags every backend supports (via the shared common_options helper): Plus whatever flags the chosen backend declares (e.g. docker’s --container-engine / --run-arg). With --format json, deploy prints a machine-readable object so the cache path can be read with jq:
Deploy output also includes a shell-comment block of copy-pasteable inspect / cleanup commands the provider surfaces via DeployedBundle.hints:

Adding a new deploy backend

A plugin registers its deploy subcommand in its own pyproject.toml:
The subcommand is an ordinary @click.command that decorates with common_options (from agentix.cli.deploy) for the shared flags, layers its own backend-specific flags on top, and calls print_deploy_result to render.

Bundle Tar

The tar contains:
The nix/ tree is the complete runtime closure and must appear at /nix inside a sandbox. Backends that stage bundles across machines can unpack this tar into their cache and bind it into task containers. The transient build image used to produce the tar is kept locally under an agentix-bundle-cache:* tag and overwritten on later builds, so the container builder can reuse it for incremental builds.

agentix plugin

A read-only inspector for the installed provider backends.
agentix plugin list enumerates every provider backend discovered through the agentix.provider entry-point group and reports whether each one loaded OK or failed to import. Use it to confirm a backend such as docker or podman is installed and importable before you deploy.

Configuration

Most runtime configuration lives in explicit provider config objects or CLI flags. Runtime bootstrap uses a small internal env contract. Third-party packages that need their own top-level workflow should ship a separate console script such as agentix-yourcmd instead of expanding the core CLI.