# .dinoprompts

The `.dinoprompts` file serves as your team's prompt library, allowing you to store and reuse battle-tested prompts that understand your data development patterns. This eliminates the need to recreate complex prompts and ensures consistency across your analytics engineering team.

{% hint style="warning" %}
**.dinoprompts file is git-tracked by default**

If you don't want this file git-tracked, [see docs](#disabling-git-tracking) to disable.
{% endhint %}

{% hint style="success" %}

### Key Benefits

* **Centralized Library**: Store tailored prompts for analytics workflows
* **Time Savings**: Access proven prompts instantly
* **Team Knowledge Sharing**: Distribute effective prompts across your organization
* **Context-Aware**: Use variables for dynamic, situation-specific prompts
* **Fast Onboarding**: New team members access best practices immediately
  {% endhint %}

***

**Step-by-Step Instructions**

1. **Open DinoAI** by clicking the DinoAI icon (🦖) in the right panel
2. **Access Prompt Creation** by clicking the `@` context button and select prompt option in the chat input
3. **Create the file** by selecting "Configure `.dinoprompts`" to automatically create a new file with built-in prompts
4. **Define your prompts** using the [YAML structure](#file-structure) with `name` and `prompt` fields
5. **Access your prompts** using the prompt quick-open feature in DinoAI

<div data-with-frame="true"><figure><img src="https://2337193041-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHET0AD04uHMgdeLAjptq%2Fuploads%2FgaBLUkeBz2grWHv7dfoJ%2Fimage.png?alt=media&#x26;token=5dfa5102-7c30-46d9-abca-68c66cb4627e" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Make sure the `.dinoprompts` file is placed in the **root directory of your repository**

```
your-repository
├── dbt_project/
│   ├── staging/
│   └── marts/
├── macros/
├── seeds/
├── .dinoprompts              # .dinopropmts file location
├── README.md
```

{% endhint %}

***

### File Structure

The `.dinoprompts` file uses a simple YAML structure:

```yaml
prompts:
  - name: "Prompt Name"
    prompt: |
      Multi-line prompt content
      Can include variables like {{ git.diff.withOriginDefaultBranch }}
      
  - name: "Another Prompt"
    prompt: "Single line prompts work too"
```

***

### Available Variables

DinoAI provides built-in variables you can use in your prompts. Variables enable you to dynamically attach context to your prompts.

<table><thead><tr><th width="370.14453125">Vairable</th><th>Descriription</th></tr></thead><tbody><tr><td><code>{{ git.diff.withOriginDefaultBranch }}</code></td><td>Includes the git diff between your current branch and the default branch of your repository</td></tr><tr><td><code>{{ editor.currentFile.path }}</code></td><td>Includes the file path of the current opened and selected file in your Code IDE</td></tr><tr><td><code>{{ editor.openFiles.path }}</code></td><td>Includes the file path of the all the opened files in your Code IDE</td></tr></tbody></table>

***

### Git Tracking

**.dinoprompts file is git-tracked** **by default** to enable seamless team collaboration on DinoAI configurations.&#x20;

{% hint style="info" %}

#### What This Means

* **.dinoprompts** is tracked by git automatically
* **You can commit, modify, and request reviews** like any other file in your repository
* **Full change tracking and version history**
* **Seamless team collaboration** on AI configurations
  {% endhint %}

#### Disabling Git Tracking

{% hint style="info" %}
If you haven't agreed internally on rules/prompts: You may encounter a merge conflict when updating your branch. You can [use Paradime to resolve it](https://docs.paradime.io/app-help/concepts/working-with-git/merge-conflicts), but we recommend agreeing on common versions for the .dinoprompts file first.
{% endhint %}

To disable, simply add `.dinoprompts` to your .gitignore file.&#x20;

{% @arcade/embed flowId="ha19hxzSdo5MUwuZ7FIP" url="<https://app.arcade.software/share/ha19hxzSdo5MUwuZ7FIP>" %}
