
Jetbrains CLI Pin
Use when pinning or unpinning the CLI version the Kilo JetBrains plugin uses, or...
Install
npx skills add Kilo-Org/kilocode --skill jetbrains-cli-pin -g -a claude-code -y- Repository
- Kilo-Org/kilocode27.8k
- Category
- Engineering
- Updated
- 4d ago
- License
- MIT
- Context cost
- Lightabout 1,120 tokens
- Runs scripts
- Yes, review before use
What it does
Use when pinning or unpinning the CLI version the Kilo JetBrains plugin uses, or fresh-regenerating the local repo CLI. Cleans all leftover CLI binaries and build artifacts in the current worktree so every operation starts from a fresh, artifact-free state.
JetBrains CLI Pin
Pin the Kilo JetBrains plugin to the latest released CLI, unpin it to use the local repo CLI, or fresh-regenerate the local CLI while unpinned. Every command first cleans all CLI/pin build artifacts and binaries in the current worktree so the result never carries state from a previous run.
Run all commands from the repository root of the worktree you want to affect. Paths are relative, so they resolve to the current worktree, not the main checkout.
Two Controls
The plugin's CLI behavior is governed by two independent values:
| Control | Location | Meaning |
|---|---|---|
| Pin mode | packages/kilo-jetbrains/gradle.properties -> kilo.cli.pinned | true = download the released CLI at build/connect time. false = build and bundle the local repo CLI. |
| Pinned version | packages/kilo-jetbrains/package.json -> version | Which GitHub CLI release is downloaded and generated from when pinned=true. |
"Pin to latest" means kilo.cli.pinned=true and package.json set to the latest
stable CLI release. "Unpin" means kilo.cli.pinned=false with a freshly built local CLI
bundled.
Commands
bun .kilo/skills/jetbrains-cli-pin/script/cli-pin.ts <command> [--no-verify]
| Command | Steps |
|---|---|
pin | Clean -> set kilo.cli.pinned=true -> remove the repo-CLI Bun path hint -> bump package.json to latest release (via set-pin.ts --latest, which validates release assets) -> verify with a cold gradlew clean typecheck. |
unpin | Clean -> set kilo.cli.pinned=false -> write the repo-CLI Bun path hint -> :backend:buildRepoCli (fresh CLI) -> :backend:stageRepoCli -> assert staged kilo-cli.zip -> verify with gradlew typecheck. |
regen | Fast dev loop while unpinned: refresh the repo-CLI Bun path hint -> rm -rf dist -> buildRepoCli -> stageRepoCli. Refuses to run unless kilo.cli.pinned=false. |
clean | Run the shared artifact clean only. |
