Skip to content

Git reference

Source: src/Git/BlobStore.ts Kind: Layer · Provides: Git.BlobStore

R2-backed BlobStore: packs, bundles, oversize objects, and push spill live in the given bucket. Registers the bucket binding on the host Worker.

Source: src/Git/BlobStoreS3.ts Kind: Layer · Provides: Git.BlobStore

S3-backed BlobStore using the given bucket. Accepts an AWS.S3.Bucket resource or its declaration Effect, like BlobStoreR2. See the module doc for identity and latency semantics.

Source: src/Git/Engine.ts Kind: Layer · Provides: Git.Engine

Provides the Git engine using the application’s repository, registry, blob, and hasher layers.

Source: src/Git/RegistryObject.ts Kind: Layer · Provides: Git.RegistryStore

RegistryStore backed by the singleton Registry Durable Object — the default. Registers the DO implementation and resolves the store to its stub, so callers never name the instance.

Source: src/Git/RepoObject.ts

Git.RepoStore — the repository block as a service: every route reaches a repository through it. ReposDurableObject provides it over the GitRepo Durable Object namespace. It is the seam for decorating repositories (hook commitPush, updateRef, mergePull to observe ref moves) or for implementing GitRepoShape over another store.

Source: src/Git/Server.ts Kind: Layer

Git’s public routes as an ordinary HttpRouter layer. Merge this with your application’s routes and provide your route middleware to the result. The application owns its API, HTTP server, platform, and CORS policy.

const Routes = Layer.mergeAll(AppApiLive, Git.ApiLive).pipe(
Layer.provide(Authentication.layer),
);