bmad-auto-copilot 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bmad-auto-copilot",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Automated BMAD story development loop using GitHub Copilot CLI — install into any BMAD project",
5
5
  "keywords": [
6
6
  "bmad",
@@ -164,6 +164,8 @@ function Get-NextAction {
164
164
  Write-Log "[DEBUG] Found $($storyLines.Count) story lines" "Gray"
165
165
  }
166
166
 
167
+ # Strip inline YAML comments so status matching works with annotated lines
168
+ $storyLines = $storyLines | ForEach-Object { $_ -replace '\s*#.*$', '' }
167
169
  $reviewCount = ($storyLines | Where-Object { $_ -match ':\s*review\s*$' }).Count
168
170
  $readyCount = ($storyLines | Where-Object { $_ -match ':\s*ready-for-dev\s*$' }).Count
169
171
  $backlogCount = ($storyLines | Where-Object { $_ -match ':\s*backlog\s*$' }).Count
@@ -258,7 +260,7 @@ function Invoke-CopilotSession {
258
260
 
259
261
  function Get-StoryKeyForState {
260
262
  param([string]$State)
261
- $lines = Get-Content $SprintStatusPath | Where-Object { $_ -match '^\s*\d+-\d+-' -and $_ -notmatch 'retrospective' -and $_ -match ": *${State} *$" }
263
+ $lines = Get-Content $SprintStatusPath | ForEach-Object { $_ -replace '\s*#.*$', '' } | Where-Object { $_ -match '^\s*\d+-\d+-' -and $_ -notmatch 'retrospective' -and $_ -match ": *${State} *$" }
262
264
  if ($lines) {
263
265
  $first = ($lines | Select-Object -First 1).Trim()
264
266
  return ($first -split ':')[0]
@@ -318,7 +320,7 @@ function Write-Summary {
318
320
  $lines = $content -split "`n"
319
321
  $storyLines = $lines | Where-Object {
320
322
  $_ -match '^\s*[0-9]+-[0-9]+-' -and $_ -notmatch 'retrospective'
321
- }
323
+ } | ForEach-Object { $_ -replace '\s*#.*$', '' }
322
324
  $done = ($storyLines | Where-Object { $_ -match ':\s*done\s*$' }).Count
323
325
  $total = $storyLines.Count
324
326
  $pct = if ($total -gt 0) { [math]::Round($done * 100 / $total) } else { 0 }
@@ -159,7 +159,8 @@ get_next_action() {
159
159
  fi
160
160
 
161
161
  # Filter story lines (pattern: digits-digits-*) excluding retrospectives
162
- local story_lines=$(grep -E '^\s*[0-9]+-[0-9]+-' "$SPRINT_STATUS_PATH" | grep -v "retrospective")
162
+ # Strip inline YAML comments (# ...) so status matching works with annotated lines
163
+ local story_lines=$(grep -E '^\s*[0-9]+-[0-9]+-' "$SPRINT_STATUS_PATH" | grep -v "retrospective" | sed 's/ *#.*//')
163
164
 
164
165
  if $VERBOSE; then
165
166
  local count=$(echo "$story_lines" | wc -l | tr -d ' ')
@@ -261,7 +262,7 @@ invoke_copilot() {
261
262
 
262
263
  get_story_key_for_state() {
263
264
  local state="$1"
264
- grep -E '^\s*[0-9]+-[0-9]+-' "$SPRINT_STATUS_PATH" | grep -v "retrospective" | grep ": *${state} *$" | head -1 | sed 's/^[[:space:]]*//' | cut -d: -f1
265
+ grep -E '^\s*[0-9]+-[0-9]+-' "$SPRINT_STATUS_PATH" | grep -v "retrospective" | sed 's/ *#.*//' | grep ": *${state} *$" | head -1 | sed 's/^[[:space:]]*//' | cut -d: -f1
265
266
  }
266
267
 
267
268
  # ============================================================
@@ -306,7 +307,7 @@ print_summary() {
306
307
  return
307
308
  fi
308
309
 
309
- local story_lines=$(grep -E '^\s*[0-9]+-[0-9]+-' "$SPRINT_STATUS_PATH" | grep -v "retrospective")
310
+ local story_lines=$(grep -E '^\s*[0-9]+-[0-9]+-' "$SPRINT_STATUS_PATH" | grep -v "retrospective" | sed 's/ *#.*//')
310
311
  local done=$(echo "$story_lines" | grep -c ': *done *$' || true)
311
312
  local total=$(echo "$story_lines" | grep -c '.' || true)
312
313
  local pct=0