symphony-cli 0.1.0

Orchestration engine for coding agents — polls issue trackers, creates workspaces, and runs AI coding sessions
[workspace]
members = [
    "crates/symphony-core",
    "crates/symphony-config",
    "crates/symphony-tracker",
    "crates/symphony-workspace",
    "crates/symphony-agent",
    "crates/symphony-orchestrator",
    "crates/symphony-observability",
]
resolver = "3"

[workspace.package]
version = "0.1.0"
edition = "2024"
license = "Apache-2.0"
rust-version = "1.85"
repository = "https://github.com/broomva/symphony"
homepage = "https://github.com/broomva/symphony"
authors = ["Carlos Escobar-Valbuena <carlosbvalbuena@gmail.com>"]

[workspace.dependencies]
# Async runtime
tokio = { version = "1", features = ["full"] }

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"

# HTTP client
reqwest = { version = "0.12", features = ["json"] }

# Templating (Liquid-compatible)
liquid = "0.26"

# Logging / tracing
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }

# CLI
clap = { version = "4", features = ["derive", "env"] }

# File watching
notify = "7"

# Error handling
thiserror = "2"
anyhow = "1"

# Time
chrono = { version = "0.4", features = ["serde"] }

# HTTP server (optional dashboard)
axum = "0.8"
tower = "0.5"
tower-http = { version = "0.6", features = ["cors"] }

# Internal crates (version required for crates.io publish)
symphony-core = { path = "crates/symphony-core", version = "0.1.0" }
symphony-config = { path = "crates/symphony-config", version = "0.1.0" }
symphony-tracker = { path = "crates/symphony-tracker", version = "0.1.0" }
symphony-workspace = { path = "crates/symphony-workspace", version = "0.1.0" }
symphony-agent = { path = "crates/symphony-agent", version = "0.1.0" }
symphony-orchestrator = { path = "crates/symphony-orchestrator", version = "0.1.0" }
symphony-observability = { path = "crates/symphony-observability", version = "0.1.0" }

# The main binary (published as symphony-cli; installs the `symphony` command)
[package]
name = "symphony-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
rust-version.workspace = true
description = "Orchestration engine for coding agents — polls issue trackers, creates workspaces, and runs AI coding sessions"
readme = "README.md"
keywords = ["orchestration", "agents", "coding", "linear", "automation"]
categories = ["development-tools", "command-line-utilities"]

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

[dev-dependencies]
tempfile = "3"
assert_cmd = "2"
predicates = "3"

[dependencies]
symphony-core.workspace = true
symphony-config.workspace = true
symphony-tracker.workspace = true
symphony-workspace.workspace = true
symphony-agent.workspace = true
symphony-orchestrator.workspace = true
symphony-observability.workspace = true
tokio.workspace = true
clap.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
anyhow.workspace = true
reqwest.workspace = true
serde_json.workspace = true
chrono.workspace = true
thiserror.workspace = true
dotenvy = "0.15"