buildpacks-io logo

buildpacks-io

Cloud Native Buildpacks (CNB) is a CNCF Incubating project that transforms application source code into OCI images that can run on any cloud. The v3 specification — Buildpack API 0.12, Platform API 0.15, and Distribution API 0.3 — defines a modular, vendor-neutral contract between buildpacks, builders, lifecycles, and platforms. CNB consolidates a decade of production experience from Heroku and Pivotal/Cloud Foundry and provides the reference lifecycle (buildpacksio/lifecycle), the `pack` CLI, language bindings (libcnb in Go/Rust/.NET), the Kubernetes-native `kpack` platform, the public community registry at registry.buildpacks.io, and an open RFC-driven governance model.

7 APIs 20 Features

APIs

Buildpack Specification

The Buildpack API (currently 0.12) defines the contract between an individual buildpack and the lifecycle. It specifies the on-disk layout of a buildpack (buildpack.toml, bin/de...

Platform Specification

The Platform API (currently 0.15) defines how platforms (pack, kpack, Tekton Pipelines, GitLab Auto DevOps, CircleCI Orb, Project Piper) orchestrate the lifecycle. Specifies the...

Distribution Specification

The Distribution API (currently 0.3) defines how buildpacks, extensions, and builders are packaged as OCI artifacts and published to OCI registries. Covers labels (io.buildpacks...

Image Extension Specification

Image extensions emit Dockerfile snippets applied by the `extender` lifecycle binary to the build and/or run image. Share the buildpack surface (extension.toml, bin/detect, bin/...

Project Descriptor (project.toml)

The Project Descriptor extension defines project.toml — the optional app-root file letting developers declare their builder image, include/exclude globs, buildpack overrides (pr...

Buildpack Registry Extension

The Buildpack Registry extension specifies the community discovery surface — namespaced buildpack identifiers (e.g. paketo-buildpacks/nodejs), the registry-index GitHub reposito...

Service Bindings Extension

The Service Bindings extension specifies how external service credentials and configuration are surfaced to detect and build under $CNB_PLATFORM_DIR/bindings/. Aligns with the S...

Features

Buildpack API 0.12 — modular detect/build contract producing OCI layers without Dockerfiles
Platform API 0.15 — lifecycle orchestration surface (analyze, detect, restore, extend, build, export, rebase, launch)
Distribution API 0.3 — OCI-packaged buildpacks, extensions, and builders
Image extensions — Dockerfile snippets applied by the `extender` for base-image customization
Project Descriptor (project.toml) — declarative app-side build configuration
Build plan with provides/requires reconciliation across composite (meta) buildpacks
Per-layer caching with launch/build/cache types in `.toml`
Rebase — swap run image base layers in seconds without rebuilding app layers
Targets (os/arch/distros) replacing the legacy stacks model since Buildpack API 0.12
Per-layer SBOM emission in CycloneDX, SPDX, and Syft formats; aggregated into io.buildpacks.build.metadata
Standard OCI image labels (io.buildpacks.lifecycle.metadata, io.buildpacks.build.metadata, io.buildpacks.project.metadata, io.buildpacks.rebasable)
Reference lifecycle distributed as buildpacksio/lifecycle Docker image
Reference CLI `pack` (v0.40.6, May 2026) implementing the Platform Interface Specification
Public community registry at registry.buildpacks.io with `pack buildpack register/pull/yank`
Language bindings via libcnb (Go), libcnb-rs (Rust), and libcnb.net (.NET)
Kubernetes-native platform via kpack with Image/Builder/Stack CRDs
CI integrations — GitHub Actions, CircleCI Orb, GitLab Auto DevOps, Tekton, Project Piper
Multi-arch builders (linux/amd64, linux/arm64, windows) selected via target reconciliation
Service Bindings extension aligned with the Service Binding Specification for Kubernetes
Vendor-neutral CNCF Incubating project (incubation since 2018-10) with public RFC process

Semantic Vocabularies

Buildpacks Io Context

21 classes · 10 properties

JSON-LD

API Governance Rules

buildpacks-io API Rules

8 rules · 3 errors 4 warnings 1 info

SPECTRAL

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Community
Community
📄
ReleaseNotes
ReleaseNotes
📰
Blog
Blog
🔗
VideoChannel
VideoChannel
🔗
SocialMedia
SocialMedia
👥
GitHubOrganization
GitHubOrganization
👥
GitHubOrganization
GitHubOrganization
🔗
Repository
Repository
🔗
Repository
Repository
🔗
Repository
Repository
🔗
Governance
Governance
🔗
Roadmap
Roadmap
🔗
Documentation
Documentation
🔗
CaseStudies
CaseStudies
🔧
Tool
Tool
🔧
Tool
Tool
🔗
ContainerImage
ContainerImage
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
💻
CodeExamples
CodeExamples
🔧
Tool
Tool
🔧
Tool
Tool
🔧
Tool
Tool
🔗
Repository
Repository
🔗
Repository
Repository
🌐
Portal
Portal
🔗
Analytics
Analytics
🔗
Documentation
Documentation
🔗
MailingList
MailingList
🔗
Forum
Forum
🔗
Forum
Forum
🔗
Forum
Forum
🔗
Vocabulary
Vocabulary
🔗
SpectralRules
SpectralRules
🔗
JSONLD
JSONLD

Sources

Raw ↑
aid: buildpacks-io
url: https://raw.githubusercontent.com/api-evangelist/buildpacks-io/refs/heads/main/apis.yml
apis:
  - aid: buildpacks-io:buildpack-spec
    name: Buildpack Specification
    tags:
      - Cloud Native Buildpacks
      - Buildpack API
      - Specification
      - CNCF
    humanURL: https://github.com/buildpacks/spec/blob/main/buildpack.md
    properties:
      - url: https://github.com/buildpacks/spec/blob/main/buildpack.md
        type: Documentation
      - url: https://github.com/buildpacks/spec
        type: Repository
      - url: json-schema/buildpacks-buildpack-toml-schema.json
        type: JSONSchema
      - url: json-schema/buildpacks-build-plan-schema.json
        type: JSONSchema
      - url: json-schema/buildpacks-launch-toml-schema.json
        type: JSONSchema
      - url: json-structure/buildpacks-io-structure.json
        type: JSONStructure
      - url: json-ld/buildpacks-io-context.jsonld
        type: JSONLD
    description: >-
      The Buildpack API (currently 0.12) defines the contract between an individual buildpack and the lifecycle. It
      specifies the on-disk layout of a buildpack (buildpack.toml, bin/detect, bin/build), the build plan
      provides/requires graph, layer types (launch/build/cache), launch.toml and build.toml outputs, target declarations
      (os/arch/distros), SBOM emission, and the CNB_* environment variable contract.
  - aid: buildpacks-io:platform-spec
    name: Platform Specification
    tags:
      - Cloud Native Buildpacks
      - Platform API
      - Specification
      - CNCF
    humanURL: https://github.com/buildpacks/spec/blob/main/platform.md
    properties:
      - url: https://github.com/buildpacks/spec/blob/main/platform.md
        type: Documentation
      - url: https://github.com/buildpacks/spec
        type: Repository
      - url: json-structure/buildpacks-io-structure.json
        type: JSONStructure
    description: >-
      The Platform API (currently 0.15) defines how platforms (pack, kpack, Tekton Pipelines, GitLab Auto DevOps,
      CircleCI Orb, Project Piper) orchestrate the lifecycle. Specifies the lifecycle binary surface (analyzer,
      detector, restorer, extender, builder, exporter, creator, rebaser, launcher), the TOML files exchanged on disk
      (group.toml, plan.toml, order.toml, run.toml, metadata.toml, report.toml, analyzed.toml, project-metadata.toml),
      the standard io.buildpacks.* OCI image labels, and runtime process selection.
  - aid: buildpacks-io:distribution-spec
    name: Distribution Specification
    tags:
      - Cloud Native Buildpacks
      - Distribution
      - OCI
      - CNCF
    humanURL: https://github.com/buildpacks/spec/blob/main/distribution.md
    properties:
      - url: https://github.com/buildpacks/spec/blob/main/distribution.md
        type: Documentation
      - url: https://github.com/buildpacks/spec
        type: Repository
    description: >-
      The Distribution API (currently 0.3) defines how buildpacks, extensions, and builders are packaged as OCI
      artifacts and published to OCI registries. Covers labels (io.buildpacks.buildpack.api,
      io.buildpacks.buildpack.layers), multi-buildpack OCI artifacts, and image extension distribution.
  - aid: buildpacks-io:image-extension-spec
    name: Image Extension Specification
    tags:
      - Cloud Native Buildpacks
      - Image Extension
      - Dockerfile
      - Specification
    humanURL: https://github.com/buildpacks/spec/blob/main/image_extension.md
    properties:
      - url: https://github.com/buildpacks/spec/blob/main/image_extension.md
        type: Documentation
      - url: https://github.com/buildpacks/spec
        type: Repository
    description: >-
      Image extensions emit Dockerfile snippets applied by the `extender` lifecycle binary to the build and/or run
      image. Share the buildpack surface (extension.toml, bin/detect, bin/generate) but produce Dockerfile output
      instead of layers — enabling base-image customization (apt packages, native libs) inside a buildpacks workflow.
  - aid: buildpacks-io:project-descriptor-spec
    name: Project Descriptor (project.toml)
    tags:
      - Cloud Native Buildpacks
      - Project Descriptor
      - App Surface
    humanURL: https://github.com/buildpacks/spec/blob/main/extensions/project-descriptor.md
    properties:
      - url: https://github.com/buildpacks/spec/blob/main/extensions/project-descriptor.md
        type: Documentation
      - url: json-schema/buildpacks-project-toml-schema.json
        type: JSONSchema
    description: >-
      The Project Descriptor extension defines project.toml — the optional app-root file letting developers declare
      their builder image, include/exclude globs, buildpack overrides (pre/group/post), and build-time env vars. Read by
      `pack build` and other platforms before invoking the lifecycle.
  - aid: buildpacks-io:buildpack-registry-spec
    name: Buildpack Registry Extension
    tags:
      - Cloud Native Buildpacks
      - Registry
      - Discovery
    humanURL: https://github.com/buildpacks/spec/blob/main/extensions/buildpack-registry.md
    properties:
      - url: https://github.com/buildpacks/spec/blob/main/extensions/buildpack-registry.md
        type: Documentation
      - url: https://registry.buildpacks.io
        type: Portal
      - url: https://github.com/buildpacks/registry-index
        type: Repository
      - url: https://github.com/buildpacks/registry-api
        type: Repository
      - url: openapi/buildpacks-registry-api-openapi.yml
        type: OpenAPI
      - url: examples/buildpacks-registry-search-example.json
        type: Example
      - url: examples/buildpacks-registry-version-example.json
        type: Example
    description: >-
      The Buildpack Registry extension specifies the community discovery surface — namespaced buildpack identifiers
      (e.g. paketo-buildpacks/nodejs), the registry-index GitHub repository as the source of truth, and the HTTP API
      exposed at registry.buildpacks.io/api/v1 (search and per-buildpack version lookup). Backed by the `pack buildpack
      register/yank/pull` commands.
  - aid: buildpacks-io:service-bindings-spec
    name: Service Bindings Extension
    tags:
      - Cloud Native Buildpacks
      - Service Bindings
      - Kubernetes
    humanURL: https://github.com/buildpacks/spec/blob/main/extensions/bindings.md
    properties:
      - url: https://github.com/buildpacks/spec/blob/main/extensions/bindings.md
        type: Documentation
    description: >-
      The Service Bindings extension specifies how external service credentials and configuration are surfaced to detect
      and build under $CNB_PLATFORM_DIR/bindings/. Aligns with the Service Binding Specification for Kubernetes and lets
      buildpacks discover databases, message brokers, and CA bundles without provider coupling.
common:
  - url: https://buildpacks.io
    type: Portal
  - url: https://buildpacks.io/docs/
    type: Documentation
  - url: https://buildpacks.io/docs/concepts/
    name: Concepts
    type: Documentation
  - url: https://buildpacks.io/docs/for-app-developers/
    name: For App Developers
    type: Documentation
  - url: https://buildpacks.io/docs/for-buildpack-authors/
    name: For Buildpack Authors
    type: Documentation
  - url: https://buildpacks.io/docs/for-platform-operators/
    name: For Platform Operators
    type: Documentation
  - url: https://buildpacks.io/docs/reference/
    name: Reference
    type: Documentation
  - url: https://buildpacks.io/docs/app-journey
    name: An App's Brief Journey from Source to Image
    type: GettingStarted
  - url: https://buildpacks.io/community/
    type: Community
  - url: https://buildpacks.io/releases/
    name: Releases
    type: ReleaseNotes
  - url: https://medium.com/buildpacks
    name: Buildpacks on Medium
    type: Blog
  - url: https://www.youtube.com/@buildpacks
    type: VideoChannel
  - url: https://twitter.com/buildpacks_io
    type: SocialMedia
  - url: https://github.com/buildpacks
    name: Cloud Native Buildpacks GitHub
    type: GitHubOrganization
  - url: https://github.com/buildpacks-community
    name: CNB Community GitHub
    type: GitHubOrganization
  - url: https://github.com/buildpacks/spec
    name: Buildpacks Specification
    type: Repository
  - url: https://github.com/buildpacks/rfcs
    name: Buildpacks RFCs
    type: Repository
  - url: https://github.com/buildpacks/community
    name: Community Repository
    type: Repository
  - url: https://github.com/buildpacks/community/blob/main/GOVERNANCE.md
    type: Governance
  - url: https://github.com/buildpacks/community/blob/main/ROADMAP.md
    type: Roadmap
  - url: https://github.com/buildpacks/community/blob/main/TEAMS.md
    name: Teams
    type: Documentation
  - url: https://github.com/buildpacks/community/blob/main/ADOPTERS.md
    name: Adopters
    type: CaseStudies
  - url: https://github.com/buildpacks/pack
    name: pack CLI
    type: Tool
  - url: https://github.com/buildpacks/lifecycle
    name: lifecycle
    type: Tool
  - url: https://hub.docker.com/r/buildpacksio/lifecycle
    name: buildpacksio/lifecycle Docker image
    type: ContainerImage
  - url: https://github.com/buildpacks/libcnb
    name: libcnb (Go)
    type: SDK
  - url: https://github.com/buildpacks/libcnb-rs
    name: libcnb (Rust)
    type: SDK
  - url: https://github.com/buildpacks-community/libcnb.net
    name: libcnb (.NET)
    type: SDK
  - url: https://github.com/buildpacks/samples
    name: Samples
    type: CodeExamples
  - url: https://github.com/buildpacks/github-actions
    name: GitHub Actions for Buildpacks
    type: Tool
  - url: https://github.com/buildpacks/pack-orb
    name: pack CircleCI Orb
    type: Tool
  - url: https://github.com/buildpacks-community/kpack
    name: kpack (Kubernetes)
    type: Tool
  - url: https://github.com/buildpacks/registry-index
    name: Registry Index
    type: Repository
  - url: https://github.com/buildpacks/registry-api
    name: Registry API
    type: Repository
  - url: https://registry.buildpacks.io
    name: Buildpack Registry
    type: Portal
  - url: https://buildpacks.devstats.cncf.io/
    name: CNCF DevStats
    type: Analytics
  - url: https://www.cncf.io/projects/buildpacks/
    name: CNCF Incubating Project Page
    type: Documentation
  - url: https://lists.cncf.io/g/cncf-buildpacks
    type: MailingList
  - url: https://slack.cncf.io
    name: CNCF Slack (#buildpacks)
    type: Forum
  - url: https://github.com/buildpacks/community/discussions
    type: Forum
  - url: https://stackoverflow.com/questions/tagged/buildpack
    name: Stack Overflow — buildpack tag
    type: Forum
  - type: Features
    data:
      - Buildpack API 0.12 — modular detect/build contract producing OCI layers without Dockerfiles
      - >-
        Platform API 0.15 — lifecycle orchestration surface (analyze, detect, restore, extend, build, export, rebase,
        launch)
      - Distribution API 0.3 — OCI-packaged buildpacks, extensions, and builders
      - Image extensions — Dockerfile snippets applied by the `extender` for base-image customization
      - Project Descriptor (project.toml) — declarative app-side build configuration
      - Build plan with provides/requires reconciliation across composite (meta) buildpacks
      - Per-layer caching with launch/build/cache types in `<layer>.toml`
      - Rebase — swap run image base layers in seconds without rebuilding app layers
      - Targets (os/arch/distros) replacing the legacy stacks model since Buildpack API 0.12
      - Per-layer SBOM emission in CycloneDX, SPDX, and Syft formats; aggregated into io.buildpacks.build.metadata
      - >-
        Standard OCI image labels (io.buildpacks.lifecycle.metadata, io.buildpacks.build.metadata,
        io.buildpacks.project.metadata, io.buildpacks.rebasable)
      - Reference lifecycle distributed as buildpacksio/lifecycle Docker image
      - Reference CLI `pack` (v0.40.6, May 2026) implementing the Platform Interface Specification
      - Public community registry at registry.buildpacks.io with `pack buildpack register/pull/yank`
      - Language bindings via libcnb (Go), libcnb-rs (Rust), and libcnb.net (.NET)
      - Kubernetes-native platform via kpack with Image/Builder/Stack CRDs
      - CI integrations — GitHub Actions, CircleCI Orb, GitLab Auto DevOps, Tekton, Project Piper
      - Multi-arch builders (linux/amd64, linux/arm64, windows) selected via target reconciliation
      - Service Bindings extension aligned with the Service Binding Specification for Kubernetes
      - Vendor-neutral CNCF Incubating project (incubation since 2018-10) with public RFC process
    sources:
      - https://buildpacks.io/
      - https://buildpacks.io/docs/
      - https://github.com/buildpacks/spec
      - https://github.com/buildpacks/rfcs
      - https://github.com/buildpacks/community
      - https://www.cncf.io/projects/buildpacks/
    updated: '2026-05-25'
  - url: vocabulary/buildpacks-io-vocabulary.yml
    type: Vocabulary
  - url: rules/buildpacks-io-rules.yml
    type: SpectralRules
  - url: json-ld/buildpacks-io-context.jsonld
    type: JSONLD
created: '2026-05-25'
modified: '2026-05-25'
position: Producing
description: >-
  Cloud Native Buildpacks (CNB) is a CNCF Incubating project that transforms application source code into OCI images
  that can run on any cloud. The v3 specification — Buildpack API 0.12, Platform API 0.15, and Distribution API 0.3 —
  defines a modular, vendor-neutral contract between buildpacks, builders, lifecycles, and platforms. CNB consolidates a
  decade of production experience from Heroku and Pivotal/Cloud Foundry and provides the reference lifecycle
  (buildpacksio/lifecycle), the `pack` CLI, language bindings (libcnb in Go/Rust/.NET), the Kubernetes-native `kpack`
  platform, the public community registry at registry.buildpacks.io, and an open RFC-driven governance model.
maintainers:
  - FN: Kin Lane
    email: info@apievangelist.com
    X: apievangelist
    url: https://apievangelist.com
specificationVersion: '0.16'