# Rudder CLI


[Rudder CLI]({{< ref "dev-tools/rudder-cli/_index.md" >}}) lets you define, validate, and deploy RudderStack resources from your terminal using YAML files in Git. 

Manage [Tracking Plans and Data Catalog]({{< ref "dev-tools/rudder-cli/data-catalog-and-tracking-plans/" >}}), [SQL models]({{< ref "dev-tools/rudder-cli/sql-models/" >}}), [Event Stream sources]({{< ref "dev-tools/rudder-cli/event-stream-sources" >}}), and [Transformations]({{< ref "dev-tools/rudder-cli/manage-transformations.md" >}}) with the same review and version-control workflows you use for application code.

## Key features

- **Resources as code**: Define events, properties, tracking plan rules, SQL models, sources, and transformations in YAML.
- **Validate before deploy**: Check YAML configurations, SQL syntax, and transformation logic locally before pushing to production.
- **Bi-directional sync**: Create resources from the CLI or import existing workspace assets into Git.
- **CI/CD ready**: Integrate validation and deployment with [GitHub Actions]({{< ref "dev-tools/rudder-cli/github-actions/" >}}).

## Get started

1. [Install Rudder CLI]({{< ref "dev-tools/rudder-cli/installation.md" >}}) and [authenticate]({{< ref "dev-tools/rudder-cli/_index.md#authenticate-the-cli" >}}) with a workspace access token.
2. Choose a workflow for [Tracking Plans]({{< ref "dev-tools/rudder-cli/data-catalog-and-tracking-plans/" >}}), [SQL models]({{< ref "dev-tools/rudder-cli/sql-models/" >}}), [Event Stream sources]({{< ref "dev-tools/rudder-cli/event-stream-sources" >}}), or [Transformations]({{< ref "dev-tools/rudder-cli/manage-transformations.md" >}}).
3. Validate locally, then apply changes to your workspace.

## Resources

- [Rudder CLI Overview]({{< ref "dev-tools/rudder-cli/_index.md" >}})
- [CLI Commands Reference]({{< ref "dev-tools/rudder-cli/commands.md" >}})
- [Project Setup]({{< ref "dev-tools/rudder-cli/project-setup.md" >}})

