Add TrelloClient for Trello REST API interaction with env-var-based credential management (TRELLO_API_KEY, TRELLO_TOKEN). Implements: - trello_verify_credentials — verify API key/token against Trello API - trello_list_boards — list accessible Trello boards - trello_disconnect — clear in-memory credentials Includes full test suite (18 tests), spec document, and plugin metadata. Issue: #1
95 lines
2.1 KiB
Markdown
95 lines
2.1 KiB
Markdown
# trello-plugin
|
|
|
|
Hermes Agent plugin for Trello board integration.
|
|
|
|
## Setup
|
|
|
|
### 1. Get Trello Credentials
|
|
|
|
1. Get your **API Key** from: https://trello.com/app-key
|
|
2. Generate a **Token** from the same page (click "Token" under API Key)
|
|
3. Set these as environment variables in your Hermes profile config (`.env` or `config.yaml`):
|
|
|
|
```bash
|
|
export TRELLO_API_KEY="your-trello-api-key"
|
|
export TRELLO_TOKEN="your-trello-token"
|
|
```
|
|
|
|
### 2. Install
|
|
|
|
```bash
|
|
cd trello-plugin
|
|
pip install .
|
|
```
|
|
|
|
For development:
|
|
|
|
```bash
|
|
pip install -e ".[dev]"
|
|
```
|
|
|
|
### 3. Register with Hermes Agent
|
|
|
|
Add the plugin to your Hermes config (`~/.hermes/config.yaml` or profile):
|
|
|
|
```yaml
|
|
plugins:
|
|
- trello-plugin
|
|
```
|
|
|
|
## Available Tools
|
|
|
|
Once configured, the agent has access to these tools:
|
|
|
|
### `trello_verify_credentials`
|
|
Verifies your Trello API key and token are valid by calling the Trello API.
|
|
|
|
```
|
|
✓ Trello credentials verified successfully (authenticated as your-username)
|
|
```
|
|
|
|
### `trello_list_boards`
|
|
Lists all Trello boards accessible with your credentials.
|
|
|
|
| Field | Description |
|
|
|-------|-------------|
|
|
| `id` | Trello board ID |
|
|
| `name` | Board name |
|
|
| `url` | Direct Trello URL |
|
|
| `closed` | Whether the board is archived |
|
|
| `starred` | Whether the board is starred |
|
|
|
|
### `trello_disconnect`
|
|
Clears Trello credentials from the in-memory client. Since credentials are stored in environment variables, the agent can reconnect automatically on the next tool call.
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Install dev dependencies
|
|
pip install -e ".[dev]"
|
|
|
|
# Run tests
|
|
PYTHONPATH=src python3 -m pytest tests/ -v
|
|
|
|
# Lint
|
|
pip install ruff
|
|
ruff check src/
|
|
```
|
|
|
|
## Architecture
|
|
|
|
```
|
|
trello-plugin/
|
|
├── src/
|
|
│ └── trello_plugin/
|
|
│ ├── __init__.py # Package exports
|
|
│ ├── client.py # TrelloClient — REST API wrapper
|
|
│ └── tools.py # Hermes tool definitions
|
|
├── tests/
|
|
│ └── test_auth.py # Test suite (18 tests)
|
|
├── docs/
|
|
│ └── backend/
|
|
│ └── trello-auth-spec.md
|
|
├── pyproject.toml
|
|
└── README.md
|
|
``` |