[package]
edition = "2024"
rust-version = "1.99"
name = "cpm-planner"
version = "0.2.2"
authors = ["Matthew Cochran <matthew@cochranweb.com>"]
build = "build.rs"
exclude = [
"/.agents/",
"/.claude/",
"/.cpm-planner/",
"/.delivery/",
"/.superpowers/",
"/.github/",
"/docs/superpowers/",
"/scripts/",
"/npm/",
"/tests/repo_hygiene.rs",
"/Dockerfile",
"/.dockerignore",
"/.editorconfig",
"/.gitattributes",
"/.gitignore",
"/.ignore",
"/delivery.config.json",
"/deny.toml",
"/rust-toolchain.toml",
"/server.json",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Critical Path Method planner as an MCP server: schedules task graphs (slack, critical path, resource levelling, Monte Carlo), leases lock-aware parallel cohorts to agents, versions plan-as-code variants, and tracks earned value."
homepage = "https://github.com/praxec/cpm-planner"
documentation = "https://docs.rs/cpm-planner"
readme = "README.md"
keywords = [
"mcp",
"critical-path",
"scheduling",
"earned-value",
"agents",
]
categories = [
"development-tools",
"command-line-utilities",
]
license = "Apache-2.0"
repository = "https://github.com/praxec/cpm-planner"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[lib]
name = "cpm_planner"
path = "src/lib.rs"
[[bin]]
name = "cpm-planner"
path = "src/bin/server.rs"
[[example]]
name = "jev_openrouter_smoke"
path = "examples/jev_openrouter_smoke.rs"
[[example]]
name = "plan_basic"
path = "examples/plan_basic.rs"
[[test]]
name = "algorithm"
path = "tests/algorithm.rs"
[[test]]
name = "compare"
path = "tests/compare.rs"
[[test]]
name = "earned_value_tools"
path = "tests/earned_value_tools.rs"
[[test]]
name = "edits"
path = "tests/edits.rs"
[[test]]
name = "lint"
path = "tests/lint.rs"
[[test]]
name = "llm"
path = "tests/llm.rs"
[[test]]
name = "locks"
path = "tests/locks.rs"
[[test]]
name = "metrics"
path = "tests/metrics.rs"
[[test]]
name = "monte_carlo"
path = "tests/monte_carlo.rs"
[[test]]
name = "persistence"
path = "tests/persistence.rs"
[[test]]
name = "planner"
path = "tests/planner.rs"
[[test]]
name = "portfolio"
path = "tests/portfolio.rs"
[[test]]
name = "project"
path = "tests/project.rs"
[[test]]
name = "resource_schedule"
path = "tests/resource_schedule.rs"
[[test]]
name = "review"
path = "tests/review.rs"
[[test]]
name = "server_integration"
path = "tests/server_integration.rs"
[[test]]
name = "server_review"
path = "tests/server_review.rs"
[[test]]
name = "simulate"
path = "tests/simulate.rs"
[[test]]
name = "skill_docs"
path = "tests/skill_docs.rs"
[[test]]
name = "skills_install"
path = "tests/skills_install.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.cap-fs-ext]
version = "4.0.3"
[dependencies.cap-std]
version = "4.0.3"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.execution-policy]
version = "0.0.6"
[dependencies.rand]
version = "0.10.3"
default-features = false
[dependencies.rand_chacha]
version = "0.10.0"
default-features = false
[dependencies.rand_distr]
version = "0.6.0"
features = ["std"]
default-features = false
[dependencies.rig-core]
version = "0.44"
features = [
"reqwest",
"rustls",
]
default-features = false
[dependencies.rig-reqwest]
version = "0.44"
features = ["rustls"]
default-features = false
[dependencies.rig-typesafeai]
version = "0.44"
features = [
"reqwest",
"rustls",
]
default-features = false
[dependencies.rmcp]
version = "3.5"
features = [
"server",
"macros",
"transport-io",
]
default-features = false
[dependencies.rusqlite]
version = "0.40.1"
features = ["bundled"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.11"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dev-dependencies.serde_yaml_ng]
version = "0.10.0"
[dev-dependencies.tempfile]
version = "3.27.0"
[dev-dependencies.toml]
version = "1.1"
[dev-dependencies.wiremock]
version = "0.6.5"
[target."cfg(unix)".dependencies.libc]
version = "0.2.190"