# amfelt template validate

Check the SQL templates you have customized.

Reads every template under the project's templates/ directory and reports what
is wrong with each one, without contacting a database or running a pipeline. Two
things are checked: the template has to be valid, and everything it reads from
the template context has to be part of the published contract. Relying on
anything outside that contract is what breaks silently when a plugin is
upgraded, which is exactly what this catches.

Checking the generated SQL against your actual warehouse needs credentials and
is a separate step; this command is safe to run anywhere, including in CI.

Every problem found is printed and the command then fails, so a pull request
that breaks a template is caught before it is deployed. Committing a broken
template is never prevented — it stays in git where you can read it, diff it and
revert it — but it will stop a pipeline run rather than be silently replaced by
the plugin's own template.

## Usage

```text
amfelt template validate [flags]
```

## Examples

```text
template validate
Checks the templates for the project in the current directory.

template validate --path pcf/PCF-postgres.yaml
Checks the templates for the project defined by the given project file.
```

## Flags

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--path` | `string` | `amfelt.yaml` | path of the Amfelt project file |
{.clidoc-flags-table}

## Global flags

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--amfelt-dir` | `string` | `.amfelt` | directory for workspace files (such as plugins); does not move agent identity (controlled by AMFELT_DIR) |
| `--config` | `string` | — | directory or filename of the application configuration |
| `-f`, `--format` | `string` | `default` | log format to use; either default, pretty, or json |
| `-l`, `--level` | `string` | `info` | minimum log level to display; either error, warn, info, or debug |
| `-v`, `--verbose` | `bool` | `false` | trigger to use verbose logging |
{.clidoc-flags-table}

## See also

- [`template`](/docs/reference/command-line/template/) — the parent command

---

Generated from `amfelt` v5.6.3.
