---
name: catalog-redesign
since: "1.0.2"
completedSince: "1.1.0"
---

import Since from '@components/Since.astro';
import Before from '@components/Before.astro';

Redesigned `terragrunt catalog` TUI with whole-repository discovery, tabbed browsing, and an interactive scaffolding form.

### `catalog-redesign` - What it does

Replaces the existing `terragrunt catalog` experience with a redesigned TUI that removes the need for manual configuration. The new catalog discovers modules and templates across the whole repository, lets you browse them in tabbed views, and scaffolds a selected component through an interactive form.

<Since version="1.1.0">
This experiment flag is no longer needed, as the redesigned TUI is now the default `terragrunt catalog` experience.
</Since>

Discovery walks the entire repository instead of only a `modules/` directory, so modules and templates can live anywhere. Boilerplate templates are discovered as a distinct component kind alongside OpenTofu/Terraform modules and labeled as templates in the UI. Catalog authors can commit a `.terragrunt-catalog-ignore` file at the repo root to exclude directories such as `examples/` or `test/` from discovery. See [Excluding paths from discovery](/features/catalog/tui#excluding-paths-from-discovery) for the supported pattern syntax.

The list view is split into `All`, `Modules`, and `Templates` tabs with `All` selected by default. Press `tab` and `shift+tab` to cycle between them; each tab keeps its own cursor and search filter.

Each list entry shows a metadata row with a component-type pill (module, template), the source URL it was discovered from, and a version pill when a release tag is available, so it is clear which repository or path a component came from.

Pressing `s` on a selected component opens an in-TUI form that prompts for every variable the component exposes (`.tf` variable blocks for modules and templates, `values.*` references for units and stacks). The form is modal: `j`/`k` (or arrows) navigate between fields, `enter` enters edit mode on a text field or toggles a boolean checkbox in place, `esc` returns from edit to navigate, `x` marks an optional field "use default" so it's left out of the generated file, `ctrl+d` finishes, and `esc` from navigate cancels back to the catalog. Only fields the user explicitly sets are written to the generated `terragrunt.hcl` or `terragrunt.values.hcl`; required fields the user never set still produce `# TODO: fill in value` placeholders. Pressing `S` (capital) keeps the original placeholder-only flow for users who want to populate values by editing the generated file.

### `catalog-redesign` - How to provide feedback

<Before version="1.1.0">
Provide your feedback on the [`catalog-redesign` GitHub Discussion](https://github.com/gruntwork-io/terragrunt/discussions/6223).
</Before>

<Since version="1.1.0">
Now that the `catalog-redesign` experiment is complete, please provide feedback in the form of standard [GitHub issues](https://github.com/gruntwork-io/terragrunt/issues).
</Since>

### `catalog-redesign` - Criteria for stabilization

To transition the `catalog-redesign` feature to a stable release, the following were completed:

- [x] Multiple catalog browse views (`All`, `Modules`, `Templates` tabs) are implemented and functional.
- [x] Catalog launches without requiring manual configuration (no pre-existing `catalog` block needed).
- [x] Discovery walks the entire repository, surfacing modules and boilerplate templates wherever they live.
- [x] Authors can exclude paths from discovery with a `.terragrunt-catalog-ignore` file.
- [x] Component source is visible in the UI for each catalog entry.
- [x] Component type (module, unit, stack, template) is clearly indicated in the UI.
- [x] An interactive scaffold form prompts for each variable a component exposes and generates `terragrunt.hcl`/`terragrunt.values.hcl`.
- [x] Integration tests cover the core catalog workflows.
- [x] Positive feedback from users using the redesigned catalog in production environments.
