[package]
name = "lcp"
description = "Local HTTP proxy that caches LLM API calls and replays them at full speed"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
readme = "../../README.md"
publish = true
keywords = ["llm", "cache", "proxy", "ai", "openai"]
categories = ["command-line-utilities", "development-tools"]
[[bin]]
name = "lcp"
path = "src/main.rs"

[dependencies]
lcp-core = { workspace = true }
lcp-server = { workspace = true }
tokio = { workspace = true }
clap = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
dirs = { workspace = true }
serde = { workspace = true }
toml = { workspace = true }

[package.metadata.release]
# lcp owns the tag and CHANGELOG stamping; lcp-core and lcp-server inherit
# tag=false from the workspace release.toml, so only one tag is created.
tag = true
tag-prefix = ""
pre-release-replacements = [
  # Stamp [Unreleased] heading with the release version and date.
  {file="../../CHANGELOG.md", search="Unreleased", replace="{{version}}"},
  {file="../../CHANGELOG.md", search="ReleaseDate", replace="{{date}}"},
  # Update the comparison URL: ...HEAD → ...vX.Y.Z.
  {file="../../CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
  # Re-insert the [Unreleased] header for the next cycle.
  {file="../../CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n\n## [Unreleased] - ReleaseDate", exactly=1},
  # Re-insert the [Unreleased] comparison URL for the next cycle.
  {file="../../CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: {{repository}}/compare/{{tag_name}}...HEAD", exactly=1},
]
