dirge-agent 0.2.3

Minimalistic coding agent written in Rust, optimized for memory footprint and performance
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "dirge-agent"
version = "0.2.3"
authors = ["Yogthos <yogthos@gmail.com>"]
build = false
exclude = [
    "spikes/",
    "img/",
    "docs/",
    ".beads/",
    ".dirge/",
    ".github/",
    "blog.md",
    "publishing.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Minimalistic coding agent written in Rust, optimized for memory footprint and performance"
homepage = "https://github.com/dirge-code/dirge"
readme = "README.md"
keywords = [
    "ai",
    "cli",
    "agent",
    "llm",
    "tui",
]
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "GPL-3.0-only"
repository = "https://github.com/dirge-code/dirge"

[package.metadata.cargo-machete]
ignored = ["rig-core"]

[features]
acp = ["dep:agent-client-protocol"]
default = [
    "loop",
    "git-worktree",
    "mcp",
    "lsp",
    "acp",
    "plugin",
    "semantic-ts",
    "semantic-python",
    "semantic-bash",
    "semantic-clojure",
    "semantic-go",
    "semantic-ruby",
    "semantic-rust",
    "semantic-java",
    "semantic-c",
    "semantic-cpp",
    "semantic-elixir",
]
experimental-ui-tab-slash = []
experimental-ui-terminal-tab = []
git-worktree = []
loop = []
lsp = ["dep:lsp-types"]
mcp = [
    "dep:rmcp",
    "rmcp?/client",
    "rmcp?/transport-child-process",
    "rmcp?/transport-streamable-http-client-reqwest",
]
plugin = ["dep:janetrs"]
semantic = [
    "dep:tree-sitter",
    "dep:streaming-iterator",
]
semantic-bash = [
    "semantic",
    "dep:tree-sitter-bash",
]
semantic-c = [
    "semantic",
    "dep:tree-sitter-c",
]
semantic-clojure = [
    "semantic",
    "dep:tree-sitter-clojure",
]
semantic-cpp = [
    "semantic",
    "dep:tree-sitter-cpp",
]
semantic-elixir = [
    "semantic",
    "dep:tree-sitter-elixir",
]
semantic-go = [
    "semantic",
    "dep:tree-sitter-go",
]
semantic-java = [
    "semantic",
    "dep:tree-sitter-java",
]
semantic-python = [
    "semantic",
    "dep:tree-sitter-python",
]
semantic-ruby = [
    "semantic",
    "dep:tree-sitter-ruby",
]
semantic-rust = [
    "semantic",
    "dep:tree-sitter-rust",
]
semantic-ts = [
    "semantic",
    "dep:tree-sitter-typescript",
]
windows-default = [
    "loop",
    "git-worktree",
    "mcp",
    "lsp",
    "acp",
    "semantic-ts",
    "semantic-python",
    "semantic-bash",
    "semantic-clojure",
    "semantic-go",
    "semantic-ruby",
    "semantic-rust",
    "semantic-java",
    "semantic-c",
    "semantic-cpp",
    "semantic-elixir",
]

[[bin]]
name = "dirge"
path = "src/main.rs"

[dependencies.agent-client-protocol]
version = "0.12.0"
optional = true

[dependencies.ansi-to-tui]
version = "8"

[dependencies.anyhow]
version = "1"

[dependencies.async-stream]
version = "0.3"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.clap]
version = "4"
features = [
    "derive",
    "env",
]

[dependencies.compact_str]
version = "0.9"
features = ["serde"]

[dependencies.crossterm]
version = "0.29"

[dependencies.dirs]
version = "6"

[dependencies.futures]
version = "0.3"

[dependencies.html2text]
version = "0.17"

[dependencies.http]
version = "1"

[dependencies.ignore]
version = "0.4"

[dependencies.include_dir]
version = "0.7"

[dependencies.indexmap]
version = "2"

[dependencies.janetrs]
version = "0.8"
optional = true

[dependencies.jsonschema]
version = "0.46"

[dependencies.lsp-types]
version = "0.97"
optional = true

[dependencies.nucleo-matcher]
version = "0.3"

[dependencies.pulldown-cmark]
version = "0.13"

[dependencies.ratatui]
version = "0.30"
features = ["crossterm"]
default-features = false

[dependencies.regex]
version = "1"

[dependencies.reqwest]
version = "0.13"

[dependencies.rig]
version = "0.37"
features = ["rmcp"]
default-features = false

[dependencies.rig-core]
version = "0.37"
features = [
    "reqwest",
    "derive",
    "rustls",
]
default-features = false

[dependencies.rmcp]
version = "1.7"
features = [
    "client",
    "transport-child-process",
    "transport-streamable-http-client-reqwest",
]
optional = true
default-features = false

[dependencies.rusqlite]
version = "0.31"
features = ["bundled"]

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.smallvec]
version = "1"

[dependencies.streaming-iterator]
version = "0.1"
optional = true

[dependencies.sysinfo]
version = "0.32"
features = ["system"]
default-features = false

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "macros",
    "sync",
    "time",
    "process",
    "fs",
    "io-util",
]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[dependencies.tree-sitter]
version = "0.25"
optional = true

[dependencies.tree-sitter-bash]
version = "0.25"
optional = true

[dependencies.tree-sitter-c]
version = "0.24"
optional = true

[dependencies.tree-sitter-clojure]
version = "0.1"
optional = true

[dependencies.tree-sitter-cpp]
version = "0.23"
optional = true

[dependencies.tree-sitter-elixir]
version = "0.3.5"
optional = true

[dependencies.tree-sitter-go]
version = "0.25"
optional = true

[dependencies.tree-sitter-java]
version = "0.23"
optional = true

[dependencies.tree-sitter-python]
version = "0.25"
optional = true

[dependencies.tree-sitter-ruby]
version = "0.23"
optional = true

[dependencies.tree-sitter-rust]
version = "0.24"
optional = true

[dependencies.tree-sitter-typescript]
version = "0.23"
optional = true

[dependencies.unicode-width]
version = "0.2"

[dependencies.uuid]
version = "1"
features = [
    "v4",
    "serde",
]

[dependencies.yaml-rust2]
version = "0.11"

[dev-dependencies.tokio]
version = "1"
features = ["test-util"]

[target."cfg(unix)".dependencies.libc]
version = "0.2"

[profile.dev]
debug = 0

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
strip = true