Metadata-Version: 2.5
Name: swarmr
Version: 1.2.0
Summary: Deep Agents teams of domain specialists, exposed over MCP and a terminal CLI.
Project-URL: Homepage, https://github.com/codectl/swarmr
Project-URL: Source, https://github.com/codectl/swarmr
Project-URL: Issues, https://github.com/codectl/swarmr/issues
Requires-Python: >=3.13
Requires-Dist: deepagents<0.8,>=0.7.9
Requires-Dist: langchain-openai>=1.6
Requires-Dist: mcp>=2
Requires-Dist: pydantic>=2.10
Provides-Extra: all
Requires-Dist: swarmr-blame<1,>=0.1; extra == 'all'
Requires-Dist: swarmr-kube<2,>=1.0.1; extra == 'all'
Provides-Extra: blame
Requires-Dist: swarmr-blame<1,>=0.1; extra == 'blame'
Provides-Extra: dev
Requires-Dist: pyright>=1.1; extra == 'dev'
Requires-Dist: pytest-cov>=5; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Provides-Extra: kube
Requires-Dist: swarmr-kube<2,>=1.0.1; extra == 'kube'
Description-Content-Type: text/markdown

# swarmr

Teams of [Deep Agents](https://github.com/langchain-ai/deepagents) domain
specialists, exposed two ways: a streaming terminal CLI and an MCP server.

This is the core distribution. It ships **no team**. Teams live in their own
repositories, depend on this one, and are found through installed metadata —
`pip install` and `pip uninstall` are the whole lifecycle.

## Install

Core and the team must land in the **same environment**; discovery reads
installed distribution metadata, not paths.

```
uv tool install "swarmr[all]" --with-executables-from swarmr-kube
```

`all` pulls in every first-party team; `swarmr[kube]` or `swarmr[blame]` picks
one. `--with-executables-from` is easy to miss: without it only core's `teams`
and `teams-mcp` reach your PATH. Name each team package that ships commands
(`swarmr-kube` ships `incident-credentials`; `swarmr-blame` ships none).

From a checkout instead of PyPI:

```
uv tool install ../swarmr --with ../swarmr-kube --with ../swarmr-blame \
  --with-executables-from swarmr-kube
```

Then a model key, in the directory you run from:

```
printf 'KIMI_API_KEY=sk-…\n' > .env && chmod 600 .env
```

Loading walks up from the current directory, then falls back to `~/.env`;
`KIMI_ENV_FILE` overrides both.

## CLI

```
teams --list
teams --target <team>
teams <team> "the symptom, as prose"
```

Output shows delegation live: the plan, parallel dispatches, each tool call with
a digest of its result, every subagent's verdict attributed by name, per-agent
token counts.

## MCP

```
{
  "mcpServers": {
    "swarmr": {
      "type": "stdio",
      "command": "teams-mcp",
      "cwd": "/abs/path/to/your/working/dir",
      "timeout": 0
    }
  }
}
```

`cwd` is where the server looks for `.env`. Tools: `start_<team>` for every
installed team, plus `check_task` and `list_tasks`. Runs take minutes, so
`start_*` returns a job id immediately and `check_task` long-polls — returning
the moment a specialist is dispatched or reports, with only the trail steps you
have not seen.

Install a team, restart the server, and its tool appears. No configuration
changes.

Design notes and internals: [CLAUDE.md](CLAUDE.md).
