hammerkit

Introduction

One build definition that runs the same way on your laptop, in CI and in a coding agent's sandbox.

Hammerkit runs your build steps as tasks declared in a .hammerkit.yaml file. Each task runs in the container image it names, declares what it reads and what it produces, and is skipped when nothing it reads has changed.

.hammerkit.yaml
tasks:
  install:
    image: node:24-alpine
    src: [package.json, package-lock.json]
    generates: [node_modules]
    cmds: [npm ci]

  build:
    image: node:24-alpine
    deps: [install]
    src: [src, tsconfig.json]
    generates: [dist]
    cmds: [npm run build]

hammerkit run build on your laptop is the same build CI runs. Its results can be shared through a cache, so work done once — anywhere — isn't repeated anywhere else.

Why hammerkit

On this page