docs/src/content/docs/03-features/06-catalog/index.mdx
import { Aside } from '@astrojs/starlight/components';
Terragrunt's catalog ecosystem provides two complementary tools for working with OpenTofu/Terraform modules:
terragrunt.hcl files from module templates.You can use Scaffold standalone, or launch it directly from the Catalog TUI by pressing S on a selected module.
Where a terminal is not available, the catalog can write what it discovers to standard output instead of drawing an interface. See Non-interactive catalog.
The catalog block supports security-related configuration options:
no_shell (bool): When set to true, disables shell command execution in boilerplate templates during scaffolding. This is useful for organizations that want to prevent the use of shell commands in templates for security reasons.no_hooks (bool): When set to true, disables hook execution in boilerplate templates during scaffolding. This is useful for organizations that want to prevent the use of hooks in templates for security reasons.Do not use catalog/scaffold to scaffold untrusted templates. IaC configurations are inherently powerful, as they can run arbitrary code on your system, so make sure to only use trusted templates you have reviewed and approved.
</Aside>These configuration values can be overridden by their corresponding CLI flags:
terragrunt catalog --no-shell --no-hooks
terragrunt scaffold module-url --no-shell
Priority order: CLI flags > catalog configuration > defaults (both default to false, allowing shell and hooks to be used by default)
Terragrunt has a basic template built-in for rendering terragrunt.hcl files, but you can provide your own templates to customize how code is generated! Scaffolding is done via boilerplate, and Terragrunt allows you to specify custom boilerplate templates via multiple mechanisms:
.boilerplate sub-directory of any OpenTofu/Terraform module.default_template option.scaffold command.See the Catalog TUI and Scaffold pages for more details on configuring templates.