worklyn / zukapublic
Agent-first git hosting. One Rust binary: git over HTTP and SSH, a REST API, MCP, CI, and multi-tenant isolation.
Get a copy:
git clone https://zuka.worklyn.com/worklyn/zuka.git
| 1 | [package] |
| 2 | name = "zuka" |
| 3 | version = "0.1.0" |
| 4 | edition = "2021" |
| 5 | |
| 6 | [dependencies] |
| 7 | tokio = { version = "1", features = ["full"] } |
| 8 | hyper = { version = "1", features = ["server", "http1"] } |
| 9 | hyper-util = { version = "0.1", features = ["tokio"] } |
| 10 | http-body-util = "0.1" |
| 11 | bytes = "1" |
| 12 | anyhow = "1" |
| 13 | serde = { version = "1", features = ["derive"] } |
| 14 | serde_json = "1" |
| 15 | sha2 = "0.10" |
| 16 | hex = "0.4" |
| 17 | base64 = "0.22" |
| 18 | uuid = { version = "1", features = ["v4"] } |
| 19 | # Ref-name validation is a security control, never hand-rolled (SPEC §2.5). |
| 20 | # gix-validate is the same implementation `git check-ref-format` enforces. |
| 21 | gix-validate = "0.10" |
| 22 | futures = "0.3" |
| 23 | russh = "0.62" |
| 24 | tokio-util = { version = "0.7.19", features = ["io"] } |
| 25 | getrandom = "0.3" |
| 26 | toml = "0.8" |
| 27 | ed25519-dalek = { version = "2", features = ["rand_core"] } |
| 28 | reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] } |
| 29 | pulldown-cmark = { version = "0.13.4", default-features = false, features = ["html"] } |
| 30 | |
| 31 | [target.'cfg(unix)'.dependencies] |
| 32 | libc = "0.2" |
| 33 | |
| 34 | [dev-dependencies] |
| 35 | tempfile = "3" |
| 36 | |
| 37 | [profile.release] |
| 38 | opt-level = 3 |
| 39 | lto = "thin" |