From cb589b540aa960b22c58749bd1bb6717794ee4b6 Mon Sep 17 00:00:00 2001 From: joylessorchid Date: Sun, 22 Mar 2026 14:21:40 +0300 Subject: [PATCH] chore: add Redis/PgBouncer readiness checks to setup.sh + post-change checklist rule to CLAUDE.md setup.sh now waits for Redis PONG and PgBouncer pg_isready before running Prisma migrations. CLAUDE.md gets mandatory post-change checklist ensuring setup.sh, README.md, PROMPT.md, .env.example stay in sync after every change. Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 12 ++++++++++++ setup.sh | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 7599c1e..0451ead 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -175,6 +175,18 @@ DEV_ACCESS_KEY=mySecretKey123 **Rule:** for tasks spanning 2+ layers — use `agents-orchestrator`. +## Post-Change Checklist (ОБЯЗАТЕЛЬНО) + +После **каждого** изменения кода или конфигурации Claude **обязан** выполнить: + +1. **Обновить `CLAUDE.md`** — если изменились архитектура, endpoints, модели, команды, стек или conventions +2. **Проверить `setup.sh`** — все новые сервисы/зависимости должны быть в скрипте (readiness checks, .env переменные, docker compose команды) +3. **Проверить `README.md`** — инструкции, API таблицы, структура проекта должны отражать текущее состояние +4. **Проверить `PROMPT.md`** — спецификация должна соответствовать реализации +5. **Проверить `.env.example`** — все новые переменные окружения должны быть задокументированы + +Не пропускать этот чеклист. Если изменение не затрагивает файл — просто подтвердить что файл актуален. + ## Conventions - Communication language: Russian diff --git a/setup.sh b/setup.sh index 8e4dff3..e6595b6 100644 --- a/setup.sh +++ b/setup.sh @@ -265,6 +265,26 @@ for i in $(seq 1 30); do done log_ok "PostgreSQL готов" +# Wait for Redis +echo -e " Ожидание Redis..." +for i in $(seq 1 15); do + if docker compose exec -T redis redis-cli ping 2>/dev/null | grep -q PONG; then + break + fi + sleep 1 +done +log_ok "Redis готов" + +# Wait for PgBouncer +echo -e " Ожидание PgBouncer..." +for i in $(seq 1 15); do + if docker compose exec -T pgbouncer pg_isready -h 127.0.0.1 -p 6432 &>/dev/null; then + break + fi + sleep 1 +done +log_ok "PgBouncer готов" + # Prisma migrate echo -e " Применение миграций..." npx prisma db push --skip-generate 2>&1 | tail -3