Skip to main content

Druks

Druks

Druks is a self-hosted home for durable agent apps. It runs agents through connected harnesses. The included Software Factory 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
                 │                     │              │
                 │                     │              └─ harness CLI
                 │                     └─ 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
  • Agent 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 daily-quote

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

Metadata

Release files for druks 0.8.0

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

Source distribution (sdist)

Source distribution for druks 0.8.0
File Size Uploaded
druks-0.8.0.tar.gz 404.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for druks 0.8.0
File Interpreter ABI Platform
druks-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 936.8 kB

Release files / druks-0.8.0.tar.gz

Download URL druks-0.8.0.tar.gz
Size 404.4 kB
Tags Source
SHA-256 checksum
How to use checksums
bc07dc3be838747fb97a3fd7cf529f50e56a16545f426c3fb54af7a9d37c855a
BLAKE2b-256 checksum
How to use checksums
bf9e03b1e46b5e08d460aedab892e6695fef8ea92cc7ecf78533b0e95a6f402b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 27, 2026.

Transparency log

Release files / druks-0.8.0-py3-none-any.whl

Download URL druks-0.8.0-py3-none-any.whl
Size 532.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f0650f5f7495cbd9f5db8e086baf01a9a9cd974e11a70cbd678330d7fe908f1
BLAKE2b-256 checksum
How to use checksums
a0b7c112ce9f9e85d1c9776e30d29363d69857a92bdd94868d41d2fa6e14a179
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.0

2 release files

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.1

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