--- page_title: Writing and Modifying Code - OpenTF CLI description: >- Learn commands that help validate, format, and upgrade code written in the OpenTF Configuration Language. --- # Writing and Modifying OpenTF Code The [OpenTF language](/opentf/language) is OpenTF's primary user interface, and all of OpenTF's workflows rely on configurations written in the OpenTF language. OpenTF CLI includes several commands to make OpenTF code more convenient to work with. Integrating these commands into your editing workflow can potentially save you time and effort. - [The `opentf console` command](/opentf/cli/commands/console) starts an interactive shell for evaluating OpenTF [expressions](/opentf/language/expressions), which can be a faster way to verify that a particular resource argument results in the value you expect. - [The `opentf fmt` command](/opentf/cli/commands/fmt) rewrites OpenTF configuration files to a canonical format and style, so you don't have to waste time making minor adjustments for readability and consistency. It works well as a pre-commit hook in your version control system. - [The `opentf validate` command](/opentf/cli/commands/validate) validates the syntax and arguments of the OpenTF configuration files in a directory, including argument and attribute names and types for resources and modules. The `plan` and `apply` commands automatically validate a configuration before performing any other work, so `validate` isn't a crucial part of the core workflow, but it can be very useful as a pre-commit hook or as part of a continuous integration pipeline.