Skip to main content

Dari CLI

dari validates, packages, and publishes agent projects to Agent Host.

Full docs: https://docs.dari.dev

Install

pip install dari-cli

Commands

Most commands require dari auth login first. The CLI talks to https://api.dari.dev.

auth

dari auth login      # browser login, caches org key locally
dari auth logout     # clear local login state
dari auth status     # show current login and org

org

dari org list
dari org create <name>
dari org switch <organization>               # slug or id
dari org members
dari org invite <email> [--role owner|admin|member]   # default: member

deploy

dari deploy [repo_root]

Packages the checkout and publishes a new agent version.

Flag Description
--api-key Override the cached org key
--agent-id Publish to a specific agent instead of resolving by name
--dry-run Validate and package without uploading

api-keys

dari api-keys list
dari api-keys create --name <name>           # plaintext key returned once
dari api-keys revoke <key_id>

credentials

Stored secrets referenced by name from dari.yml (e.g. llm.api_key_secret: OPENROUTER_API_KEY).

dari credentials list
dari credentials add <name> [value]          # prompts if value omitted
dari credentials add <name> --value-stdin < secret.txt
dari credentials remove <name>

manifest

dari manifest validate [repo_root]
dari manifest validate --json                # prints normalized manifest

Bundle shape

The repo root must contain:

  • dari.yml
  • any prompt files referenced by instructions
  • custom tools under tools/<name>/tool.yml
  • Dockerfile only if dari.yml sets a runtime: block; otherwise the default E2B base image is used.

Supported harness values: pi.

Minimal dari.yml:

name: support-agent
harness: pi

instructions:
  system: prompts/system.md

sandbox:
  provider: e2b
  provider_api_key_secret: E2B_API_KEY

llm:
  model: anthropic/claude-sonnet-4.6
  base_url: https://openrouter.ai/api/v1
  api_key_secret: OPENROUTER_API_KEY

Full schema: https://docs.dari.dev/manifest.

Local development

uv sync --group dev
uv run pytest

Release

  1. Bump version in pyproject.toml.
  2. Refresh uv.lock so the editable entry matches.
  3. Commit the bump before tagging.
  4. uv build && uv run pytest.
  5. Push a v0.1.x tag matching pyproject.toml — the release workflow rejects mismatched tags.

Contributing

See CONTRIBUTING.md.

Metadata

Release files for dari-cli 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dari-cli 0.2.1
File Size Uploaded
dari_cli-0.2.1.tar.gz 30.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dari-cli 0.2.1
File Interpreter ABI Platform
dari_cli-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 55.0 kB

Release files / dari_cli-0.2.1.tar.gz

Download URL dari_cli-0.2.1.tar.gz
Size 30.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8e89177f29493c7b0f4b121ed556eacfbb83519ada50b771d8182bd2d954feaa
BLAKE2b-256 checksum
How to use checksums
0ecd43a223dd4f5457c11e8ddb3130acb19f557e4f5e6a21e1383a33e759efd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.

Transparency log

Release files / dari_cli-0.2.1-py3-none-any.whl

Download URL dari_cli-0.2.1-py3-none-any.whl
Size 24.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
45414c831f3d45899a48d6c73587dd4062b6786017081aae1fb074165f119783
BLAKE2b-256 checksum
How to use checksums
6e3686e8785f97478fbd74bc28672b2ab3792797610c87ca0d14718ffd0fe676
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page