Skip to content
Forge
Rendering frames…
Animated background for Forge

Forge

Builds that finish before you switch tabs

Content-addressed caching, so the second build of anything is a lookup. The cache is shared, which means your build is usually somebody else's lookup.

How

Nothing runs twice

Every task is keyed on its inputs. Change one file and exactly the work that depends on it re-runs, which is a smaller set than your current build system assumes.

On CI

The same cache your laptop used

CI does not start cold. It reads the artefacts your machine already produced, so a pull request that changes a README does not rebuild the world to prove it.

When it is wrong

Explain, not just run

Ask why a task re-ran and Forge prints the input that changed and the hash on either side. Cache misses stop being a mystery you work around with a clean build.

Adoption

One file, then delete it if you hate it

Forge reads your existing scripts. There is no migration and no lock-in to unwind, and removing the file leaves you exactly where you started.

What it is not

It will not fix a slow test suite

Forge skips work it has already done. It cannot make work it has not done any faster, and a test that takes four minutes will still take four minutes the first time.

Try it on your slowest repo

The docs start with the honest version: what to add, what it will and will not cache, and how to tell whether it helped.

Read the docs