# Dirigent

Dirigent

Core libraries for the Dirigent agent orchestration platform.

> **Under construction.** Dirigent is in active development. Most crates are experimental — APIs will change. There is nothing to install from this repository yet. The standalone tools listed below have their own repositories. --- ## Standalone Tools These tools are developed in this monorepo but distributed as independent repositories. Install them from their own repos: | Tool | Repository | Description | |------|-----------|-------------| | **fermata** | [git.g4b.org/dirigence/fermata](https://git.g4b.org/dirigence/fermata) | Policy gate for AI coding agents — `.botignore` enforcement | | **anth** | [git.g4b.org/dirigence/dirigent_anth](https://git.g4b.org/dirigence/dirigent_anth) | Tools for working with Claude Code session data | | **dirigate** | [git.g4b.org/dirigence/dirigate](https://git.g4b.org/dirigence/dirigate) | ACP bridge connecting stdio agents to Dirigent | --- ## Architecture

Dirigent package architecture

**Layers top-to-bottom:** - **Standalone Tools** — installable from their own repositories; depend on foundation crates - **Orchestration** — multi-connector runtime, ACP server, task management, archival - **Foundation** — protocol types, tool sandbox, configuration, auth - **Integrations** — Matrix, Langfuse, Zed, and other external system connectors - **Parsers** — readers for third-party session formats (OpenCode, ChatGPT, Codex) --- ## Crates | Crate | Description | |-------|-------------| | `dirigent_protocol` | ACP protocol types — messages, events, and RPC definitions | | `dirigent_core` | Multi-connector orchestration runtime | | `dirigent_tools` | Tool sandbox and execution abstractions | | `dirigent_fermata` | Policy gate for AI coding agents (`.botignore` / `botignore.toml`) | | `dirigent_auth` | User authorization model | | `dirigent_config` | Configuration management | | `dirigent_acp_api` | ACP server for incoming agent connections | | `dirigent_archivist` | Event-driven session archival | | `dirigent_process` | Child process management | | `dirigent_taskrunner` | Background task runner | | `dirigent_anth` | Claude Code JSONL session parser | | `dirigent_inspector` | Session inspection tools | | `dirigent_projects` | Project management primitives | | `dirigent_matrix` | Matrix integration for session sharing | | `dirigent_zed` | Zed editor integration | | `dirigent_langfuse` | Langfuse observability integration | | `dirigent_chatgpt` | ChatGPT `conversations.json` parser | | `dirigent_codex` | OpenAI Codex session parser | | `dirigent_testing` | Test utilities | | `opencode_client` | OpenCode.ai HTTP client | --- ## Library Usage Add a crate to your `Cargo.toml`: ```toml [dependencies] dirigent_protocol = { git = "https://git.g4b.org/dirigence/dirigent", path = "crates/dirigent_protocol" } dirigent_core = { git = "https://git.g4b.org/dirigence/dirigent", path = "crates/dirigent_core" } ``` Replace the crate name and path with the one you need. All crates follow the same pattern. > **Expect breakage.** These are internal library crates under active development. Pin to a specific commit if you depend on stability. --- ## License Licensed under either of - Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or ) - MIT License ([LICENSE-MIT](LICENSE-MIT) or ) at your option.