# Using .dinorules to Tailor Your AI Experience

When working with dbt™ projects, teams often establish standards for SQL formatting, naming conventions, documentation, and modeling patterns. Ensuring all team members follow these standards consistently can be challenging.

.dinorules allow you to configure how DinoAI Agent operates within your project by establishing standards that it will automatically follow when generating or modifying code.

{% embed url="<https://youtu.be/HS1NKGqz7Y4?si=2mAG6br80Cw4S3PN&t=292>" %}

{% hint style="info" %}
**Benefits of using .dinorules**

* **Define Project-Specific Rules**: Customize DinoAI's behavior to match your team's unique needs and workflows.
* **Set Technical Standards**: Specify coding patterns, architecture guidelines, and best practices for your project.
* **Adapt Over Time**: Easily modify the rules as your project evolves and requirements change.
* **Team Collaboration**: Files are **git-tracked by default**, enabling shared standards across your entire data team.
  {% endhint %}

### How to Create a .dinorules File

Simply add a file named `.dinorules` to the root of your dbt™ project repository. The file uses natural language instructions and doesn't require any specific formatting, structure, or syntax. You can edit it just as you would a regular text document - use paragraphs, bullet points, or any organization that makes sense to you.

1. From the Code IDE, Click the DinoAI icon (🪄) icon on the left-side panel.\
   2\. Click the settings icon (⚙️) at the top right of the DinoAI panel. This automatically creates a new file named `.dinorules`.

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

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

{% endhint %}

3. Add your [custom instructions to the file](https://docs.paradime.io/app-help/documentation/dino-ai-copilot/dbt-development/custom-rules-for-dinoai#example-.dinorules-file-configuration). These can be general or highly specific - there's no set syntax required.

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

#### Example DinoRules File

```
SQL Formatting
- Keyword capitalization (uppercase/lowercase)
- Comma style (leading/trailing)
- Indentation (spaces vs. tabs, amount)
- Aliasing conventions
- CTEs vs. subqueries preferences
- Comment requirements for complex logic

Naming Conventions
- Model naming patterns
- Column naming standards
- Test naming formats
- Documentation file naming

Documentation Standards
- Documentation file organization (single file vs. multiple files)
- Required column descriptions
- Standard test applications
- Metadata requirements

Modeling Patterns
- Dimensional modeling preferences
- Materialization defaults by folder
- Incremental model patterns
- Custom configurations

Visualization Standards
- When to include mermaid diagrams
- What elements to include in visualizations
- Visualization formatting
```


---

# 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/guides/paradime-101/getting-started-with-the-paradime-ide/dinoai-accelerating-your-analytics-engineering-workflow/dinoai-agent/using-.dinorules-to-tailor-your-ai-experience.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.
