New to imp? Start with Installing Imp, then follow Getting started to scaffold a workspace and declare your first target. For advanced workflows, see toolchains and caches, CI, and troubleshooting. Rule authors can jump to the User API reference or the JS code reference.
// BUILD.js
import { odinPackage } from "//rules/odin";
export const hello = odinPackage({
srcs: ["*.odin"],
toolchain: "dev-2026-03",
});
$ imp build //:hello
toolchain dev-2026-03 (cached)
odin build //:hello
build succeeded bin/hello
Hermetic by default
No ambient PATH, no "works on my machine". Toolchains are downloaded, pinned, and sandboxed.
Content-addressed caching
Every build step is cached by the content it actually depends on — not timestamps, not guesswork.
Plain JavaScript
Build graphs are declared in BUILD.js, evaluated inside an embedded runtime — no separate config language to learn.