anvilsign in

collin/anvil

RenderedSource

anvil

A minimal git forge in Rust, built on gitoxide.

Architecture

A Cargo workspace. The keystone is anvil-git: gix is a client library with no server-side protocol, so anvil supplies its own transport-agnostic upload-pack/receive-pack (smart-HTTP and SSH share one implementation).

CrateResponsibility
anvil-coreDomain model, SQLite persistence, on-disk bare-repo storage
anvil-gitServer-side git wire protocol on gix (upstream-candidate)
anvil-webaxum HTTP server: web UI + smart-HTTP git endpoints
anvil-sshgit-over-SSH (russh)
anvil-clianvild daemon + admin CLI

Quick start

cargo run -- migrate                              # create data/ + database
cargo run -- user create alice --password secret  # create a user
cargo run -- repo create alice/hello              # create a bare repo on disk
cargo run -- serve                                # start the server

Configuration is optional; see anvil.example.toml.

License

MIT OR Apache-2.0.