Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

172 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Condukt header

Hex.pm HexDocs CI Hex.pm downloads License GitHub stars Last commit

Condukt is a cross-platform agent framework and coding agent.

It ships as three surfaces from one repository:

  • An Elixir library for OTP-native agents with sub-agents, MCP, sandboxes, network policy, redaction, compaction, and HTTP routes.
  • A terminal CLI that runs the same agent loop in Rust with a ratatui TUI, slash commands, an ACP backend, and headless exec for scripts and CI.
  • A browser package (@tuist/condukt) that ships the portable session as WebAssembly so any page can host an agent that only inherits the tools it explicitly registers.

A marketing and documentation site lives under web/ and serves both the install story and the public docs. The same Message history and ToolDefinition shape crosses every surface, so the same conversation can move between them when a host chooses to do so.

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.

CLI

Install the terminal coding agent globally with mise:

mise use -g github:tuist/condukt

Run condukt, then type /connect and follow the sign-in flow. Once connected, type a request and press Enter. Use / to browse the available commands. If you already signed in to Pi with OpenRouter, import its access credential without printing it:

condukt import-pi-credentials

For scripts and continuous integration, run one task without the terminal interface:

condukt exec "Run the test suite and summarize any failures"

condukt -p "..." is a shorthand, and a prompt can also arrive on standard input. The command uses the saved OpenRouter credential, or CONDUKT_OPENROUTER_API_KEY when set. Pass --verbose to show tool activity on standard error and --json for a machine-readable final response.

Browser

Add the npm package to a JavaScript or TypeScript application:

npm install @tuist/condukt
import {createAgent, createHttpInference} from "@tuist/condukt"

const agent = await createAgent({
  inference: createHttpInference({model: "openrouter/auto"}),
  tools: [{
    name: "read_page",
    description: "Read the public content on this page",
    parameters: {type: "object", properties: {}},
    execute: () => document.querySelector("main").innerText,
  }],
})

The page supplies both the inference configuration and the tool allowlist. The public Condukt site demonstrates the same package against a Phoenix endpoint that signs developers in with OpenRouter and proxies the completion request.

Repository layout

condukt/
├── lib/                  # Elixir library
├── native/               # Rust NIFs (bashkit, microsandbox, egress)
├── cli/                  # Rust workspace for the terminal CLI
│   └── crates/
│       ├── condukt/         # binary
│       ├── condukt-inference/
│       ├── condukt-openrouter/
│       ├── condukt-protocol/
│       ├── condukt-session/
│       ├── condukt-tools/
│       └── condukt-wasm/
├── web/                  # Phoenix marketing site, documentation source, browser endpoint
│   └── priv/docs/           # single source for docs and the ExDoc extras
├── packages/condukt/     # @tuist/condukt npm package
├── infra/                # Helm chart and cluster configuration for the site
└── .github/workflows/    # CI for library, CLI, and web

Documentation

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

License

MIT License. See LICENSE for details.

About

An Elixir library and standalone agentic engine for building AI workflows

Resources

Stars

37 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages