feat: workspace skeleton + phase 0 research docs

- Cargo workspace with 5 sub-crates: alkgit-core (storage),
  alkgit-transport (smart protocol), alkgit-http, alkgit-ssh, alkgitd
  (binary); sha1 pinned through the gix stack, sha256 passthrough feature
- docs/research/: vision, gitoxide alignment, alk stack fit, server-side
  protocol inventory, license/reference policy, POC plan
- AGENTS.md: conventions mirroring alkcall (no comments, thiserror, tokio,
  no secrets on wire/at rest, visible-surface=authorized-surface,
  gitoxide-only serving path, bounded resources, registry-resolved repos)

Verified: cargo build, clippy -D warnings, fmt, test, check --all-features
This commit is contained in:
glm-5.3-flash committed 2026-09-19 15:36:21 +00:00
1 parent a633dddd6b
commit a3cdef909b
20 files changed
+965

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
[package]
name = "alkgitd"
description = "The alkgit server binary: assembles storage, smart protocol, HTTP, SSH, and TLS into one self-hosted git server"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
[[bin]]
name = "alkgitd"
path = "src/main.rs"
[dependencies]
alkgit-core = { workspace = true }
alkgit-transport = { workspace = true }
alkgit-http = { workspace = true }
alkgit-ssh = { workspace = true }
alkhttp = { workspace = true }
alktls = { workspace = true }
alkvault = { workspace = true }
tokio = { workspace = true }
serde = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
thiserror = { workspace = true }
[features]
default = []
sha256 = ["alkgit-http/sha256"]
acme = ["alktls/acme"]