Contribute an extension

Get your extension into Haybarn.

It already builds against the Haybarn engine unchanged. Submit upstream and Haybarn rebuilds it automatically — or submit to Haybarn's mirror directly. Same descriptor either way.

Two ways in

Submit upstream, or to Haybarn directly

Path A · default

Submit upstream

Open a PR on duckdb/community-extensions. Once merged, Haybarn's mirror rebuilds it automatically — one review, both engines.

Path B · Haybarn-only

Submit to Haybarn

Open a PR on haybarn-community-extensions with the same file. Ships on the next build, no upstream wait — for Haybarn-specific variants or extensions upstream hasn't taken.

The descriptor — identical in either repo

extensions/my_extension/description.yml
extension:
  name: my_extension
  description: One-line summary
  version: 0.1.0
  language: C++
  build: cmake
  license: MIT
  maintainers:
    - your-gh-handle

repo:
  github: owner/repo
  ref: <commit-sha>

Optional fields (excluded_platforms, vcpkg_url, …) match upstream's schema.

What Haybarn does

Rebuilt, signed, shipped

1

Rebuild

Builds against the Haybarn engine on a 12-platform matrix — Linux (glibc + musl, amd64 + arm64), macOS, Windows, Wasm — pinned to your commit.

2

Sign

Each binary is signed with the Haybarn key. Same mechanism as DuckDB, different key.

3

Ship

Published to the Haybarn community channel alongside each engine release.

Edge case

Needs a patch? Point Haybarn at a fork

The Haybarn engine carries a small patch stack. For the rare extension that needs a tweak to build against it, add two optional fields — the upstream descriptor stays untouched. Most extensions never need this.

extensions/my_extension/description.yml
# Only if upstream code needs a patch to build
# against the Haybarn engine.
repo:
  github: owner/repo
  ref:    <commit-sha>
  haybarn_fork: Query-farm-haybarn/your-fork
  haybarn_ref:  <commit-sha>

See what's already built

Live build status for every community extension on the current engine.

Build status →

The mirror repo

CI workflows, descriptor schema, and the override fields, documented in the README.

View on GitHub →

Expert help

Stuck getting an extension to build?

We help maintainers across the line — vcpkg conflicts, platform build failures, signing, and the long tail of CI quirks.