# File System Tool

The File System Tool enables DinoAI to interact with files in your repository, allowing it to create, modify, read, and search files based on your prompts.

<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%2Flqm38mNQyYdqkoRntNH3%2Fimage.png?alt=media&#x26;token=9b2c612c-4b7d-4fa5-a58a-9e54629b88bd" alt=""><figcaption></figcaption></figure></div>

### Capabilities

| Action          | What DinoAI Can Do                                                                                                                                                                     |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Create File** | SQL models for staging, intermediate, and mart layers; YAML configuration files for sources and documentation; schema.yml and README files; testing configurations                     |
| **Modify File** | Add new columns or properties; update documentation; refactor code to follow standards; fix errors or bugs                                                                             |
| **Read File**   | Understand your project structure; follow your coding patterns; reference existing code when generating new files                                                                      |
| **Search**      | Locate relevant examples, related files, and dependencies between models                                                                                                               |
| **Rename File** | Rename files to follow naming conventions and update references accordingly                                                                                                            |
| **Grep Search** | Scan for specific patterns, column references, or function names; identify all files affected by a refactor or rename; cross-reference model logic, source references, and macro usage |

***

### Security and Guardrails

{% hint style="info" %}
DinoAI always asks for confirmation before creating or modifying files. File operations are limited to your current project, and you have full control over which actions are permitted at all times.
{% endhint %}

***

### Best Practices

* **Be specific with your prompts** — Clearly describe what you want to create or modify so DinoAI can take the right action on the right file
* **Add relevant context** — For modifications, always add the file you want to change as context before running your prompt
* **Review changes carefully** — Always check the preview before accepting any file creation or modification
* **Use** [**`.dinorules`** ](https://docs.paradime.io/app-help/documentation/dino-ai/dino-rules)— Set up `.dinorules` to ensure consistent formatting and conventions are applied across all files DinoAI creates or modifies
