diff --git a/.cursor/rules/story-end.md b/.cursor/rules/story-end.md index aa91b3e..b4fa522 100644 --- a/.cursor/rules/story-end.md +++ b/.cursor/rules/story-end.md @@ -31,6 +31,16 @@ If the user asks to **push** changes that sit on **`main`** and **`git push orig - **Do not** call Linear `save_issue` to change **state** until the user has **explicitly** chosen the target status. Typical names here are **`In Test`** or **`Done`**; use `list_issue_statuses` (Linear MCP, server **`plugin-linear-linear`**) if names differ on your team. - If the user only says “end story” / “merge cleanup” / similar **without** naming a target status: run the **git** steps in §2, then **ask** which **Linear state** to set (e.g. **In Test** vs **Done**) and **wait for their answer** before updating the issue. **Never assume Done** without that confirmation. + +### 4a. Required ask (agents — do not skip) + +After §2 (and any local branch deletes that succeeded), the **next reply to the user** must include a **clear, dedicated question** about Linear — not only implied by “per project rules” or buried after long git output. + +Use a short opening like this (adapt issue key if known from branch / context): + +> **Which Linear state should we set this story to?** (e.g. **In Test** or **Done**.) Reply with the **status name** and **issue key** (e.g. **NEO-25**) if more than one ticket could apply. + +Then you may summarize git results below that question. - **Exception:** If the **same user message** already names the status (e.g. “end story, move NEO-18 to **Done**”), you may update Linear after git cleanup without a second ask. - When Linear MCP is available, perform the update with **`save_issue`** (`id` = issue identifier, `state` = chosen status). - If MCP is unavailable or the update fails, tell the user and ask them to update Linear manually.