mirror of
https://github.com/github/spec-kit.git
synced 2026-08-03 06:26:30 +08:00
kiro-cli confines all of its managed files to an isolated agent root
(`.kiro/`, with commands in `.kiro/prompts`) that no other integration
writes to, so it meets every documented criterion for multi-install
safety — but `KiroCliIntegration` never set `multi_install_safe = True`.
As a result, co-installing kiro-cli alongside any other integration left
`specify integration status` permanently in ERROR:
error unsafe-multi-install: Installed integrations are not all
declared multi-install safe: kiro-cli
`--force` bypasses the install-time gate but does not clear the status
error, and there is no flag or config to acknowledge it, so the error is
permanent while both integrations remain installed.
Set `multi_install_safe = True`. The registry's parametrized
multi-install-safe contract tests (static isolated root, distinct agent
roots / command dirs, disjoint manifests) now cover kiro-cli
automatically, and a focused regression test pins the declaration so a
future edit cannot silently drop it and reintroduce the error.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
"""Kiro CLI integration."""
|
|
|
|
from ..base import MarkdownIntegration
|
|
|
|
|
|
# Kiro CLI file-based prompts do NOT support any argument-substitution syntax,
|
|
# so a raw "$ARGUMENTS" token would reach the model verbatim and break the
|
|
# prompt (issue #1926, kirodotdev/Kiro#4141). Use a prose fallback so the
|
|
# rendered prompt instructs the model to take its argument from the user's
|
|
# next message.
|
|
_KIRO_ARG_FALLBACK = "(the user will provide the argument in this conversation)"
|
|
|
|
|
|
class KiroCliIntegration(MarkdownIntegration):
|
|
key = "kiro-cli"
|
|
multi_install_safe = True
|
|
config = {
|
|
"name": "Kiro CLI",
|
|
"folder": ".kiro/",
|
|
"commands_subdir": "prompts",
|
|
"install_url": "https://kiro.dev/docs/cli/",
|
|
"requires_cli": True,
|
|
}
|
|
registrar_config = {
|
|
"dir": ".kiro/prompts",
|
|
"format": "markdown",
|
|
"args": _KIRO_ARG_FALLBACK,
|
|
"extension": ".md",
|
|
}
|
|
|
|
# Kiro CLI keeps everything under a static, isolated agent root
|
|
# (``.kiro/`` with commands in ``.kiro/prompts``) that no other
|
|
# integration writes to, so it is safe to install alongside others
|
|
# (issue #3471). The registry's multi-install-safe contract tests
|
|
# enforce that isolation for every integration setting this flag.
|
|
multi_install_safe = True
|