# CLI-based Data Governance

{{< youtube k1Un9Uy8FLU >}}<br />

We are excited to announce CLI-based data governance workflows in RudderStack. Our new CLI utility and other features make it easy to manage your [data catalog]({{< ref "data-governance/data-catalog/" >}}) and [tracking plans]({{< ref "data-governance/tracking-plans/" >}}) as code.

With CLI-based data governance, you can bring the same rigor and process to your data governance workflows that you apply to other development workflows, giving you more control, increased visibility, and ultimately better data quality. 

{{< announcement >}}
This feature is in **Alpha**, where we work with early users and customers to test new features and get feedback before making them generally available.

Note that these features are functional but can change as we improve them. [Contact the Product team](mailto:product@rudderstack.com) if you have any questions.
{{< /announcement >}}

## Key features

Some key features of CLI-based tracking plans management include:

### Declarative YAML configuration

- Define your events, including their names and descriptions, in YAML format.
- Create reusable properties with advanced validation rules like min/max length, patterns (through regular expressions), and enums.
- Define tracking plan rules by associating events with required properties using a structured reference system.
- Reuse property definitions across multiple events with a standardized path reference system.

### Powerful CLI tool

The new workflow comes with a powerful [Rudder CLI tool]({{< ref "dev-tools/rudder-cli/_index.md" >}}) that lets you:

- Create, update, and delete data catalog and tracking plan resources via command line.
- Verify your YAML configurations before pushing changes.
- Sync changes in your local files or GitHub repo to RudderStack. 

{{< info >}}
The CLI utility currently only supports _pushing_ to RudderStack, so we recommend starting with a clean workspace (pulling existing assets from the UI is in the works!). Reach out to our team if you would like us to create a dedicated workspace for testing. [See our list of limitations](https://www.rudderstack.com/docs/dev-tools/rudder-cli/data-catalog-and-tracking-plans/#limitations) to learn more about current differences between the CLI and UI. 
{{< /info >}}

### Git Integration & CI/CD support

- Leverage GitHub Actions to automatically validate and deploy tracking plans from your repository.
- Implement version control by tracking changes, managing branches, and reviewing modifications through standard Git workflows.
- Review any tracking plan changes before they reach production.

## Use Cases

This feature is particularly valuable for teams who:

- Manage large tracking plans with hundreds of events and properties.
- Need better integration with existing development workflows.
- Want to maintain consistent tracking standards across multiple applications.
- Require version control and review processes for data governance.

## Get started

{{< customreadfile "/includes/rudder-cli.md" >}}

<br />
