AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Мои открытые PR и их риски
Translation pending
Developer toolsTypeScript · JavaScriptGitHub @azbykovOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Вход через GitHub: каждый пользователь видит свои PR, статусы и статистику. Единое место для всех моих открытых PR в организации: сразу видно, где упали чекеры, где конфликты, а где ревьюеры оставили замечания и ждут ответа.Read the full README ↗
Вход через GitHub: каждый пользователь видит свои PR, статусы и статистику.
Единое место для всех моих открытых PR в организации: сразу видно, где упали чекеры, где конфликты, а где ревьюеры оставили замечания и ждут ответа.
changes requested.
Треды, где я уже ответил, считаются «ждут ревьюера».REVIEW_SLA_HOURS рабочих часов
(по умолчанию 48, выходные не считаются), или я ответил на замечания, а ревьюер молчит.Страница /analytics — мои PR за 90 дней: открытые по репозиториям и статусам, открыто/смержено по неделям, время до первого ревью по репозиториям, время до мержа по размеру PR, таблица ревьюеров.
PR разложены по секциям: «Требуют моих действий» → «Ждут других» → «Готовы к мержу» → «Черновики». Страница обновляется раз в 2 минуты (пока вкладка открыта).
Страница /feedback — «что мне пишут на ревью»: замечания других людей к моим PR
за полгода (синхронизация по кнопке) хранятся в Postgres — кто и где чаще пишет, лента последних.
AI-разбор по темам (OpenAI Agents SDK) пока скрыт, включается AI_ANALYSIS_ENABLED=true.
src/auth.ts), scope read:user repo read:org.AUTH_SECRET), базы пользователей нет. GitHub-токен сохраняется в JWT
в колбэке jwt и не попадает в session — тот уходит в браузер через /api/auth/session.src/lib/session.ts (getToken + decode).src/proxy.ts — auth() из Auth.js: без сессии отправляет на /login; страницы и экшены дополнительно
проверяют сессию через requireSession().OWNER_GITHUB_TOKEN (необязательно): личный токен владельца. Подставляется только пользователю,
вошедшему через GitHub под логином владельца токена, — для организаций, не одобривших OAuth-приложение.
Токен живёт только в env сервера; в шапке такой режим отмечен меткой «PAT».use cache: remote) — на пользователя: в ключ попадает зашифрованная cookie, не токен.src/lib/github.ts — один GraphQL-запрос: is:pr is:open author:@me org:<ORG>
со статусами чекеров, review threads и последними ревью.src/lib/org.ts — список организаций и выбранная организация (cookie).src/lib/attention.ts — правила: какие проблемы у PR и в какую секцию он попадает.src/lib/history.ts + src/lib/analytics.ts — история PR и расчёт метрик (чистые функции).src/lib/comments.ts — сбор замечаний из GitHub и upsert в review_comments.src/lib/feedback.ts — агент со structured output (zod), подсчёт тем, запись в feedback_analyses.db/schema.sql — схема БД, применяется pnpm db:migrate.src/components/charts.tsx — простые графики на HTML/CSS без библиотек.src/app/page.tsx — серверный рендер, фильтры через ?filter=checks|conflicts|comments.src/proxy.ts — без cookie сессии отправляет на /login.Быстрый путь без OAuth App: в .env.local задать DEV_GITHUB_TOKEN (например, вывод gh auth token) —
в pnpm dev вход отключается, всё работает от этого токена. В production-сборке переменная игнорируется.
cp .env.example .env.local # заполнить переменные
createdb git_monitor # локальный Postgres
pnpm db:migrate
pnpm dev
https://<домен>/api/auth/callback/github.DATABASE_URL)
и применить схему: DATABASE_URL=... pnpm db:migrate.AUTH_GITHUB_ID, AUTH_GITHUB_SECRET, AUTH_SECRET.