An Elixir library and standalone agentic engine for building AI workflows
40
stars
172
commits
Elixir
primary language
Aug 28, 2026
updated
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.
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.
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
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.
MIT, except the server.
native/. See LICENSE.web/, the Phoenix server that runs
condukt.tuist.dev, is Mozilla Public License 2.0.
See web/LICENSE.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.
116 commits
56 commits
Elixir
82.6%
Rust
9.5%
CSS
3.5%
JavaScript
2.3%
An Elixir library and standalone agentic engine for building AI workflows
40
stars
172
commits
Elixir
primary language
Aug 28, 2026
updated
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.
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.
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
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.
MIT, except the server.
native/. See LICENSE.web/, the Phoenix server that runs
condukt.tuist.dev, is Mozilla Public License 2.0.
See web/LICENSE.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.
116 commits
56 commits
Elixir
82.6%
Rust
9.5%
CSS
3.5%
JavaScript
2.3%