feat(issues): enforce Epic association and in-progress rules#228
Draft
sami-marreed wants to merge 2 commits into
Draft
feat(issues): enforce Epic association and in-progress rules#228sami-marreed wants to merge 2 commits into
sami-marreed wants to merge 2 commits into
Conversation
- Add `enforce-issue-epic` GitHub Actions workflow that:
- Blocks any non-Bug/non-Epic issue opened or edited without an `Epic: #<n>` line
- Blocks applying `status: todo` or `status: in-progress` to an issue whose
referenced Epic does not carry `status: in-progress`; also removes the
premature label and posts an explanatory comment
- Update `cuga-new-feature` agent command (Cursor/Claude/Bob) to require
Epic association before creating an issue
- Add new `cuga-move-issue` agent command (Cursor/Claude/Bob) that validates
both rules before applying a status label
- Document Issue Workflow Rules and status label setup in CONTRIBUTING.md
Signed-off-by: Sami Marreed <sami.marreed@ibm.com>
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Switch the Epic in-progress check from label-based to GitHub Projects Status field. The workflow now triggers on `projects_v2_item.edited`, reads the issue's and Epic's Status via GraphQL, and clears the Status field (reverting the move) if the Epic is not In Progress on the board. Update cuga-move-issue agent command to query project item Status via `gh issue view --json projectItems` and use `gh project item-edit` to apply the new status after validation. Requires a `PROJECT_TOKEN` secret (PAT with `read:project` + `repo` scopes). Signed-off-by: Sami Marreed <sami.marreed@ibm.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Feature
Summary
Enforces two issue workflow rules, both in GitHub Actions and in the AI agent commands (Cursor / Claude / Bob):
[Bug], non-[Epic]issue must includeEpic: #<n>in its body. Checked onissues.openedandissues.edited; the workflow posts a comment and fails if the line is absent.status: todoorstatus: in-progressto an issue is blocked unless the referenced Epic already carriesstatus: in-progress. The workflow removes the label and posts an explanatory comment if the rule is violated.Files changed:
.github/workflows/enforce-issue-epic.yml.cursor/commands/cuga-new-feature.md.claude/commands/cuga-new-feature.md.bob/commands/cuga-new-feature.md.cursor/commands/cuga-move-issue.md.claude/commands/cuga-move-issue.md.bob/commands/cuga-move-issue.mdCONTRIBUTING.mdTesting