A Go and SQLite service for Caddy contributor agreements. Supports GitHub sign-in, live per-repository agreements, PR status checks, signer history and web imports. Supports root or subpath hosting.
Requires Go 1.26 or newer.
cp config.example.json config.json
go run ./cmd/caddy-cla -config config.jsonThe example uses base_url: "http://localhost:8080" and base_path: "/cla".
Set base_path to "/" to serve at the origin root.
Open http://localhost:8080/cla/. Viewing the agreement works without credentials; signing and PR updates require GitHub setup.
go test -race ./...
go vet ./...
go build -o bin/caddy-cla ./cmd/caddy-clacmd/caddy-cla/— command entry pointinternal/app/— HTTP handlers, GitHub integration and background workersinternal/config/— configuration loading and validationinternal/storage/— SQLite schema, signatures and importsdata/— local databases (ignored by Git)