Skip to content

Commit 34171ef

Browse files
authored
Add support for Junie (#1831)
* Add support for Junie * Add Junie agent configuration to specify-cli * Add support for iflow agent in context update scripts
1 parent c8af730 commit 34171ef

File tree

10 files changed

+68
-31
lines changed

10 files changed

+68
-31
lines changed

.devcontainer/post-create.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ echo -e "\n🤖 Installing OpenCode CLI..."
5151
run_command "npm install -g opencode-ai@latest"
5252
echo "✅ Done"
5353

54+
echo -e "\n🤖 Installing Junie CLI..."
55+
run_command "npm install -g @jetbrains/junie-cli@latest"
56+
echo "✅ Done"
57+
5458
echo -e "\n🤖 Installing Pi Coding Agent..."
5559
run_command "npm install -g @mariozechner/pi-coding-agent@latest"
5660
echo "✅ Done"

.github/workflows/scripts/create-github-release.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ gh release create "$VERSION" \
3030
.genreleases/spec-kit-template-qwen-ps-"$VERSION".zip \
3131
.genreleases/spec-kit-template-windsurf-sh-"$VERSION".zip \
3232
.genreleases/spec-kit-template-windsurf-ps-"$VERSION".zip \
33+
.genreleases/spec-kit-template-junie-sh-"$VERSION".zip \
34+
.genreleases/spec-kit-template-junie-ps-"$VERSION".zip \
3335
.genreleases/spec-kit-template-codex-sh-"$VERSION".zip \
3436
.genreleases/spec-kit-template-codex-ps-"$VERSION".zip \
3537
.genreleases/spec-kit-template-kilocode-sh-"$VERSION".zip \

.github/workflows/scripts/create-release-packages.ps1

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
1515
.PARAMETER Agents
1616
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
1818
1919
.PARAMETER Scripts
2020
Comma or space separated subset of script types to build (default: both)
@@ -397,6 +397,10 @@ function Build-Variant {
397397
$cmdDir = Join-Path $baseDir ".windsurf/workflows"
398398
Generate-Commands -Agent 'windsurf' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script
399399
}
400+
'junie' {
401+
$cmdDir = Join-Path $baseDir ".junie/commands"
402+
Generate-Commands -Agent 'junie' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script
403+
}
400404
'codex' {
401405
$skillsDir = Join-Path $baseDir ".agents/skills"
402406
New-Item -ItemType Directory -Force -Path $skillsDir | Out-Null
@@ -486,7 +490,7 @@ function Build-Variant {
486490
}
487491

488492
# Define all agents and scripts
489-
$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')
490494
$AllScripts = @('sh', 'ps')
491495

492496
function Normalize-List {

.github/workflows/scripts/create-release-packages.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -euo pipefail
66
# Usage: .github/workflows/scripts/create-release-packages.sh <version>
77
# Version argument should include leading 'v'.
88
# Optionally set AGENTS and/or SCRIPTS env vars to limit what gets built.
9-
# AGENTS : space or comma separated subset of: claude gemini copilot cursor-agent qwen opencode windsurf codex kilocode auggie roo codebuddy amp shai tabnine kiro-cli agy bob vibe qodercli kimi trae pi iflow generic (default: all)
9+
# AGENTS : space or comma separated subset of: claude gemini copilot cursor-agent qwen opencode windsurf junie codex kilocode auggie roo codebuddy amp shai tabnine kiro-cli agy bob vibe qodercli kimi trae pi iflow generic (default: all)
1010
# SCRIPTS : space or comma separated subset of: sh ps (default: both)
1111
# Examples:
1212
# AGENTS=claude SCRIPTS=sh $0 v0.2.0
@@ -250,6 +250,9 @@ build_variant() {
250250
windsurf)
251251
mkdir -p "$base_dir/.windsurf/workflows"
252252
generate_commands windsurf md "\$ARGUMENTS" "$base_dir/.windsurf/workflows" "$script" ;;
253+
junie)
254+
mkdir -p "$base_dir/.junie/commands"
255+
generate_commands junie md "\$ARGUMENTS" "$base_dir/.junie/commands" "$script" ;;
253256
codex)
254257
mkdir -p "$base_dir/.agents/skills"
255258
create_skills "$base_dir/.agents/skills" "$script" "codex" "-" ;;
@@ -311,7 +314,7 @@ build_variant() {
311314
}
312315

313316
# Determine agent list
314-
ALL_AGENTS=(claude gemini copilot cursor-agent qwen opencode windsurf codex kilocode auggie roo codebuddy amp shai tabnine kiro-cli agy bob vibe qodercli kimi trae pi iflow generic)
317+
ALL_AGENTS=(claude gemini copilot cursor-agent qwen opencode windsurf junie codex kilocode auggie roo codebuddy amp shai tabnine kiro-cli agy bob vibe qodercli kimi trae pi iflow generic)
315318
ALL_SCRIPTS=(sh ps)
316319

317320
norm_list() {

AGENTS.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Specify supports multiple AI agents by generating agent-specific command files a
3535
| **opencode** | `.opencode/command/` | Markdown | `opencode` | opencode CLI |
3636
| **Codex CLI** | `.codex/prompts/` | Markdown | `codex` | Codex CLI |
3737
| **Windsurf** | `.windsurf/workflows/` | Markdown | N/A (IDE-based) | Windsurf IDE workflows |
38+
| **Junie** | `.junie/commands/` | Markdown | `junie` | Junie by JetBrains |
3839
| **Kilo Code** | `.kilocode/workflows/` | Markdown | N/A (IDE-based) | Kilo Code IDE |
3940
| **Auggie CLI** | `.augment/commands/` | Markdown | `auggie` | Auggie CLI |
4041
| **Roo Code** | `.roo/commands/` | Markdown | N/A (IDE-based) | Roo Code IDE |
@@ -318,6 +319,7 @@ Require a command-line tool to be installed:
318319
- **Cursor**: `cursor-agent` CLI
319320
- **Qwen Code**: `qwen` CLI
320321
- **opencode**: `opencode` CLI
322+
- **Junie**: `junie` CLI
321323
- **Kiro CLI**: `kiro-cli` CLI
322324
- **CodeBuddy CLI**: `codebuddy` CLI
323325
- **Qoder CLI**: `qodercli` CLI
@@ -339,7 +341,7 @@ Work within integrated development environments:
339341

340342
### Markdown Format
341343

342-
Used by: Claude, Cursor, opencode, Windsurf, Kiro CLI, Amp, SHAI, IBM Bob, Kimi Code, Qwen, Pi
344+
Used by: Claude, Cursor, opencode, Windsurf, Junie, Kiro CLI, Amp, SHAI, IBM Bob, Kimi Code, Qwen, Pi
343345

344346
**Standard format:**
345347

README.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ See Spec-Driven Development in action across different scenarios with these comm
190190
| [Kimi Code](https://code.kimi.com/) || |
191191
| [iFlow CLI](https://docs.iflow.cn/en/cli/quickstart) || |
192192
| [Windsurf](https://windsurf.com/) || |
193+
| [Junie](https://junie.jetbrains.com/) || |
193194
| [Antigravity (agy)](https://antigravity.google/) || Requires `--ai-skills` |
194195
| [Trae](https://www.trae.ai/) || |
195196
| Generic || Bring your own agent — use `--ai generic --ai-commands-dir <path>` for unsupported agents |
@@ -200,27 +201,27 @@ The `specify` command supports the following options:
200201

201202
### Commands
202203

203-
| Command | Description |
204-
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
205-
| `init` | Initialize a new Specify project from the latest template |
206-
| `check` | Check for installed tools: `git` plus all CLI-based agents configured in `AGENT_CONFIG` (for example: `claude`, `gemini`, `code`/`code-insiders`, `cursor-agent`, `windsurf`, `qwen`, `opencode`, `codex`, `kiro-cli`, `shai`, `qodercli`, `vibe`, `kimi`, `iflow`, `pi`, etc.) |
204+
| Command | Description |
205+
| ------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
206+
| `init` | Initialize a new Specify project from the latest template |
207+
| `check` | Check for installed tools: `git` plus all CLI-based agents configured in `AGENT_CONFIG` (for example: `claude`, `gemini`, `code`/`code-insiders`, `cursor-agent`, `windsurf`, `junie`, `qwen`, `opencode`, `codex`, `kiro-cli`, `shai`, `qodercli`, `vibe`, `kimi`, `iflow`, `pi`, etc.) |
207208

208209
### `specify init` Arguments & Options
209210

210-
| Argument/Option | Type | Description |
211-
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
212-
| `<project-name>` | Argument | Name for your new project directory (optional if using `--here`, or use `.` for current directory) |
213-
| `--ai` | Option | AI assistant to use (see `AGENT_CONFIG` for the full, up-to-date list). Common options include: `claude`, `gemini`, `copilot`, `cursor-agent`, `qwen`, `opencode`, `codex`, `windsurf`, `kilocode`, `auggie`, `roo`, `codebuddy`, `amp`, `shai`, `kiro-cli` (`kiro` alias), `agy`, `bob`, `qodercli`, `vibe`, `kimi`, `iflow`, `pi`, or `generic` (requires `--ai-commands-dir`) |
214-
| `--ai-commands-dir` | Option | Directory for agent command files (required with `--ai generic`, e.g. `.myagent/commands/`) |
215-
| `--script` | Option | Script variant to use: `sh` (bash/zsh) or `ps` (PowerShell) |
216-
| `--ignore-agent-tools` | Flag | Skip checks for AI agent tools like Claude Code |
217-
| `--no-git` | Flag | Skip git repository initialization |
218-
| `--here` | Flag | Initialize project in the current directory instead of creating a new one |
219-
| `--force` | Flag | Force merge/overwrite when initializing in current directory (skip confirmation) |
220-
| `--skip-tls` | Flag | Skip SSL/TLS verification (not recommended) |
221-
| `--debug` | Flag | Enable detailed debug output for troubleshooting |
222-
| `--github-token` | Option | GitHub token for API requests (or set GH_TOKEN/GITHUB_TOKEN env variable) |
223-
| `--ai-skills` | Flag | Install Prompt.MD templates as agent skills in agent-specific `skills/` directory (requires `--ai`) |
211+
| Argument/Option | Type | Description |
212+
| ---------------------- | -------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
213+
| `<project-name>` | Argument | Name for your new project directory (optional if using `--here`, or use `.` for current directory) |
214+
| `--ai` | Option | AI assistant to use (see `AGENT_CONFIG` for the full, up-to-date list). Common options include: `claude`, `gemini`, `copilot`, `cursor-agent`, `qwen`, `opencode`, `codex`, `windsurf`, `junie`, `kilocode`, `auggie`, `roo`, `codebuddy`, `amp`, `shai`, `kiro-cli` (`kiro` alias), `agy`, `bob`, `qodercli`, `vibe`, `kimi`, `iflow`, `pi`, or `generic` (requires `--ai-commands-dir`) |
215+
| `--ai-commands-dir` | Option | Directory for agent command files (required with `--ai generic`, e.g. `.myagent/commands/`) |
216+
| `--script` | Option | Script variant to use: `sh` (bash/zsh) or `ps` (PowerShell) |
217+
| `--ignore-agent-tools` | Flag | Skip checks for AI agent tools like Claude Code |
218+
| `--no-git` | Flag | Skip git repository initialization |
219+
| `--here` | Flag | Initialize project in the current directory instead of creating a new one |
220+
| `--force` | Flag | Force merge/overwrite when initializing in current directory (skip confirmation) |
221+
| `--skip-tls` | Flag | Skip SSL/TLS verification (not recommended) |
222+
| `--debug` | Flag | Enable detailed debug output for troubleshooting |
223+
| `--github-token` | Option | GitHub token for API requests (or set GH_TOKEN/GITHUB_TOKEN env variable) |
224+
| `--ai-skills` | Flag | Install Prompt.MD templates as agent skills in agent-specific `skills/` directory (requires `--ai`) |
224225

225226
### Examples
226227

0 commit comments

Comments
 (0)