trello-tools: подсказывать /plugin configure, если ключи не заданы

Ошибки конфигурации отсылали к .env, которого у плагина нет.
README: /plugin configure — обязательный шаг установки.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-24 16:19:11 +00:00
parent 3ae697ef1e
commit e37a30dadc
3 changed files with 13 additions and 8 deletions
+7 -4
View File
@@ -17,10 +17,13 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
``` ```
/plugin marketplace add https://git.maxerton.live/maxerton/trello-mcp.git /plugin marketplace add https://git.maxerton.live/maxerton/trello-mcp.git
/plugin install trello-tools@gp-tools /plugin install trello-tools@gp-tools
/plugin configure trello-tools@gp-tools
``` ```
При установке Claude Code спросит ключи. Токены хранятся у тебя локально Последняя команда открывает форму с ключами. Её нужно выполнить, даже если при
(`~/.claude/.credentials.json`), в репозиторий ничего не попадает. установке ничего не спросили (например, ставил через `claude plugin install` в терминале).
Токены хранятся у тебя локально (`~/.claude/.credentials.json`), в репозиторий
ничего не попадает.
| Поле | Кому нужно | | Поле | Кому нужно |
|---|---| |---|---|
@@ -29,8 +32,8 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
| QA service API key | только владельцу, остальные оставляют пустым | | QA service API key | только владельцу, остальные оставляют пустым |
| QA service URL, Trello board, Trello lists | уже заполнены, менять не нужно | | QA service URL, Trello board, Trello lists | уже заполнены, менять не нужно |
Если окно с ключами не появилось или их нужно поменять: Поменять ключи потом — той же `/plugin configure trello-tools@gp-tools`.
`/plugin configure trello-tools@gp-tools`. После установки перезапусти Claude Code. После настройки перезапусти Claude Code (или `/reload-plugins`).
## Обновление ## Обновление
+2 -2
View File
@@ -16,7 +16,7 @@ def _config() -> tuple[str, str]:
api_key = os.environ.get("QA_SERVICE_API_KEY") api_key = os.environ.get("QA_SERVICE_API_KEY")
if not url or not api_key: if not url or not api_key:
raise QaServiceConfigError( raise QaServiceConfigError(
"QA_SERVICE_URL / QA_SERVICE_API_KEY не заданы (проверь .env)" "QA_SERVICE_URL / QA_SERVICE_API_KEY не заданы (плагин: /plugin configure trello-tools@gp-tools, локально: .env)"
) )
return url.rstrip("/"), api_key return url.rstrip("/"), api_key
@@ -106,7 +106,7 @@ def _tasks_config() -> tuple[str, dict]:
token = os.environ.get("QA_SERVICE_API_KEY") or os.environ.get("QA_TASKS_TOKEN") token = os.environ.get("QA_SERVICE_API_KEY") or os.environ.get("QA_TASKS_TOKEN")
if not url or not token: if not url or not token:
raise QaServiceConfigError( raise QaServiceConfigError(
"QA_SERVICE_URL и QA_SERVICE_API_KEY или QA_TASKS_TOKEN не заданы (проверь .env)" "QA_SERVICE_URL и QA_SERVICE_API_KEY или QA_TASKS_TOKEN не заданы (плагин: /plugin configure trello-tools@gp-tools, локально: .env)"
) )
return url.rstrip("/"), {"Authorization": f"Bearer {token}"} return url.rstrip("/"), {"Authorization": f"Bearer {token}"}
+4 -2
View File
@@ -30,7 +30,7 @@ def _credentials() -> tuple[str, str]:
token = os.environ.get("TRELLO_TOKEN") token = os.environ.get("TRELLO_TOKEN")
if not key or not token: if not key or not token:
raise TrelloConfigError( raise TrelloConfigError(
"TRELLO_API_KEY / TRELLO_TOKEN не заданы (проверь .env)" "TRELLO_API_KEY / TRELLO_TOKEN не заданы (плагин: /plugin configure trello-tools@gp-tools, локально: .env)"
) )
return key, token return key, token
@@ -225,7 +225,9 @@ def create_targets() -> list[str]:
def _board_id() -> str: def _board_id() -> str:
board_id = os.environ.get("TRELLO_BOARD_ID") board_id = os.environ.get("TRELLO_BOARD_ID")
if not board_id: if not board_id:
raise TrelloConfigError("TRELLO_BOARD_ID не задан (проверь .env)") raise TrelloConfigError(
"TRELLO_BOARD_ID не задан (плагин: /plugin configure trello-tools@gp-tools, локально: .env)"
)
return board_id return board_id