Condukt header

Hex.pmHexDocsCIHex.pm downloadsLicenseGitHub starsLast commit

Condukt is an Elixir framework for building agents that do real work on your infrastructure.

The agent loop is the easy part of that and the least of what this gives you. Every session is a supervised process whose tools run in a sandbox, on a network you decide, with secrets it never gets to print:

Agents are the imperative half of the picture. They compose with a declarative workflow engine rather than replacing one: let the workflow own the steps you can name, and give an agent the ones you cannot.

A marketing and documentation site lives under web/ and serves both the install story and the public docs. The terminal on its home page runs a real session on the server and calls its tools in the visitor's browser, which is the shortest demonstration of the split the library is built around: the loop is Condukt's, the reach is the host's.

Library

Use Condukt when agents should live inside your OTP system. Add it to mix.exs:

def deps do
[
{:condukt, "~> 1.5"}
]
end
defmodule MyApp.ProjectAgent do
use Condukt
@impl true
def model, do: "anthropic:claude-sonnet-4-20250514"
@impl true
def system_prompt do
"You help maintain this repository. Prefer concrete findings and patches."
end
@impl true
def tools, do: Condukt.Tools.coding_tools()
operation :release_notes,
input: %{
type: "object",
properties: %{version: %{type: "string"}},
required: ["version"]
},
output: %{
type: "object",
properties: %{
title: %{type: "string"},
highlights: %{type: "array", items: %{type: "string"}}
},
required: ["title", "highlights"]
},
instructions: "Draft release notes from the git history and project files."
end

Read the library documentation on HexDocs.

Repository layout

condukt/
├── lib/ # Elixir library
├── native/ # Rust NIFs (bashkit, microsandbox, egress)
├── web/ # Phoenix marketing site and documentation source
│ └── priv/docs/ # single source for docs and the ExDoc extras
├── infra/ # Helm chart and cluster configuration for the site
└── .github/workflows/ # CI for the library and the web application

Documentation

All documentation lives in web/priv/docs. Read it on the site, which covers the coding agent and the Elixir library. The Elixir pages are also published to HexDocs alongside the API reference.

License

MIT, except the server.

A file's licence is the one in the nearest enclosing directory, so nothing you depend on, embed, or ship carries the server's terms. The documentation under web/priv/docs/ is MIT for the same reason: it is published with the library.