---
name: add-milestone
description: >-
  Create a release milestone on the turbine-platform GitLab roadmap. Use whenever the user says
  "add milestone", "create a milestone", "new milestone", "add v0.11", "spin up the next milestone",
  or wants a new release bucket on the board. Asks for the version number and an optional due date
  (milestones are deadline-free by default), then creates the group milestone.
---

# Add a milestone

A milestone is a **minor version** (`vX.Y`) and the release bucket epics and issues drop into.
Group: `turbine-platform` (id `1254326`). Just run `glab` — the proxy is handled by the PATH wrapper.

## Ask two things

1. **Version number** → the title, in `vX.Y` form (`v0.11`). To suggest the obvious next one and
   avoid duplicates, list what exists first:
   ```
   glab api "groups/1254326/milestones?state=active&per_page=50"
   ```
2. **Due date** → optional. Milestones are deadline-free by default, so only set one if the user
   gives a date. Accept plain language ("next Friday", "June 12") and resolve it to `YYYY-MM-DD`
   (`date -j -f '%Y-%m-%d' '<date>' '+%A'` confirms the weekday if they named one).

## Create

```bash
glab api -X POST "groups/1254326/milestones" \
  -f title="<vX.Y>" \
  -f description="turbine <vX.Y>"
  # append only when a due date was given:
  #   -f due_date="YYYY-MM-DD"
```

Report the milestone title, id, and due date (or "no deadline"). That's it.

Note: GitLab sorts milestones alphabetically, so `v0.10` shows before `v0.9` — cosmetic only.
