[workspace]
members = ["substrate"]
exclude = ["fuzz"]
resolver = "2"
[package]
name = "alkgit"
version = "0.1.0"
edition = "2021"
rust-version = "1.88"
license = "MIT OR Apache-2.0"
repository = "https://git.alk.dev/alkdev/alkgit"
description = "Git smart protocol for the alk family: pkt-line substrates, protocol V2 serving (upload-pack/receive-pack), producer/consumer halves on alkcall channels, and the backend seam traits — the shipped alkstore+alkblobs composition is the alkgit-substrate crate (ADR-010/025)"
keywords = ["git", "protocol", "alkcall", "vcs", "network"]
categories = ["network-programming", "asynchronous"]
exclude = [".opencode/", "AGENTS.md", "docs/reviews/", "docs/research/", "docs/plans/", "docs/sdd_process.md", "tasks/", "fuzz/"]
[lib]
name = "alkgit"
path = "src/lib.rs"
[features]
default = []
sha256 = ["gix-hash/sha256"]
[dependencies]
alkcall = "0.10"
async-trait = "0.1"
gix-hash = { version = "0.28", features = ["sha1"] }
gix-packetline = { version = "0.24", features = ["async-io"] }
gix-protocol = { version = "0.67", features = ["async-client"] }
gix-transport = { version = "0.61", features = ["async-client"] }
gix-validate = "0.13"
bstr = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", default-features = false, features = ["rt", "sync", "io-util", "macros", "time"] }
tokio-util = { version = "0.7", features = ["compat"] }
futures = "0.3"
bytes = "1"
thiserror = "2"
parking_lot = "0.12"
[dev-dependencies]
serde_json = "1"
tokio = { version = "1", features = ["full", "test-util", "macros"] }
gix-object = { version = "0.66", features = ["sha1"] }
gix-actor = "0.44"
gix-traverse = { version = "0.63", features = ["sha1"] }
gix-pack = { version = "0.76", default-features = false, features = ["generate", "parallel", "sha1", "streaming-input"] }
gix-error = "0.5"
gix-parallel = { version = "0.50", default-features = false, features = ["parallel"] }
gix-utils = { version = "0.5", features = ["progress"] }
gix-zlib = { version = "0.3" }
[profile.release]
lto = "thin"