Files
GitOps/.claude/commands/create-defect.md
T
Janis Eccarius e13c9c2637 chore(claude): add YouTrack command suite
Port create-defect, create-story, estimate-issues, fix-defect,
implement-feature and split-story commands, adapted for GitOps
(kustomize build + kubectl dry-run gates, NCI routing).
implement-feature now walks subtasks, respects blocked-by, and reports
cross-project (NCS/NCWF) tasks. Ignore .claude/worktrees.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 14:35:26 +02:00

3.1 KiB
Executable File

Create Defect in YouTrack

Automated defect creation workflow. Topic/hint: $ARGUMENTS

This is the GitOps repo (Kustomize / Helm / Argo CD / Kargo on Kubernetes). Defects raised here usually belong to project NCI, but routing in Step 5 still applies.

Step 1 — Gather Context

Use AskUserQuestion tool to ask the user (max 4 questions at once):

  1. Component — Where does the bug occur? (e.g. argocd, kargo, ingress-nginx, cert-manager, postgres, redis, sealed-secrets, a nowchess overlay, a region/deployment)
  2. What breaks — What is the actual (broken) behavior? (sync failure, render error, pod crashloop, cert not issued, etc.)
  3. Expected — What should happen instead?
  4. Reproducibility — Always reproducible? Which cluster/region/overlay triggers it?

If $ARGUMENTS already answers some of these, skip those questions.

Step 2 — Research (if needed)

If the bug involves manifests, overlays, or rendering:

  • Search repo for relevant paths (Grep/Bash) under the affected component dir.
  • Render the suspect path: kustomize build --enable-helm <path> and inspect output.
  • Validate: kustomize build --enable-helm <path> | kubectl apply --dry-run=client -f -.
  • Do NOT guess at root cause. Surface findings before drafting.

Step 3 — Draft Defect

Compose the full defect report using this template:

Summary

[One-sentence description of what is broken.]


Steps to Reproduce

1. Step one
2. Step two
3. Step three


Expected Behavior

[What should happen.]


Actual Behavior

[What actually happens.]


Environment / Notes

[Any relevant context: cluster/region, overlay path, Argo CD app name, kustomize/helm versions, error output — only if applicable.]

Rules:

  • Steps must be minimal and reproducible (prefer a kustomize build / kubectl --dry-run command).
  • Expected vs actual: concrete and unambiguous.
  • Omit "Environment / Notes" section if not relevant.

Step 4 — Clarify

Show the draft to the user. Use AskUserQuestion tool to ask:

  • Are steps to reproduce complete and accurate?
  • Severity: Blocker / Critical / Major / Minor / Trivial?
  • Any related tickets or recent changes to link?

Incorporate feedback. Repeat until user approves.

Step 5 — Determine Project

Project routing rules (always apply these):

  • Infrastructure (Kubernetes, Argo CD, Kargo, pipelines, CI/CD, DB setup, cloud infra) → NCI
  • Backend code (game engine, bots, API, services, coordinator) → NCS
  • Frontend code (UI, UX, web app) → NCWF
  • Kubernetes / Argo CD / Kargo / pipelines / infrastructure → project: NCI (default for this repo)
  • Backend / coordinator / systems / bot / engine → project: NCS
  • Frontend / UI / UX → project: NCWF

If ambiguous, ask the user.

Step 6 — Create Issue

Call mcp__youtrack__create_issue with:

  • project: determined in Step 5
  • summary: concise title describing what is broken (≤72 chars, sentence case)
  • description: full formatted defect report from Step 3 (Markdown)
  • type: Bug

Step 7 — Report

Display the created issue ID and URL. Ask if a linked investigation or fix task is needed.