API
Оракул говорит на JSON. Куки не требуются.
Эндпоинт
GET /api/reading
Возвращает расклад Quick Read из трёх карт в формате JSON. Всегда берёт карты из Старших Арканов — полный расклад из 78 карт пока доступен только в браузере. Аутентификация не требуется.
Лимит: 60 запросов в минуту на IP. При превышении возвращается 429 с заголовком Retry-After: 60.
| Параметр | Обязательный | Описание |
|---|---|---|
role | Да | Твоя роль. Допустимые значения — ниже. |
intent | Да | Что деплоишь. Допустимые значения — ниже. |
Пример запроса
curl "https://deploytarot.com/api/reading?role=devops&intent=full-release"
Пример ответа
{
"verdict": "tread-carefully",
"verdict_label": "Tread Carefully ⚠️",
"verdict_text": "The cards have spoken. Proceed, but with ceremony.",
"role": "DevOps Engineer",
"intent": "Full Release",
"cards": [
{
"position": "foundation",
"position_label": "The Foundation",
"name": "The Tower",
"reversed": false,
"narrative": "The Foundation reveals The Tower upright — sudden disruption..."
},
{
"position": "crossing",
"position_label": "The Crossing",
"name": "The Star",
"reversed": true,
"narrative": "..."
},
{
"position": "outcome",
"position_label": "The Outcome",
"name": "The World",
"reversed": false,
"narrative": "..."
}
],
"share_url": "https://deploytarot.com/r/..."
}
При неверной роли или намерении: 422 со списками valid_roles и valid_intents. При превышении лимита: 429 с Retry-After: 60.
GitHub Actions
Официальный экшн — rembish/deploytarot-action. Автоматически определяет намерение по событию воркфлоу, роль по умолчанию — devops. Оба параметра можно переопределить.
Без настройки
- uses: rembish/deploytarot-action@v1.2
Полный контроль
- uses: rembish/deploytarot-action@v1.2
with:
role: senior-dev
intent: db-migration
fail_on_abort: "true"
Используй вердикт дальше по конвейеру
- uses: rembish/deploytarot-action@v1.2 id: tarot - name: Proceed only if the cards allow it if: steps.tarot.outputs.verdict != 'abort-mission' run: ./deploy.sh
Когда fail_on_abort равен true, шаг завершается с ненулевым кодом при вердикте abort-mission и блокирует дальнейшие шаги. По умолчанию false.
Экшн автоматически публикует таблицу карт в сводке задания GitHub Actions.
Автоопределение роли
Если роль не указана, экшн проверяет github.actor:
| Паттерн актора | Определённая роль |
|---|---|
| любой актор, оканчивающийся на [bot] (dependabot, renovate, copilot, …) | ai-agent |
github-actions | ai-agent |
| любой человек-актор | devops |
Укажи role явно, чтобы переопределить.
Автоопределение намерения
Если намерение не указано в экшне, оно определяется по событию воркфлоу:
| Событие / условие | Определённое намерение |
|---|---|
release published | full-release |
push to main / master / tag | full-release |
pull_request · branch fix/* or hotfix/* | hotfix-prod |
pull_request · branch feat/* or feature/* | new-feature |
pull_request · branch refactor/* or chore/* | refactor |
pull_request · branch db/* or migration/* | db-migration |
pull_request · branch infra/* or ops/* | infra-change |
pull_request · branch docs/* | public-doc-release |
pull_request · branch security/* | security-patch |
| Dependabot PR | dependency-update |
schedule | dependency-update |
workflow_dispatch | just-vibes |
| anything else | quick-fix |
Допустимые роли
business-analyst
ceo
ciso
cto
cleaning-lady
client
consultant
contractor
dba
data-scientist
designer
devops
doc-writer
eng-manager
hr
intern
junior-dev
offshore-dev
product-manager
project-manager
qa
receptionist
sales
scrum-master
security
senior-dev
shadow-it
sre
stakeholder
system-analyst
tech-lead
vp-eng
ai-agent
rubber-duck
tarot-reader
Допустимые намерения
ab-test
ai-integration
api-release
auth-rewrite
config-change
db-migration
dependency-update
deprecation
feature-flag
full-release
gdpr-compliance
hotfix-prod
infra-change
ipo
just-vibes
mobile-release
new-feature
open-source
performance
public-doc-release
quick-fix
rebranding
redesign
refactor
rollback
security-patch
seo-optimization
sunset
Каждый вызов генерирует новый сид. Одна и та же комбинация роли и намерения даст разные карты при каждом запросе. Оракул не повторяется. Обычно.