Metadata-Version: 2.4
Name: soothe-plugins
Version: 0.2.6
Summary: Community plugins for Soothe agent orchestration framework
Project-URL: Homepage, https://github.com/mirasoth/soothe-plugins
Project-URL: Repository, https://github.com/mirasoth/soothe-plugins
Project-URL: Issues, https://github.com/mirasoth/soothe-plugins/issues
License: MIT
Keywords: agents,ai,llm,plugins,soothe
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <3.15,>=3.11
Requires-Dist: arxiv<3.0.0,>=2.0.0
Requires-Dist: feedparser<7.0.0,>=6.0.0
Requires-Dist: langgraph<2.0.0,>=1.1.1
Requires-Dist: numpy<3.0.0,>=1.20.0
Requires-Dist: pyzotero<2.0.0,>=1.5.0
Requires-Dist: scikit-learn<2.0.0,>=1.0.0
Requires-Dist: sentence-transformers<6.0.0,>=2.2.0
Requires-Dist: soothe-sdk<1.0.0,>=0.5.9
Requires-Dist: tiktoken<1.0.0,>=0.5.0
Provides-Extra: dev
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.12.0; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# Soothe Community Plugins

Standalone community plugins package for the Soothe agent orchestration framework.

## Installation

```bash
pip install soothe-plugins
```

## Available Plugins

### Sample Echo

Minimal echo subagent for testing soothe-plugins integration. See [CONTRIBUTING.md](CONTRIBUTING.md) for plugin development guide.

### Skillify

Skill warehouse indexing and semantic retrieval agent. Provides background indexing loop and retrieval capabilities for skill discovery.

### Weaver

Generative agent framework with skill harmonization. Composes skills from Skillify, resolves conflicts, and generates task-specific subagents dynamically.

### BrowserUse and Claude Code

Delegated **browser-use** and **Claude agent SDK** subagents (IG-415). Install with `pip install "soothe-plugins[browser_use]"` or `"soothe-plugins[claude]"` and enable `subagents.browser_use` / `subagents.claude` in config. Spec: `docs/RFC-601-community-agents.md`.

## Extensibility

This package is designed for extensibility. You can easily add new community plugins:

### Available Plugin Types

1. **Subagent Plugins**: Complex multi-step agents using langgraph
2. **Tool Plugins**: Simple functions exposed as tools
3. **Hybrid Plugins**: Both subagents and tools

### Future Plugins

The package structure supports adding new plugins:

```
src/soothe_plugins/
├── sample_echo/        # Minimal test subagent (example plugin)
├── paperscout/         # ArXiv paper recommendations
├── [your_plugin]/      # Your future plugin
└── [another_plugin]/   # Another future plugin
```

See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on adding new plugins.

### Plugin Template

Use the provided template to create new plugins:

```bash
cp -r src/soothe_plugins/.plugin_template src/soothe_plugins/your_plugin
```

## Development

### Setup

```bash
# Clone the repository
git clone https://github.com/mirasoth/soothe-plugins.git
cd soothe-plugins

# Install in development mode
pip install -e ".[dev]"
```

### Testing

```bash
# Run all tests
pytest tests/

# Run specific plugin tests
pytest tests/test_paperscout/

# With coverage
pytest tests/ --cov=src/soothe_plugins
```

### Code Quality

```bash
# Format code
ruff format src/ tests/

# Lint code
ruff check --fix src/ tests/
```

## Documentation

- **README.md**: This file - overview and quick start
- **CONTRIBUTING.md**: How to add new plugins
- **docs/RFC-601-community-agents.md**: Architecture RFC for community agents
- **src/soothe_plugins/.plugin_template/**: Template for new plugins

## Architecture

Each plugin follows the RFC-0018 plugin system:

```
Plugin Package
├── __init__.py          # @plugin, @subagent, @tool decorators
├── events.py            # Custom events (optional)
├── models.py            # Data models
├── state.py             # Agent state (if subagent)
├── implementation.py    # Core logic
└── README.md            # Plugin documentation
```

## License

MIT
