|
14 | 14 |
|
15 | 15 | .PARAMETER Agents |
16 | 16 | Comma or space separated subset of agents to build (default: all) |
17 | | - Valid agents: claude, gemini, copilot, cursor-agent, qwen, opencode, windsurf, codex, kilocode, auggie, roo, codebuddy, amp, kiro-cli, bob, qodercli, shai, tabnine, agy, vibe, kimi, trae, pi, iflow, generic |
| 17 | + Valid agents: claude, gemini, copilot, cursor-agent, qwen, opencode, windsurf, junie, codex, kilocode, auggie, roo, codebuddy, amp, kiro-cli, bob, qodercli, shai, tabnine, agy, vibe, kimi, trae, pi, iflow, generic |
18 | 18 |
|
19 | 19 | .PARAMETER Scripts |
20 | 20 | Comma or space separated subset of script types to build (default: both) |
@@ -207,6 +207,10 @@ agent: $basename |
207 | 207 | # Create skills in <skills_dir>\<name>\SKILL.md format. |
208 | 208 | # Most agents use hyphenated names (e.g. speckit-plan); Kimi is the |
209 | 209 | # current dotted-name exception (e.g. speckit.plan). |
| 210 | +# |
| 211 | +# Technical debt note: |
| 212 | +# Keep SKILL.md frontmatter aligned with `install_ai_skills()` and extension |
| 213 | +# overrides (at minimum: name/description/compatibility/metadata.{author,source}). |
210 | 214 | function New-Skills { |
211 | 215 | param( |
212 | 216 | [string]$SkillsDir, |
@@ -288,7 +292,7 @@ function New-Skills { |
288 | 292 | if ($inBody) { $templateBody += "$line`n" } |
289 | 293 | } |
290 | 294 |
|
291 | | - $skillContent = "---`nname: `"$skillName`"`ndescription: `"$description`"`n---`n`n$templateBody" |
| 295 | + $skillContent = "---`nname: `"$skillName`"`ndescription: `"$description`"`ncompatibility: `"Requires spec-kit project structure with .specify/ directory`"`nmetadata:`n author: `"github-spec-kit`"`n source: `"templates/commands/$name.md`"`n---`n`n$templateBody" |
292 | 296 | Set-Content -Path (Join-Path $skillDir "SKILL.md") -Value $skillContent -NoNewline |
293 | 297 | } |
294 | 298 | } |
@@ -400,6 +404,10 @@ function Build-Variant { |
400 | 404 | $cmdDir = Join-Path $baseDir ".windsurf/workflows" |
401 | 405 | Generate-Commands -Agent 'windsurf' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script |
402 | 406 | } |
| 407 | + 'junie' { |
| 408 | + $cmdDir = Join-Path $baseDir ".junie/commands" |
| 409 | + Generate-Commands -Agent 'junie' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script |
| 410 | + } |
403 | 411 | 'codex' { |
404 | 412 | $skillsDir = Join-Path $baseDir ".agents/skills" |
405 | 413 | New-Item -ItemType Directory -Force -Path $skillsDir | Out-Null |
@@ -489,7 +497,7 @@ function Build-Variant { |
489 | 497 | } |
490 | 498 |
|
491 | 499 | # Define all agents and scripts |
492 | | -$AllAgents = @('claude', 'gemini', 'copilot', 'cursor-agent', 'qwen', 'opencode', 'windsurf', 'codex', 'kilocode', 'auggie', 'roo', 'codebuddy', 'amp', 'kiro-cli', 'bob', 'qodercli', 'shai', 'tabnine', 'agy', 'vibe', 'kimi', 'trae', 'pi', 'iflow', 'generic') |
| 500 | +$AllAgents = @('claude', 'gemini', 'copilot', 'cursor-agent', 'qwen', 'opencode', 'windsurf', 'junie', 'codex', 'kilocode', 'auggie', 'roo', 'codebuddy', 'amp', 'kiro-cli', 'bob', 'qodercli', 'shai', 'tabnine', 'agy', 'vibe', 'kimi', 'trae', 'pi', 'iflow', 'generic') |
493 | 501 | $AllScripts = @('sh', 'ps') |
494 | 502 |
|
495 | 503 | function Normalize-List { |
|
0 commit comments