nc://kiro-acp

v0.1.0Pinned
ThomSharkproviders/nodecode-kiro-acp: Kiro (AWS): the Kiro CLI's agent as a Nodecode provider over ACP, signed in through the CLI itself. - a rewrite of tobenwarrior/hermes-kiro-provider (MIT), credited to tobenwarriorfe59dea· 10 Nov1 commit
test1 fileacp.lisp12.3 KBcell.lisp5.6 KBprovider.lisp10.0 KB

nodecode-kiro-acp

Kiro (AWS): the Kiro CLI's agent as a Nodecode provider, over the Agent Client Protocol. A Nodecode rewrite of tobenwarrior/hermes-kiro-provider by tobenwarrior.

A turn on a kiro-acp/<model> runs in the CLI. The cell spawns kiro-cli acp, speaks the Agent Client Protocol down its pipes (initialize, session/new, the model and the reasoning effort, then one session/prompt), and folds the streamed answer back into the turn as its text and its calls. No API key is stored: the login is the Kiro CLI's own, made with kiro-cli on this machine.

Get it

Tell the agent "add the kiro-acp cell", or run nodecode add nc://kiro-acp.

Set it up

Install the Kiro CLI and sign it in once, outside Nodecode (kiro-cli, then its login). Then name the CLI, which is the section's one required setting:

{
  "kiro-acp": {
    "command": "kiro-cli"
  }
}

command is a name on PATH or a path. The rest is optional:

{
  "kiro-acp": {
    "command": "kiro-cli",
    "args": ["acp"],
    "models": ["default"],
    "effort": ""
  }
}

args is the whole argv after the CLI's name: acp is the ACP transport, and the CLI's own flags ride here — --agent NAME, --model NAME, --effort high, -a to trust its tools. models is what /models offers under kiro-acp/: name the ids your kiro-cli reports for your account; default (the one offered with no config) sends no model and keeps the agent's own session model, which is what the original did when a turn named the provider itself. effort is the session's reasoning effort when the turn names none; empty leaves the CLI's own default.

Use it

Pick a model under kiro-acp/ in /models and talk. A round is one CLI child: session/new in the session's folder, then one session/prompt carrying the conversation and the tools as OpenAI function schemas. The model answers with <tool_call>{...}</tool_call> blocks in its text, which the cell parses back into the round's tool calls, so Nodecode runs the tools as it does for every other provider.

The CLI's own file requests (fs/read_text_file, fs/write_text_file) are served by this image, and a permission ask is answered with the first allow the CLI offers, since a round is headless. The Kiro agent's built-in tools run inside the CLI's own process, under the account that owns the login — not through Nodecode's tool loop.

When no kiro-cli is on PATH the cell says so once and leaves the provider out.

Test

From this repository's root:

.github/test-cell.sh providers/nodecode-kiro-acp

MIT licensed.

Add nc://kiro-acp

  1. 1

    Install Nodecode

    Once per machine.

    $ curl -fsSL https://nodecode.ai/install.sh | sh
  2. 2

    Add the cell

    Pinned at fe59dea.

    $ nodecode add nc://kiro-acp

    Or tell the agent add the kiro acp cell.