Metadata-Version: 2.4
Name: kirocrew-claude
Version: 0.1.1
Summary: Re-registers the dormant ACP_BACKEND_CLAUDE seam so KiroCrew runs on Claude Code
Author-email: Pravin Somula <pravinsomula@gmail.com>
License: Apache-2.0
Project-URL: Homepage, https://github.com/Pravinsomula/kirocrew-claude
Project-URL: Repository, https://github.com/Pravinsomula/kirocrew-claude
Project-URL: Issues, https://github.com/Pravinsomula/kirocrew-claude/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# kirocrew-claude

Re-registers KiroCrew's dormant Claude Code ACP backend, so KiroCrew agent
sessions run on the real `claude` binary via the official
[claude-agent-acp](https://github.com/agentclientprotocol/claude-agent-acp)
adapter instead of `kiro-cli`.

## Why this exists

KiroCrew's public edition ships `kiro-cli` as its only wired ACP backend, but
the `ACP_BACKEND_CLAUDE` protocol path is still alive in `acp/client.py` — only
the registration glue was removed when the project de-Amazoned. Upstream left
the `ProviderRegistry.register_acp_backends` seam and a `kirocrew.plugins`
entry-point group specifically so a companion package could re-attach it
without forking KiroCrew.

This package is that companion:

- Registers `AcpProvider(acp_backend=ACP_BACKEND_CLAUDE)` so sessions spawn
  `claude-agent-acp`, which in turn spawns the genuine `claude` CLI.
- Re-attaches the two client-side seams the deleted glue used to own: writing
  a per-session `.claude/settings.local.json` (keeps the permission-approval
  flow live) and injecting the agent's MCP servers into `session/new`
  (kiro-cli gets these through `--agent`; the Claude adapter has no
  equivalent, so without this a Claude session comes up with zero KiroCrew
  tools).
- Fixes a Windows-only spawn failure where Node refuses to exec the npm
  `claude.cmd` shim (`EINVAL`), by resolving the real `claude.exe` beside it.
- Isolates each session's `CLAUDE_CONFIG_DIR` from your real `~/.claude`, so
  personal plugins, the marketplace, and global MCP servers don't load (and
  slow down) every agent session.
- Rebinds the dashboard's first-run readiness gate and `/api/models` so they
  probe the Claude backend instead of `kiro-cli`, which this edition doesn't
  ship.

It edits nothing inside KiroCrew itself — everything above happens through
seams upstream already exposes.

## Install

Requires a working [Claude Code](https://docs.claude.com/en/docs/claude-code/overview)
install, signed in (`claude login`), and KiroCrew installed separately.

```bash
pip install kirocrew-claude
```

Or from source:

```bash
git clone https://github.com/pravinsomula/kirocrew-claude
pip install -e ./kirocrew-claude
```

KiroCrew discovers the plugin automatically via the `kirocrew.plugins` entry
point — no config changes needed. Start (or restart) the gateway and it picks
up the Claude backend.

## Credentials

This plugin never talks to Anthropic's API directly and never handles API
keys. Every session spawns your own local `claude` binary, which uses
whatever session you're already signed into via `claude login`. The only file
this package touches is a per-session copy of `~/.claude/.credentials.json`
into an isolated config directory — it never leaves your machine and is never
transmitted anywhere by this package.

Bring your own Claude Code login. This is not a hosted or multi-user service.

## License

Apache-2.0
