Skip to content

feat(jetbrains): visible CLI download/bundled mode + skill to pin/unpin/update - #12895

Merged
kirillk merged 7 commits into
mainfrom
rapid-empress
Aug 5, 2026
Merged

feat(jetbrains): visible CLI download/bundled mode + skill to pin/unpin/update#12895
kirillk merged 7 commits into
mainfrom
rapid-empress

Conversation

@kirillk

@kirillk kirillk commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

What changed

CLI mode visibility (backend + frontend)

  • Backend now logs a clear one-line statement when resolving Core: BUNDLED (extracted from the plugin's bundled resources) vs DOWNLOAD (fetched from the GitHub release).
  • Logs distinctly when a cached/extracted binary is reused, so it's obvious no download or extraction happened.
  • New cliBundled() RPC lets the frontend Core-info popup prefix the version with "Bundled" when Core wasn't downloaded.

jetbrains-cli-pin skill: fix repo-CLI generation under IDE-launched Gradle

  • In unpinned (repo CLI) mode, :backend:generateOpenApiSpec and :backend:buildRepoCli shell out to bun. IDE-launched Gradle runs (e.g. Run IDE (Split Mode)) can have a stripped PATH where bun isn't resolvable, failing with A problem occurred starting process command 'bun'.
  • unpin/regen now write an ignored, worktree-local Bun path hint (packages/kilo-jetbrains/.gradle/kilo-cli-pin.properties) that backend/build.gradle.kts resolves and passes as an absolute path to the affected tasks.
  • pin removes the hint since pinned mode doesn't depend on local Bun.

Why

  • Debugging CLI download vs. cache vs. bundled behavior was previously opaque in the backend log.
  • Users had no visual indicator in the Core popup that they were running a bundled (non-downloaded) Core version.
  • Running JetBrains dev configs (Split Mode / Backend / Frontend) with kilo.cli.pinned=false failed outside a shell environment where bun happened to be on PATH.

Verification

  • ./gradlew typecheck and full :backend:test / :frontend:test suites pass in both pinned and unpinned modes.
  • Reproduced the original IDE failure with a restricted PATH (PATH="/usr/bin:/bin") and confirmed :backend:generateOpenApiSpec now succeeds using the written Bun path hint.
  • Exercised the jetbrains-cli-pin skill's pin, unpin, and regen commands end-to-end.

kirillk added 3 commits August 4, 2026 19:28
Add a skill that pins the JetBrains plugin to the latest released CLI,
unpins to the local repo CLI, or fresh-regenerates the local CLI. Every
command first cleans all leftover CLI binaries and build artifacts in the
current worktree so each run starts from a fresh, artifact-free state.

Reuses the release-jetbrains set-pin/pin-common helpers for validated
version bumps and cross-links the skill from the JetBrains AGENTS.md.
…version

Backend now logs a clear one-line mode statement when resolving Core
(BUNDLED vs DOWNLOAD), and logs distinctly when a cached/extracted
binary is reused so no download or extraction happens. Adds a
cliBundled() RPC so the frontend Core-info popup can prefix the
version with "Bundled" when Core wasn't downloaded.
…adle runs

IDE-launched Gradle runs (e.g. Run IDE Split Mode) can have a stripped
PATH where 'bun' isn't resolvable, so :backend:generateOpenApiSpec and
:backend:buildRepoCli failed with 'A problem occurred starting process
command bun' in repo-CLI (unpinned) mode.

The jetbrains-cli-pin skill's unpin/regen commands now write an
ignored, worktree-local Bun path hint (.gradle/kilo-cli-pin.properties)
that backend/build.gradle.kts resolves and passes as an absolute path
to the affected tasks. pin removes the hint since pinned mode doesn't
depend on local Bun.
Comment thread .kilo/skills/jetbrains-cli-pin/SKILL.md Outdated
Comment thread .kilo/skills/jetbrains-cli-pin/script/cli-pin.ts Outdated
@kilo-code-bot

kilo-code-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Incremental review of ca421f8..f035c871: the single new commit f035c871 resolves both previous findings — the broken sentence in the SKILL.md "Bun Path Hint" section is repaired, and cli-pin.ts now uses Bun.which("bun") ?? process.execPath instead of the unsupported command -v bun shell lookup. The updated code is clean; no new issues found.

Files Reviewed (2 files, incremental)
  • .kilo/skills/jetbrains-cli-pin/SKILL.md
  • .kilo/skills/jetbrains-cli-pin/script/cli-pin.ts
Previous Review Summaries (2 snapshots, latest commit ca421f8)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit ca421f8)

Status: 2 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 1
SUGGESTION 1
Issue Details (click to expand)

WARNING

File Line Issue
.kilo/skills/jetbrains-cli-pin/SKILL.md 67 Broken sentence in "Bun Path Hint" section ("IDE-launched Gradle runs can have worktree-local hint:")

SUGGESTION

File Line Issue
.kilo/skills/jetbrains-cli-pin/script/cli-pin.ts 57 Prefer Bun.which("bun") over command -v bun in the $ shell
Files Reviewed (36 files)
  • .changeset/jetbrains-cli-mode-visibility.md
  • .kilo/skills/jetbrains-cli-pin/SKILL.md - 1 issue
  • .kilo/skills/jetbrains-cli-pin/script/clean.ts
  • .kilo/skills/jetbrains-cli-pin/script/cli-pin.ts - 1 issue
  • packages/kilo-jetbrains/AGENTS.md
  • packages/kilo-jetbrains/backend/build.gradle.kts
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/cli/KiloBackendCliManager.kt
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/cli/KiloCliDownloader.kt
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/cli/KiloRepoCli.kt
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/rpc/KiloAppRpcApiImpl.kt
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/cli/KiloCliDownloaderTest.kt
  • packages/kilo-jetbrains/build-tasks/src/main/kotlin/GenerateOpenApiSpecTask.kt
  • packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/CoreInfoAction.kt
  • packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/app/KiloAppService.kt
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties
  • packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/KiloRecoveryActionsTest.kt
  • packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/testing/FakeAppRpcApi.kt
  • packages/kilo-jetbrains/shared/src/main/kotlin/ai/kilocode/rpc/KiloAppRpcApi.kt

Fix these issues in Kilo Cloud

Previous review (commit 7ee1909)

Status: 2 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 1
SUGGESTION 1
Issue Details (click to expand)

WARNING

File Line Issue
.kilo/skills/jetbrains-cli-pin/SKILL.md 67 Broken sentence in "Bun Path Hint" section ("IDE-launched Gradle runs can have worktree-local hint:")

SUGGESTION

File Line Issue
.kilo/skills/jetbrains-cli-pin/script/cli-pin.ts 57 Prefer Bun.which("bun") over command -v bun in the $ shell
Files Reviewed (18 files)
  • .changeset/jetbrains-cli-mode-visibility.md
  • .kilo/skills/jetbrains-cli-pin/SKILL.md - 1 issue
  • .kilo/skills/jetbrains-cli-pin/script/clean.ts
  • .kilo/skills/jetbrains-cli-pin/script/cli-pin.ts - 1 issue
  • packages/kilo-jetbrains/AGENTS.md
  • packages/kilo-jetbrains/backend/build.gradle.kts
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/cli/KiloBackendCliManager.kt
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/cli/KiloCliDownloader.kt
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/cli/KiloRepoCli.kt
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/rpc/KiloAppRpcApiImpl.kt
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/cli/KiloCliDownloaderTest.kt
  • packages/kilo-jetbrains/build-tasks/src/main/kotlin/GenerateOpenApiSpecTask.kt
  • packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/CoreInfoAction.kt
  • packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/app/KiloAppService.kt
  • packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties
  • packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/KiloRecoveryActionsTest.kt
  • packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/testing/FakeAppRpcApi.kt
  • packages/kilo-jetbrains/shared/src/main/kotlin/ai/kilocode/rpc/KiloAppRpcApi.kt

Fix these issues in Kilo Cloud


Reviewed by kimi-k3 · Input: 41.9K · Output: 5K · Cached: 283.6K

Review guidance: REVIEW.md from base branch main

@kirillk kirillk changed the title feat(jetbrains): visible CLI download/bundled mode + Bun path fix for repo CLI feat(jetbrains): visible CLI download/bundled mode + skill to pin/unpin/update Aug 5, 2026
kirillk and others added 2 commits August 5, 2026 11:30
…lookup

Addresses PR review: repairs the broken sentence in the SKILL.md Bun Path
Hint section and replaces the dead 'command -v bun' lookup (not a Bun $
shell builtin) with native Bun.which.
@kirillk
kirillk merged commit b1d014c into main Aug 5, 2026
30 checks passed
@kirillk
kirillk deleted the rapid-empress branch August 5, 2026 16:20
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
feat(jetbrains): visible CLI download/bundled mode + skill to pin/unpin/update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants