|
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) |
@@ -201,20 +201,22 @@ agent: $basename |
201 | 201 | } |
202 | 202 | } |
203 | 203 |
|
204 | | -# Create Kimi Code skills in .kimi/skills/<name>/SKILL.md format. |
205 | | -# Kimi CLI discovers skills as directories containing a SKILL.md file, |
206 | | -# invoked with /skill:<name> (e.g. /skill:speckit.specify). |
207 | | -function New-KimiSkills { |
| 204 | +# Create skills in <skills_dir>\<name>\SKILL.md format. |
| 205 | +# Most agents use hyphenated names (e.g. speckit-plan); Kimi is the |
| 206 | +# current dotted-name exception (e.g. speckit.plan). |
| 207 | +function New-Skills { |
208 | 208 | param( |
209 | 209 | [string]$SkillsDir, |
210 | | - [string]$ScriptVariant |
| 210 | + [string]$ScriptVariant, |
| 211 | + [string]$AgentName, |
| 212 | + [string]$Separator = '-' |
211 | 213 | ) |
212 | 214 |
|
213 | 215 | $templates = Get-ChildItem -Path "templates/commands/*.md" -File -ErrorAction SilentlyContinue |
214 | 216 |
|
215 | 217 | foreach ($template in $templates) { |
216 | 218 | $name = [System.IO.Path]::GetFileNameWithoutExtension($template.Name) |
217 | | - $skillName = "speckit.$name" |
| 219 | + $skillName = "speckit${Separator}$name" |
218 | 220 | $skillDir = Join-Path $SkillsDir $skillName |
219 | 221 | New-Item -ItemType Directory -Force -Path $skillDir | Out-Null |
220 | 222 |
|
@@ -267,7 +269,7 @@ function New-KimiSkills { |
267 | 269 |
|
268 | 270 | $body = $outputLines -join "`n" |
269 | 271 | $body = $body -replace '\{ARGS\}', '$ARGUMENTS' |
270 | | - $body = $body -replace '__AGENT__', 'kimi' |
| 272 | + $body = $body -replace '__AGENT__', $AgentName |
271 | 273 | $body = Rewrite-Paths -Content $body |
272 | 274 |
|
273 | 275 | # Strip existing frontmatter, keep only body |
@@ -395,9 +397,14 @@ function Build-Variant { |
395 | 397 | $cmdDir = Join-Path $baseDir ".windsurf/workflows" |
396 | 398 | Generate-Commands -Agent 'windsurf' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script |
397 | 399 | } |
| 400 | + 'junie' { |
| 401 | + $cmdDir = Join-Path $baseDir ".junie/commands" |
| 402 | + Generate-Commands -Agent 'junie' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script |
| 403 | + } |
398 | 404 | 'codex' { |
399 | | - $cmdDir = Join-Path $baseDir ".codex/prompts" |
400 | | - Generate-Commands -Agent 'codex' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script |
| 405 | + $skillsDir = Join-Path $baseDir ".agents/skills" |
| 406 | + New-Item -ItemType Directory -Force -Path $skillsDir | Out-Null |
| 407 | + New-Skills -SkillsDir $skillsDir -ScriptVariant $Script -AgentName 'codex' -Separator '-' |
401 | 408 | } |
402 | 409 | 'kilocode' { |
403 | 410 | $cmdDir = Join-Path $baseDir ".kilocode/workflows" |
@@ -452,7 +459,7 @@ function Build-Variant { |
452 | 459 | 'kimi' { |
453 | 460 | $skillsDir = Join-Path $baseDir ".kimi/skills" |
454 | 461 | New-Item -ItemType Directory -Force -Path $skillsDir | Out-Null |
455 | | - New-KimiSkills -SkillsDir $skillsDir -ScriptVariant $Script |
| 462 | + New-Skills -SkillsDir $skillsDir -ScriptVariant $Script -AgentName 'kimi' -Separator '.' |
456 | 463 | } |
457 | 464 | 'trae' { |
458 | 465 | $rulesDir = Join-Path $baseDir ".trae/rules" |
@@ -483,7 +490,7 @@ function Build-Variant { |
483 | 490 | } |
484 | 491 |
|
485 | 492 | # Define all agents and scripts |
486 | | -$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') |
| 493 | +$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') |
487 | 494 | $AllScripts = @('sh', 'ps') |
488 | 495 |
|
489 | 496 | function Normalize-List { |
|
0 commit comments