---
description: >-
  Plan and track project timelines with Mermaid's Gantt diagrams. Ideal for
  scheduling data pipeline releases, managing model updates, and visualizing
  task dependencies.
---

# 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. From the Code IDE, Click **Apps and Agents** from the lefthand panel
2. Select **Mermaid**. Paradime will automatically start a new mermaid project
3. In the terminal that appears, use the arrow keys to select "Gantt Diagrams"
4. A new `gantt.mmd` file will be created in your editor with this starter template:

```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>

5. Click the eye icon (👁️) in the top right corner of your Mermaid file to preview the diagram
6. Edit and update your `.mmd` file as needed - the preview will update automatically

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

