# Gantt Diagrams

### What are Gantt Diagrams?

Gantt diagrams help you visualize project timelines and track task dependencies. For data teams, they're valuable for planning data pipeline releases, scheduling model updates, and managing project milestones. Each task appears as a bar extending from its start date to its end date.

### Creating Your First Gantt Diagram

1. **Launch DinoAI:** From Code IDE, access [DinoAI](https://docs.paradime.io/app-help/documentation/dino-ai) to start creating diagrams.
2. **Use a Simple Prompt:** Tell DinoAI what kind of Gantt Diagram you want to create. For example:

{% code overflow="wrap" %}

```
- "Create a Gantt chart showing my data project timeline with tasks, dependencies, and milestones"

- "Generate a Gantt diagram for my dbt™ model development schedule with phases and deadlines"

- "Build a Gantt chart showing my data pipeline release plan with testing and deployment phases"
```

{% endcode %}

3. **Get Your Diagram:** DinoAI will generate a complete `.mmd` file with proper Mermaid syntax.
4. **Preview Your Work:** Click the eye icon (👁️) to preview your diagram in real-time as you edit.
5. **Iterate and Refine:** Modify the generated `.mmd` file directly, or ask DinoAI to make specific changes.

#### Example:

```mermaid
gantt
    title A Gantt Diagram
    dateFormat YYYY-MM-DD
    section Section
        A task          :a1, 2014-01-01, 30d
        Another task    :after a1, 20d
    section Another
        Task in Another :2014-01-12, 12d
        another task    :24d
```

<figure><img src="https://2337193041-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHET0AD04uHMgdeLAjptq%2Fuploads%2FzIw3mEVf1E4wItAF1BWx%2Fimage.png?alt=media&#x26;token=b0943559-fb4b-49a0-b054-ab0025ca7302" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}

#### Reusable Gantt Diagram prompts for you and your team

You can create custom, standardized [.dinoprompts](https://docs.paradime.io/app-help/documentation/dino-ai/dino-prompts) for Mermaid's Gantt that ensure consistency across your data team. See [step-by-step guide.](https://docs.paradime.io/app-help/documentation/integrations/code-ide/mermaid-js/..#creating-mermaid-diagrams-with-.dinoprompts)
{% endhint %}

***

### Diagram Syntax Guide

#### Basic Structure

```mermaid
gantt
    dateFormat YYYY-MM-DD
    title Project Timeline
    
    section Data Pipeline
    Extract Data    :a1, 2024-01-01, 3d
    Transform      :after a1, 4d
    Load          :after a2, 2d
```

#### Task Types

* Regular task: No special prefix
* Critical task: Add `crit` tag
* Active task: Add `active` tag
* Completed task: Add `done` tag
* Milestone: Add `milestone` tag

#### Task Dependencies

* `after TaskID`: Start after another task
* Fixed dates: Specify start and duration
* Duration units: d (days), h (hours), m (minutes)

### Data Team Examples

#### Data Pipeline Release

```mermaid
gantt
    dateFormat YYYY-MM-DD
    title Q1 Pipeline Release
    excludes weekends
    
    section Development
    Model Updates    :active, mod1, 2024-01-01, 10d
    Testing         :after mod1, 5d
    
    section Deployment
    Stage Deploy    :crit, dep1, after mod1, 2d
    Prod Deploy    :crit, milestone, after dep1, 0d
```

#### Model Training Schedule

```mermaid
gantt
    dateFormat YYYY-MM-DD
    title Model Training Timeline
    
    section Data Prep
    Extract Data    :2024-01-01, 2d
    Clean Data     :after a1, 3d
    
    section Training
    Train Model    :crit, 5d
    Validate      :2d
```

### Best Practices

1. Use clear section names to group related tasks
2. Include key milestones
3. Mark critical path tasks
4. Consider weekends and holidays with `excludes`
5. Add dependencies between tasks
6. Keep timelines realistic

{% hint style="info" %}

### Additional Resources

For more syntax options and advanced features, visit the [official Mermaid documentation](https://mermaid.js.org/syntax/gantt.html)
{% endhint %}
