Stacksmith is a YAML/JSON-driven orchestration layer for OpenTofu and Terragrunt. It lets application teams describe infrastructure as reusable components while platform teams centrally manage modules, providers, state, policy, and CI behavior.
Warning
Stacksmith is an early proof of concept. Interfaces and repository history may change without notice, and CI workflows—especially destructive paths—need further production validation. Use it at your own risk.
- Maps small stack definitions to platform-approved OpenTofu modules.
- Resolves layered configuration, variables, templates, and remote resources.
- Runs validation and transformation policies before infrastructure changes.
- Orchestrates dependency-aware stacks across monorepos.
- Provides guarded GitHub Actions and Jenkins workflows.
- Supports native operations alongside infrastructure lifecycle commands.
Set up the development environment and inspect the CLI.
uv sync --group dev
uv run stacksmith --helpA typical workflow validates, previews, and applies a stack against a platform-managed configuration.
uv run stacksmith validate --stack stack.yaml --config stacksmith-config.yaml
uv run stacksmith plan --stack stack.yaml --config stacksmith-config.yaml
uv run stacksmith apply --stack stack.yaml --config stacksmith-config.yamlSee the getting started guide for a working stack example and the required configuration.
The Stacksmith documentation is the canonical source for concepts, authoring guides, integrations, and reference material. Documentation source is maintained in docs/, and the complete generated command reference is available in the CLI reference.
For local documentation development, use poe docs-serve. Run poe docs-build to perform the same strict build used in CI.
Run the standard project checks before submitting changes. This project uses common-python-tasks.
poe format
poe lint
poe testStacksmith is available under the terms in LICENSE.