Glossary
Quick reference for Terrabuild terminology and concepts.
| Term | Definition | See Also |
|---|---|---|
| Action | A specific operation provided by an extension (e.g., build, test, publish). Actions are invoked as commands within targets. | Key Concepts, Extensions |
| Artifact | Build outputs that are cached and can be restored in subsequent builds. Specified via project.outputs or target.outputs. | Project Block, Target Block |
| Cluster | A group of targets that can be built together in a batch operation for compiler-level optimizations. | Key Concepts, Batch Builds |
| Command | The invocation of an extension action within a target. Syntax: @extension action { arguments }. | Key Concepts, Syntax |
| DAG | Directed Acyclic Graph - the data structure representing the build graph. Nodes are tasks, edges are dependencies. | Key Concepts, Graph |
| Dependency | A relationship between projects or targets. Project dependencies indicate build-time requirements; target dependencies control execution order. | Key Concepts, Project Block |
| Extension | A plugin that provides build capabilities. Identified with @ prefix (e.g., @dotnet, @npm). Can be built-in or custom. | Key Concepts, Extension Block |
| Hash | A deterministic value computed from project files, dependencies, commands, and variables. Used as cache key. | Key Concepts, Caching |
| Insights | The backend service for sharing build artifacts across machines and CI/CD pipelines. Provides remote cache capabilities. | Workspace Block, Usage |
| Node | A vertex in the build graph representing a task. Nodes are connected by dependency edges. | Key Concepts, Graph |
| Project | A buildable unit within a workspace. Each project has a PROJECT file defining its configuration, dependencies, and targets. | Key Concepts, Project |
| Target | A named build goal defined in a PROJECT or WORKSPACE file. Specifies commands to run and dependencies. Examples: build, test, dist. | Key Concepts, Target Block |
| Task | A concrete execution unit in the build graph. Represents “build target X for project Y”. Tasks become nodes in the graph. | Key Concepts, Tasks |
| Workspace | The root of your monorepo containing a WORKSPACE file. Defines global configuration for all projects. | Key Concepts, Workspace |
Common Syntax Patterns
| Pattern | Meaning | Example |
|---|---|---|
target.^build | Ancestor dependency - all dependency projects’ build target | depends_on = [ target.^build ] |
target.build | Current project dependency - current project’s build target | depends_on = [ target.build ] |
~auto | Rebuild mode: rebuild when changes detected (default) | rebuild = ~auto |
~always | Rebuild mode: always rebuild, ignore cache | rebuild = ~always |
~cascade | Rebuild mode: rebuild with parent within cluster | rebuild = ~cascade |
~none | Artifact cacheability: do not cache | artifacts = ~none |
~workspace | Artifact cacheability: cache in workspace | artifacts = ~workspace |
~managed | Artifact cacheability: cache in Insights | artifacts = ~managed |
@extension | Extension identifier (must start with @) | @dotnet, @npm, @docker |
Related Documentation
- Key Concepts - Detailed explanations of core concepts
- Graph - Build graph structure
- Caching - How caching works
- Syntax - Configuration file syntax reference
- Quick Start - Hands-on tutorial
Last updated on