buildcharts is a tool for defining build intent in build.yml and turning that metadata into a Docker Buildx Bake plan. You keep build definitions in your repo, pull reusable chart templates from an OCI registry, and run the same generated plan locally or in CI.
It sits between handwritten pipeline YAML and raw Dockerfiles. You declare what should happen, BuildCharts resolves the chart-backed implementation, and Docker Buildx Bake executes the generated plan.
BuildCharts is designed for teams that want to standardize builds across many repositories without locking themselves into one CI provider. The model is simple:
- intent stays in repository metadata
- implementation lives in versioned OCI charts
- execution runs through Docker Buildx Bake
What problem it solves
BuildCharts exists to reduce common CI/CD problems such as:- duplicated or nested pipeline YAML across many repositories
- platform-specific pipeline logic that is hard to move between providers
- fragile template rollouts where repositories drift onto different versions
- poor local debuggability, where troubleshooting requires repeated CI runs
What you define
What BuildCharts generates
.buildcharts/docker-bake.hclfrom your metadata and chart dependencies
Workflow
- Create or scaffold
build.ymlandcharts/buildcharts/Chart.yaml. - Run
buildcharts updateif you want a freshChart.lock. - Run
buildcharts generate. - Run
docker buildx bake --file .buildcharts/docker-bake.hcl.
Why use it
- Keep CI logic in versioned OCI charts instead of copying pipeline YAML across repos.
- Run the same generated build plan locally and in CI.
- Keep repository config lightweight by separating intent in
build.ymlfrom implementation in charts. - Stay provider-agnostic by generating Docker-native build plans instead of provider-specific steps.
- Adopt chart updates gradually with versioned dependencies and optional lock files.
- Describe intent with aliases such as
build,test,nuget, anddocker. - Extend generation with built-in plugins.
Get started
Install
Get up and running
Building charts
How to build your own charts
CLI
Explore commands and usages
Plugins
Extend builds using custom plugins
