packages/kilo-jetbrains/docs/bundled-release-plan.md
Ship a signed, all-platform, CLI-bundled build of the Kilo JetBrains plugin to a GitHub-hosted custom plugin repository, as an alternative to the JetBrains Marketplace, which caps plugin ZIPs at 400 MB. The Marketplace build stays lean and downloads the CLI at runtime; the bundled build embeds every platform's CLI so it works offline or on restricted networks.
updatePlugins.xml via GitHub Pages deployed by Actions.updatePlugins.xml, updated on stable releases only.publish-jetbrains succeeds.kilo-cli.zip resource. Do not add a kilo.properties flag, and do not edit committed files for a bundled build.jetbrains/v<version> tag, the same source, and kilo.cli.pinned=true.-Pkilo.cli.bundled=true.kilo.properties stays byte-identical between Marketplace and bundled builds. The only build-output difference is whether kilo-cli.zip is embedded in the backend jar.kilo.cli.pinned keeps its existing meaning: which CLI version / OpenAPI source / release guard. It does not control runtime delivery.KiloRepoCli.available() to detect kilo-cli.zip on the classpath.KiloBackendCliManager.resolveCli() to extract when KiloRepoCli.available() is true; otherwise download the pinned release asset.<platform>/bin/kilo[.exe] for all six platforms: darwin-arm64, darwin-x64, linux-arm64, linux-x64, windows-arm64, windows-x64.kilo.cli.bundled, defaulting to false.kilo.cli.pinned=true for bundled production builds.sha256 digests from release metadata, and assembles kilo-cli.zip as a backend resource.-Pkilo.cli.bundled=true or local repo CLI mode is active.kilo.cli.pinned=false intact.Bundled build command:
./gradlew clean buildPlugin signPlugin verifyPluginSignature verifyPlugin \
-Pproduction=true -Pkilo.version=<version> -Pkilo.channel=default \
-Pkilo.cli.bundled=true
.github/workflows/publish-jetbrains-bundled.yml.publish-jetbrains.yml that dispatches the bundle workflow with the merged release PR and merge commit.jetbrains/v<version> tag, restores reviewed release metadata, builds the bundled variant, signs it, verifies it, and uploads kilo-code-<version>-bundled.zip to the same GitHub Release.jetbrains/updatePlugins.xml from the signed bundled ZIP metadata on stable releases.https://kilo-org.github.io/kilocode/jetbrains/updatePlugins.xml.kilo.cli.pinned=true, and differ only by -Pkilo.cli.bundled=true.jetbrains/v<version> release.kilo-cli.zip is present.updatePlugins.xml with the latest bundled signed ZIP URL.