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.
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
Same tools everywhere
Tools come from the task's image, not from what's installed on the machine.
Incremental by default
A task runs again only when its inputs change — locally and in CI.
Shared across machines
Agents, laptops and CI runners reuse each other's results through a remote cache.
Migrate with an agent
Point your coding agent at the guide and it rewrites your CI into tasks.