agileflow 2.99.1 → 2.99.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.
Files changed (116) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/lib/dashboard-server.js +16 -8
  3. package/lib/feedback.js +4 -3
  4. package/lib/merge-operations.js +17 -8
  5. package/lib/session-operations.js +13 -3
  6. package/lib/session-switching.js +6 -1
  7. package/package.json +1 -1
  8. package/scripts/agileflow-configure.js +2 -1
  9. package/scripts/agileflow-welcome.js +11 -6
  10. package/scripts/damage-control-bash.js +33 -3
  11. package/scripts/damage-control-edit.js +33 -3
  12. package/scripts/damage-control-write.js +33 -3
  13. package/scripts/lib/configure-features.js +4 -3
  14. package/scripts/lib/configure-repair.js +4 -3
  15. package/scripts/lib/process-cleanup.js +188 -10
  16. package/scripts/session-manager.js +108 -35
  17. package/src/core/agents/configuration/archival.md +2 -1
  18. package/src/core/agents/configuration/attribution.md +2 -1
  19. package/src/core/agents/configuration/ci.md +2 -1
  20. package/src/core/agents/configuration/damage-control.md +2 -1
  21. package/src/core/agents/configuration/git-config.md +2 -1
  22. package/src/core/agents/configuration/hooks.md +2 -1
  23. package/src/core/agents/configuration/precompact.md +2 -1
  24. package/src/core/agents/configuration/status-line.md +2 -1
  25. package/src/core/agents/configuration/verify.md +2 -1
  26. package/src/core/commands/adr/list.md +1 -1
  27. package/src/core/commands/adr/update.md +1 -1
  28. package/src/core/commands/adr/view.md +1 -1
  29. package/src/core/commands/adr.md +1 -1
  30. package/src/core/commands/agent.md +1 -1
  31. package/src/core/commands/api.md +1 -1
  32. package/src/core/commands/assign.md +1 -1
  33. package/src/core/commands/audit.md +1 -1
  34. package/src/core/commands/auto.md +1 -1
  35. package/src/core/commands/automate.md +1 -1
  36. package/src/core/commands/babysit.md +1 -1
  37. package/src/core/commands/baseline.md +1 -1
  38. package/src/core/commands/batch.md +1 -1
  39. package/src/core/commands/blockers.md +1 -1
  40. package/src/core/commands/board.md +1 -1
  41. package/src/core/commands/changelog.md +1 -1
  42. package/src/core/commands/choose.md +1 -1
  43. package/src/core/commands/ci.md +1 -1
  44. package/src/core/commands/compress.md +1 -1
  45. package/src/core/commands/configure.md +1 -1
  46. package/src/core/commands/context/export.md +1 -1
  47. package/src/core/commands/context/full.md +1 -1
  48. package/src/core/commands/context/note.md +1 -1
  49. package/src/core/commands/council.md +1 -1
  50. package/src/core/commands/debt.md +1 -1
  51. package/src/core/commands/deploy.md +1 -1
  52. package/src/core/commands/deps.md +1 -1
  53. package/src/core/commands/diagnose.md +1 -1
  54. package/src/core/commands/docs.md +1 -1
  55. package/src/core/commands/epic/list.md +1 -1
  56. package/src/core/commands/epic/view.md +1 -1
  57. package/src/core/commands/epic.md +1 -1
  58. package/src/core/commands/feedback.md +1 -1
  59. package/src/core/commands/handoff.md +1 -1
  60. package/src/core/commands/help.md +4 -190
  61. package/src/core/commands/ideate/history.md +1 -1
  62. package/src/core/commands/ideate/new.md +1 -1
  63. package/src/core/commands/impact.md +1 -1
  64. package/src/core/commands/install.md +1 -1
  65. package/src/core/commands/logic/audit.md +1 -1
  66. package/src/core/commands/maintain.md +1 -1
  67. package/src/core/commands/metrics.md +1 -1
  68. package/src/core/commands/multi-expert.md +1 -1
  69. package/src/core/commands/packages.md +1 -1
  70. package/src/core/commands/pr.md +1 -1
  71. package/src/core/commands/readme-sync.md +1 -1
  72. package/src/core/commands/research/analyze.md +1 -1
  73. package/src/core/commands/research/ask.md +1 -1
  74. package/src/core/commands/research/import.md +1 -1
  75. package/src/core/commands/research/list.md +1 -1
  76. package/src/core/commands/research/synthesize.md +1 -1
  77. package/src/core/commands/research/view.md +1 -1
  78. package/src/core/commands/retro.md +1 -1
  79. package/src/core/commands/review.md +1 -1
  80. package/src/core/commands/rlm.md +1 -1
  81. package/src/core/commands/roadmap/analyze.md +1 -1
  82. package/src/core/commands/rpi.md +1 -1
  83. package/src/core/commands/session/cleanup.md +1 -1
  84. package/src/core/commands/session/end.md +1 -1
  85. package/src/core/commands/session/history.md +1 -1
  86. package/src/core/commands/session/init.md +1 -1
  87. package/src/core/commands/session/new.md +1 -1
  88. package/src/core/commands/session/resume.md +1 -1
  89. package/src/core/commands/session/spawn.md +1 -1
  90. package/src/core/commands/session/status.md +1 -1
  91. package/src/core/commands/skill/create.md +1 -1
  92. package/src/core/commands/skill/delete.md +1 -1
  93. package/src/core/commands/skill/edit.md +1 -1
  94. package/src/core/commands/skill/list.md +1 -1
  95. package/src/core/commands/skill/test.md +1 -1
  96. package/src/core/commands/skill/upgrade.md +1 -1
  97. package/src/core/commands/sprint.md +1 -1
  98. package/src/core/commands/status.md +1 -1
  99. package/src/core/commands/story/list.md +1 -1
  100. package/src/core/commands/story/view.md +1 -1
  101. package/src/core/commands/story-validate.md +1 -1
  102. package/src/core/commands/story.md +1 -1
  103. package/src/core/commands/team/list.md +1 -1
  104. package/src/core/commands/team/start.md +1 -1
  105. package/src/core/commands/team/status.md +1 -1
  106. package/src/core/commands/team/stop.md +1 -1
  107. package/src/core/commands/template.md +1 -1
  108. package/src/core/commands/tests.md +1 -1
  109. package/src/core/commands/update.md +1 -1
  110. package/src/core/commands/validate-expertise.md +1 -1
  111. package/src/core/commands/velocity.md +1 -1
  112. package/src/core/commands/verify.md +1 -1
  113. package/src/core/commands/whats-new.md +1 -1
  114. package/src/core/commands/workflow.md +1 -1
  115. package/tools/cli/installers/ide/codex.js +12 -4
  116. package/tools/cli/lib/content-injector.js +23 -4
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Start a team from a template
3
- argument-hint: <template-name>
3
+ argument-hint: "<template-name>"
4
4
  compact_context:
5
5
  priority: high
6
6
  preserve_rules:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Show team member statuses and tasks
3
- argument-hint: (no arguments)
3
+ argument-hint: "(no arguments)"
4
4
  compact_context:
5
5
  priority: medium
6
6
  preserve_rules:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Gracefully shut down a team
3
- argument-hint: (no arguments)
3
+ argument-hint: "(no arguments)"
4
4
  compact_context:
5
5
  priority: high
6
6
  preserve_rules:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Create and manage custom document templates
3
- argument-hint: ACTION=create|edit|list|use [TYPE=story|epic|adr|custom] [NAME=<name>]
3
+ argument-hint: "ACTION=create|edit|list|use [TYPE=story|epic|adr|custom] [NAME=<name>]"
4
4
  compact_context:
5
5
  priority: high
6
6
  preserve_rules:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Set up automated testing infrastructure
3
- argument-hint: (no arguments)
3
+ argument-hint: "(no arguments)"
4
4
  compact_context:
5
5
  priority: high
6
6
  preserve_rules:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Generate stakeholder progress report
3
- argument-hint: [PERIOD=week|sprint|month|quarter] [AUDIENCE=exec|client|team|board] [FORMAT=email|markdown]
3
+ argument-hint: "[PERIOD=week|sprint|month|quarter] [AUDIENCE=exec|client|team|board] [FORMAT=email|markdown]"
4
4
  compact_context:
5
5
  priority: high
6
6
  preserve_rules:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Validate expertise files for drift and staleness
3
- argument-hint: [<domain>]
3
+ argument-hint: "[<domain>]"
4
4
  model: haiku
5
5
  compact_context:
6
6
  priority: medium
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Track velocity and forecast sprint capacity
3
- argument-hint: [PERIOD=week|sprint|month|all] [FORECAST=<EP-ID>] [FORMAT=report|chart|json]
3
+ argument-hint: "[PERIOD=week|sprint|month|all] [FORECAST=<EP-ID>] [FORMAT=report|chart|json]"
4
4
  model: haiku
5
5
  compact_context:
6
6
  priority: medium
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run project tests and update story test status
3
- argument-hint: [<US-ID>]
3
+ argument-hint: "[<US-ID>]"
4
4
  compact_context:
5
5
  priority: critical
6
6
  preserve_rules:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Show what's new in AgileFlow
3
- argument-hint: (no arguments)
3
+ argument-hint: "(no arguments)"
4
4
  compact_context:
5
5
  priority: low
6
6
  preserve_rules:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Define and run parameterized workflow templates
3
- argument-hint: <template> [<arguments>]
3
+ argument-hint: "<template> [<arguments>]"
4
4
  compact_context:
5
5
  priority: normal
6
6
  preserve_rules:
@@ -92,6 +92,12 @@ class CodexSetup extends BaseIdeSetup {
92
92
  // Replace Claude-specific references using content-transformer
93
93
  bodyContent = replaceReferences(bodyContent, IDE_REPLACEMENTS.codex);
94
94
 
95
+ // Replace /agileflow: prefix and all subsequent colons for Codex compatibility
96
+ // e.g., /agileflow:story:list → $agileflow-story-list
97
+ bodyContent = bodyContent.replace(/\/agileflow:([a-zA-Z0-9:_-]+)/g, (_match, rest) => {
98
+ return '$agileflow-' + rest.replace(/:/g, '-');
99
+ });
100
+
95
101
  return `---
96
102
  ${skillFrontmatter}
97
103
  ---
@@ -115,10 +121,12 @@ ${codexHeader}${bodyContent}`;
115
121
  let bodyContent = stripFrontmatter(content);
116
122
 
117
123
  // Replace Claude-specific references using content-transformer
118
- // Use codex replacements plus command-specific pattern
119
- bodyContent = replaceReferences(bodyContent, {
120
- ...IDE_REPLACEMENTS.codex,
121
- '/agileflow:': '$agileflow-',
124
+ bodyContent = replaceReferences(bodyContent, IDE_REPLACEMENTS.codex);
125
+
126
+ // Replace /agileflow: prefix and all subsequent colons for Codex compatibility
127
+ // e.g., /agileflow:story:list $agileflow-story-list
128
+ bodyContent = bodyContent.replace(/\/agileflow:([a-zA-Z0-9:_-]+)/g, (_match, rest) => {
129
+ return '$agileflow-' + rest.replace(/:/g, '-');
122
130
  });
123
131
 
124
132
  // Add Codex prompt header
@@ -492,6 +492,19 @@ function injectContent(content, context = {}) {
492
492
 
493
493
  let result = content;
494
494
 
495
+ // Multi-line list placeholders can corrupt YAML if injected into frontmatter.
496
+ // Keep frontmatter untouched for these placeholders and inject only in body.
497
+ const replaceInBodyOnly = (input, replacer) => {
498
+ const frontmatterMatch = input.match(/^(---\n[\s\S]*?\n---\n?)([\s\S]*)$/);
499
+ if (!frontmatterMatch) {
500
+ return replacer(input);
501
+ }
502
+
503
+ const frontmatter = frontmatterMatch[1];
504
+ const body = frontmatterMatch[2];
505
+ return `${frontmatter}${replacer(body)}`;
506
+ };
507
+
495
508
  // Expand preserve rules placeholders first (YAML frontmatter processing)
496
509
  if (coreDir && fs.existsSync(coreDir) && result.includes('{{RULES:')) {
497
510
  result = expandPreserveRules(result, coreDir);
@@ -529,14 +542,20 @@ function injectContent(content, context = {}) {
529
542
  if (coreDir && fs.existsSync(coreDir)) {
530
543
  if (result.includes('{{AGENT_LIST}}')) {
531
544
  const agentList = generateAgentList(path.join(coreDir, 'agents'));
532
- result = result.replace(/<!-- \{\{AGENT_LIST\}\} -->/g, agentList);
533
- result = result.replace(/\{\{AGENT_LIST\}\}/g, agentList);
545
+ result = replaceInBodyOnly(result, body => {
546
+ let updated = body.replace(/<!-- \{\{AGENT_LIST\}\} -->/g, agentList);
547
+ updated = updated.replace(/\{\{AGENT_LIST\}\}/g, agentList);
548
+ return updated;
549
+ });
534
550
  }
535
551
 
536
552
  if (result.includes('{{COMMAND_LIST}}')) {
537
553
  const commandList = generateCommandList(path.join(coreDir, 'commands'));
538
- result = result.replace(/<!-- \{\{COMMAND_LIST\}\} -->/g, commandList);
539
- result = result.replace(/\{\{COMMAND_LIST\}\}/g, commandList);
554
+ result = replaceInBodyOnly(result, body => {
555
+ let updated = body.replace(/<!-- \{\{COMMAND_LIST\}\} -->/g, commandList);
556
+ updated = updated.replace(/\{\{COMMAND_LIST\}\}/g, commandList);
557
+ return updated;
558
+ });
540
559
  }
541
560
 
542
561
  // Replace session harness template placeholder