···11// Package furgit provides low-level Git operations.
22//
33+// Git libraries often center on a repository type that owns objects, refs,
44+// worktree state, and configuration behind a single facade. Furgit inverts
55+// that: objects are plain values, stored objects are separate types that
66+// associate objects with their object IDs, object storage and ref storage
77+// are sets of narrow interfaces consisting only of things that are truly
88+// reasonable for all implementations to satisfy, and every higher-level
99+// operation, such as commit traversal, reachability analysis, and
1010+// recursive peeling, is built over those interfaces.
1111+//
1212+// While the [repository] package is where most users should begin, it only
1313+// exists as one convenient composition of those pieces for the standard
1414+// on-disk repository layout. Nothing should depend on it.
1515+//
316// # Contract labels
417//
518// Many furgit APIs document concurrency, dependency ownership, value lifetime,