# Terminal Tool

The Terminal Tool enables DinoAI to suggest and execute terminal commands, helping you with Git operations, dbt runs, and other command-line tasks directly from your DinoAI interface.

{% hint style="info" %}
With the Terminal Tool, DinoAI can help you navigate Git workflows, execute dbt commands, and troubleshoot issues by analyzing command outputs - all without leaving your development environment.
{% endhint %}

### Capabilities

<table><thead><tr><th width="254.83984375">Capability</th><th>What It Does</th></tr></thead><tbody><tr><td>Execute Git Commands</td><td>Create branches, commit changes, and manage Git workflows</td></tr><tr><td>Run dbt Operations</td><td>Execute dbt commands to build, test, and verify models</td></tr><tr><td>Debug Errors</td><td>Analyze command outputs to identify and fix issues</td></tr></tbody></table>

### Using the Terminal Tool

1. **Open DinoAI** and describe what you're trying to accomplish
2. **DinoAI suggests a terminal command** based on your goal
3. **Review the suggested command** carefully
4. **Approve the command execution** if it looks correct
5. **DinoAI runs the command** in your terminal and analyzes the output
6. **If errors occur**, DinoAI suggests fixes based on the error messages

***

### Example Use Cases

#### Summarizing Documentation

* **Prompt**: *`"I need to create a branch to fix the issue described in JIRA-123"`*
* **Result**: `DinoAI suggests and runs the Git command to create a properly named branch (e.g., git checkout -b fix/JIRA-123-description)`

#### Extracting Information

* **Prompt**: *`"Can you fix the failing model in our production pipeline?"`*
* **Result**: `DinoAI identifies the failing model, suggests edits, runs 'dbt run' to test the fix, and helps resolve any compilation or runtime errors`

#### Extracting Information

* **Prompt**: *`"I've fixed the issue, can you commit and push my changes?"`*
* **Result**: `DinoAI creates a descriptive commit message, commits the changes, and pushes to the remote repository`

{% hint style="warning" %}
Always review suggested commands before execution. While DinoAI is designed to be helpful, you should verify that the commands won't have unintended consequences.
{% endhint %}

***

### Working with Error Messages

One of the most powerful features of the Terminal Tool is its ability to understand and resolve errors:

1. **When a command fails**, DinoAI analyzes the error output
2. **DinoAI suggests fixes** based on the specific error message
3. **After applying fixes**, DinoAI can re-run the command to verify the solution

***

### Integration with Other Tools

The Terminal Tool works seamlessly with other DinoAI tools:

* **Jira Tool**: Execute workflows based on Jira ticket requirements
* **File System Tool**: Make changes to files and then commit them with proper Git commands
* **Warehouse Tool**: Run dbt commands to test models created based on warehouse metadata

***

{% hint style="info" %}

### Best Practices

1. **Be specific about your goals** - Tell DinoAI what you're trying to accomplish, not just what command you want to run
2. **Review before executing** - Always check suggested commands before approving them
3. **Use for workflows** - The Terminal Tool is most powerful when automating multi-step workflows
4. **Leverage for debugging** - Let DinoAI help identify issues in command outputs and suggest fixes
   {% endhint %}
