https://github.com/magnusopera/terrabuild
Seamless CI/CD tool for building and deploying monorepos. Support HCL-like configuration, builds in containers, outputs caching, extensions.
https://github.com/magnusopera/terrabuild
build build-tool monorepo terrabuild
Last synced: 5 days ago
JSON representation
Seamless CI/CD tool for building and deploying monorepos. Support HCL-like configuration, builds in containers, outputs caching, extensions.
- Host: GitHub
- URL: https://github.com/magnusopera/terrabuild
- Owner: MagnusOpera
- License: other
- Created: 2023-09-08T19:35:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-22T21:07:33.000Z (about 1 month ago)
- Last Synced: 2025-12-23T10:42:47.233Z (about 1 month ago)
- Topics: build, build-tool, monorepo, terrabuild
- Language: F#
- Homepage: https://terrabuild.io
- Size: 3.37 MB
- Stars: 21
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](LICENSE.md)
[](https://www.nuget.org/packages/Terrabuild)

# What is Terrabuild ?
Terrabuild is a tool to maintain and build efficiently monorepos. Terrabuild is language agnostic: it just knows about dependencies and how to build a project:
- describe a workspace (collection of several projects) using a familiar syntax (HCL-like)
- focus on how to build a project and its dependencies: Terrabuild will optimize and run concurrent builds whenever possible
- Terrabuild ships with default extensions but you can implement your own as well
- Terrabuild uses heavy caching and several graph optimizations to make build fast both on CI and dev environment
# Benefits
- focus on project and the big picture, not the nitty-gritty details
- local build is same as CI one
- describe instead of tweak yaml
- ensure consistency and detect impacts earlier in development
- no lock-in: Terrabuild is not intrusive and can be used without modifying your projects
# Learn more
- [Documentation](https://terrabuild.io/docs/?utm_campaign=magnusopera-terrabuild-github-repo&utm_source=github.com&utm_medium=docs)
- [Quickstart](https://terrabuild.io/docs/getting-started/quick-start/?utm_campaign=magnusopera-terrabuild-github-repo&utm_source=github.com&utm_medium=quickstart)
- [Playground](https://github.com/magnusopera/terrabuild-playground)
# Open source
This repository contains the Terrabuild software, covered under the [Functional Source License, Version 1.1, Apache 2.0 Future License](LICENSE.md), except where noted.
Terrabuild is a product produced from this open source software, exclusively by [Magnus Opera SAS](https://magnusopera.io). It is distributed under our commercial terms.
Others are allowed to make their own distribution of the software, but they cannot use any of the Terrabuild trademarks, cloud services, etc.
We explicitly grant permission for you to make a build that includes our trademarks while developing the Terrabuild software itself. You may not publish or share the build, and you may not use that build to run Terrabuild software for any other purpose.
# Contributing
Visit [Contributing](CONTRIBUTING.md) for information on building Terrabuild from source or contributing improvements.