Skip to main content
For polyglot monorepos

Desired-state delivery.
From source to environment.

Declare the outcome—built, tested, packaged, planned, or deployed. Terrabuild follows dependencies from source to environment, reuses results that already satisfy the graph, and runs the rest.

The same declaration locally and in CI Your tools stay in place Local cache included
DELIVERY GRAPHworkspace / production
Ready
Source changeDependency orderEnvironment

Declare the outcome. Let the graph determine the work.

The requested targets describe where delivery should arrive. Dependencies and target policies describe what must be true on the way there.

ONE MODEL

State the result, not the job sequence

Request a target and environment. Terrabuild expands their prerequisites, orders the work, and runs independent branches concurrently.

POLICY

Recognize what is already satisfied

Inputs and artifact policies identify reusable results. Deployments remain explicit side effects, so an old cache entry never stands in for a current action.

SCOPE

Converge only the affected graph

A shared-library change follows dependency edges into affected applications. Unrelated delivery streams remain satisfied and stay out of the run.

A monorepo is not one release train.

The Magnus Opera workspace can move studio into a pull-request preview while catalog remains in staging. Each application follows its own path through the same dependency graph.

Model deployment

Terrabuild converges delivery.
Insights records what was reached.

Terrabuild resolves the requested state now. Insights explains what ran, what reached each environment, what changed between releases, and how delivery is evolving.

Execution historyInspect every run as a dependency graph.
Environments and releasesFollow promotions, rollbacks, divergence, and release notes.
PulseRead delivery flow, feedback, activity, and behavior over time.
Managed artifactsShare encrypted cache entries and outputs across machines.
MagnusOpera / platform connected
ENVIRONMENTproduction
Healthy
studio · forwardRelease 1842

3 projects changed · 7 commits

catalog · forwardRelease 1839

1 project changed · 2 commits

BUILD HEALTH96%
MERGE → RELEASE42m

Your tools do the work. Terrabuild coordinates them.

Use the included extensions for common build and deployment tools. Add another tool with an FScript file, without changing or recompiling Terrabuild.

EXTENSIONS

Start with the included extensions.

Use commands for common toolchains. A custom FScript extension can define actions, defaults, project discovery, and batching rules for anything else.

dotnetnpmdockerterraform+ custom
Explore extensions
CONTAINERS

Pin the execution environment.

Set an image on an extension to run its actions in the same container locally and in CI. Terrabuild supports Docker and Podman.

extension terraform {
image = "hashicorp/terraform:1.8.4"
platform = "linux/arm64"
}
Containerize an extension

Map the first change to its environment.

Read the quick start