> For the complete documentation index, see [llms.txt](https://docs.pipekit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pipekit.io/concepts/templates.md).

# Templates

A Template in Pipekit is an Argo `WorkflowTemplate` or `ClusterWorkflowTemplate` that Pipekit manages on your behalf.

Templates let you define a workflow once and reference it from many Pipes. Pipekit version-controls Templates against your Git repository and propagates updates to every cluster a Template is registered on. A Template lives in one place but executes anywhere you've connected to Pipekit.

A Pipe can reference a Template via `templateRef` in its workflow spec. Pipekit will pin the version of the Template that the Pipe uses, or follow `latest` to track the default branch of the Template's Git repository.

You'll encounter Templates when you want to:

* Share a reusable workflow component (a build step, a data ingestion task, a release procedure) across teams or environments.
* Pin production Pipes to a specific Template version while letting development Pipes follow `latest`.
* Manage `ClusterWorkflowTemplate` resources across more than one cluster without applying YAML to each cluster by hand.

For task-oriented documentation, see [Using Pipekit > Templates](/using-pipekit/templates.md).
