# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paradime.io/app-help/documentation/dino-ai/tools-and-features/terminal-tool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
