Skip to main content

Druks

Druks

[!WARNING] Druks is under active development. Breaking changes and rough edges can occur before version 1.0. main and latest contain edge builds. They are not stable releases.

Druks is a self-hosted home for durable agent apps. It runs agents with the Claude and Codex subscriptions that you already use. Druks includes Software Factory. This app automates software delivery from a ticket to a reviewed pull request.

An ordinary agent script loses its place when the process dies. A Druks workflow records the result of each completed durable operation in Postgres. After a restart or deploy, Druks replays the workflow and reuses those recorded results instead of repeating completed work. If the process stops inside an operation, that operation can run again. Thus, side effects still require idempotency. Durability and recovery explains this boundary.

Install

The installer supports three deployment shapes backed by Drukbox:

  • Docker: docker (default) starts local sandbox containers on the host Docker daemon.
  • Remote: exe starts exe.dev sandbox VMs over a tailnet.
  • Each other provider name selects the generic remote shape.

The default is the local shape, so the bare command boots a stack with no authored values:

curl -fsSL https://druks.ai/install.sh | bash

That command follows the edge channel while Druks has no stable release. Versioned releases use an installer script and an image from the same tag. The release process explains this method. Run the installer again to upgrade Druks.

Then follow full local setup. Connect the agent harnesses in the dashboard. Connect the GitHub App that software_factory uses. A standalone app can require different integrations.

Or hand the install to a coding agent — paste this into Claude Code, Codex, or any agent with shell access on the target machine:

Install druks on this machine by following https://raw.githubusercontent.com/czpython/druks/main/INSTALL.md exactly. Run each verification step. If a verification fails, stop. Show me the failed step and its output. Do not improvise a fix.

For a remote install, name the provider — exe for exe.dev VMs, any other Drukbox provider name for the generic remote shape:

curl -fsSL https://druks.ai/install.sh | DRUKS_PROVIDER=exe bash

The installer does not ask questions. The first run writes ~/druks/druks.toml with generated secrets. A remote shape can require values that only you know. These values include provider credentials and identity-edge details.

The installer prints this list and exits. Set the values in druks.toml. Then run the same command again.

See the deployment runbook for prerequisites, access control, verification, and rollback.

trigger ──> app workflow ──> durable step ──> agent ──> sandbox
                 │                     │              │
                 │                     │              └─ Claude or Codex harness
                 │                     └─ result checkpointed in Postgres
                 ├─ event ──> feed / app reaction
                 └─ gate  ──> wait for human or external system ──> resume

Platform and apps stay separate

Druks owns the execution and operating substrate:

  • DBOS workflows and queues that use Postgres
  • Typed human gates, cancellation, schedules, and observable run state
  • Claude and Codex harness dispatch through isolated Drukbox sandboxes
  • Append-only events, live feeds, webhooks, notifications, MCP servers, and skills
  • Validated operator settings, encrypted MCP and OAuth secrets, and the dashboard shell
  • App discovery, API namespaces, and independent migration histories.

An app owns its workflows, agents, domain models, routes, events, provider reactions, and optional dashboard pages. It is a Python distribution that uses the druks.apps entry-point group. Install the distribution to register it. Druks does not require an app-specific plugin list.

Scaffold one with the published CLI, no checkout required:

uvx --from druks druks create app night_watch

The generated project root carries an AGENTS.md with the contracts and a link to the authoring guide.

The bundled software_factory app is a concrete example. It coordinates coding agents through tickets and GitHub pull requests. GitHub pull-request orchestration belongs to software_factory, not to Druks.

Documentation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

druks-0.4.0.tar.gz (317.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

druks-0.4.0-py3-none-any.whl (422.5 kB view details)

Uploaded Python 3

File details

Details for the file druks-0.4.0.tar.gz.

File metadata

  • Download URL: druks-0.4.0.tar.gz
  • Upload date:
  • Size: 317.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for druks-0.4.0.tar.gz
Algorithm Hash digest
SHA256 19ace231de25ed2500152e88ba6c7aaf26f4bd8d13909b5341cbe346d4f73951
MD5 3f516834534d21be4248aac78dddf5bb
BLAKE2b-256 2fb313b37cd338912cca97f5e080862a7c51d494e093bd494999a9cd7cf77e3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for druks-0.4.0.tar.gz:

Publisher: release.yml on czpython/druks

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file druks-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: druks-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 422.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for druks-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b01bf81e40378abfdc6d9eda76339cd302744564846daa6794c9f74cbad61ed
MD5 31474449a13aa7cdc732a931c756eabe
BLAKE2b-256 632f7d394709c7d90840f2014d196a69d876681d464b09b7f3b821ff682db397

See more details on using hashes here.

Provenance

The following attestation bundles were made for druks-0.4.0-py3-none-any.whl:

Publisher: release.yml on czpython/druks

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.5.0

2 files

This release

0.4.0 This release

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

0.0.1

2 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