jetbrains-cli-pin

Pin or unpin the CLI version bundled with the Kilo JetBrains plugin.

27.1k|3.1k|Updated Mar 10, 2025
One-click install
npx skills add https://github.com/Kilo-Org/kilocode --skill jetbrains-cli-pin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jetbrains-cli-pin
Source: https://github.com/Kilo-Org/kilocode/tree/main/.kilo/skills/jetbrains-cli-pin
Command: npx skills add https://github.com/Kilo-Org/kilocode --skill jetbrains-cli-pin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Switching the Kilo JetBrains plugin between a pinned released CLI and a locally built repo CLI leaves stale binaries and build artifacts behind, causing the plugin to silently bundle or download the wrong CLI. This Skill automates the pin, unpin, and regeneration workflow while cleaning all leftover artifacts so every operation starts from a fresh state.

Core Features & Use Cases

  • Pin to latest release: Sets kilo.cli.pinned=true, bumps package.json to the latest validated CLI release, and verifies with a cold Gradle build.
  • Unpin to local CLI: Sets kilo.cli.pinned=false, writes a Bun path hint for IDE-launched Gradle, builds and stages the repo CLI, then verifies with typecheck.
  • Fast regen loop: Rebuilds and restages the local CLI while unpinned for rapid development iteration.
  • Use Case: Before cutting a JetBrains plugin release, run the pin command to switch from local dev CLI to the latest released CLI and confirm the build passes cleanly.

Quick Start

Ask the agent to pin the JetBrains plugin to the latest released CLI and verify the build from the repository root.

Frequently Asked Questions about jetbrains-cli-pin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pin the Kilo JetBrains plugin to the latest CLI release?

Run bun .kilo/skills/jetbrains-cli-pin/script/cli-pin.ts pin from the repository root. It cleans artifacts, sets kilo.cli.pinned=true, bumps package.json to the latest validated release, and verifies with a cold Gradle build.

How do I use the local repo CLI in the JetBrains plugin?

Run the unpin command, which sets kilo.cli.pinned=false, writes a Bun path hint for Gradle, builds the repo CLI via :backend:buildRepoCli, and stages it with :backend:stageRepoCli. Verification runs gradlew typecheck.

Can I run the pin command offline or without Java 21?

Yes, pass --no-verify to skip the Gradle verification build so only the rewrites and clean run. The full pin verification needs network access to download the CLI release and requires Java 21.

Why does the JetBrains plugin bundle the wrong CLI after switching modes?

A stale kilo-cli.zip left in backend/build/resources survives incremental builds, and runtime prefers the bundled zip over downloading. The skill's clean step runs gradlew clean plus targeted deletes to remove all leaked artifacts.

When should I use regen instead of unpin?

Use regen for fast development iterations while already unpinned; it rebuilds and restages the local CLI without flipping pin state. It refuses to run when kilo.cli.pinned=true, so run unpin first.