個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Платформа для построения процесса работы с баг-репортами
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Инструмент для баг-репортов: тестировщик заводит репорт, разработчик видит шаги, факт и ожидание, переписка и вложения лежат рядом с багом. Self-hosted, MIT. Миссия: создавать процесс работы с багами, делая упор на удобство и эффективность. Собираетесь что-то править? Правила разработки — в AGENTS.md, дисциплина PR и формат коммита — в docs/CONTRIBUTING.md. Хранилища: PostgreSQL (две базы — app_db и users_db) и Redis (ротация refresh-токенов, кэш пользователей).檢視完整 README ↗
Инструмент для баг-репортов: тестировщик заводит репорт, разработчик видит шаги, факт и ожидание, переписка и вложения лежат рядом с багом. Self-hosted, MIT.
Миссия: создавать процесс работы с багами, делая упор на удобство и эффективность.
Собираетесь что-то править? Правила разработки — в AGENTS.md, дисциплина PR и формат коммита — в docs/CONTRIBUTING.md.
| Компонент | Образ | Описание |
|---|---|---|
backend/ | ghcr.io/gently-whitesnow/bugget-api | API: репорты, пользователи и авторизация в одном процессе |
frontend/ | ghcr.io/gently-whitesnow/bugget-ui | SPA на React |
deploy/nginx/ | ghcr.io/gently-whitesnow/bugget-nginx-self-hosted | Точка входа: маршрутизация и проверка авторизации |
Хранилища: PostgreSQL (две базы — app_db и users_db) и Redis (ротация refresh-токенов, кэш
пользователей).
Из зависимостей нужен только Docker с compose v2: весь контур собирается из исходников
в контейнерах. Node 24 и .NET SDK 9 (версия зафиксирована в global.json) понадобятся
дальше, для локальной разработки фронта и бэкенда.
cd deploy
docker compose -f docker-compose.yml -f docker-compose.dev.yml \
--env-file env/dev.env --profile full up --build
Приложение поднимется на http://localhost. В dev-режиме доступен fake-логин без внешнего провайдера:
http://localhost/api/authorization/v1/fake/login?externalId=user-1&name=Tester
Остановить и удалить данные:
cd deploy
docker compose -f docker-compose.yml -f docker-compose.dev.yml \
--env-file env/dev.env --profile full down -v
Флаги, профили compose, порты и конфигурация — deploy/README.md.
Фронтенд локально с hot reload, бекенд в docker — frontend/README.md. Структура и команды бекенда — backend/README.md.
Два входа — оба запускают человек, агент и CI:
harness check # рамка репозитория (.harness.json)
./scripts/verify.sh # сборка, тесты, контракты, линтеры
./scripts/verify.sh backend # только бекенд
./scripts/verify.sh frontend # только фронтенд
harness — CLI, который проверяет сам
репозиторий: связность и циклы зависимостей, дубли, долю комментариев, подавленные
диагностики, настройки сборки .NET, документацию и формат коммитов. Тесты и сборку он не
запускает — за них отвечает verify.sh. Версия запинена полем version в .harness.json:
бинарь другой версии отвечает кодом 2, поэтому ставится ровно она. Установка и подготовка клона:
curl -fsSL https://raw.githubusercontent.com/gently-whitesnow/harness-cli/master/install.sh \
| HARNESS_VERSION="$(jq -r .version .harness.json)" sh
export PATH="$HOME/.local/bin:$PATH"
harness setup # хук commit-msg и шаблон сообщения коммита, один раз на клон
harness guide # как работать с рамкой: цикл check → explain, exit-коды, коммиты
scripts/verify.sh — обычный bash-скрипт: шаги идут подряд, первый упавший останавливает
прогон. Новый шаг добавляется прямо в него. Нужен python3; интеграционные тесты бекенда
поднимают Postgres и Keycloak в Docker (Testcontainers).
Контракты API — specs/contracts/<module>/openapi.yaml, общие схемы —
specs/contracts/shared.yaml. Это источник правды: *.g.cs и фронтовые *.d.ts только
генерируются (scripts/contracts/openapi-generate.sh, frontend-openapi-generate.sh).
Контроллеры наследуют сгенерированные базы, поэтому маршрут или форма ответа мимо контракта
не компилируются. Realtime-события SignalR описаны в specs/contracts/events.yaml (ADR-0007).
Архитектурные решения и причины — adrs/REGISTRY.md.