# Repo Health: mayta52/githubflow

https://sourcecraft.dev/mayta52/githubflow

| Показатель | Значение |
|---|---|
| **Repo Health Score** | **10.1 / 100** — Предварительная оценка: критическое состояние (данных недостаточно для уверенного вывода) |
| Охват данных | 35% (метрик с данными: 44.1%) |
| Основной язык | не определён |
| Последняя активность | 11.01.2026 |
| Дата анализа | 07.10.2026 14:19 UTC |
| Вид анализа | полный |
| Оценки сообщества | 0 реакций |
| Воспроизводимость | методика v1.6, снапшот `5769ef768594` |

> **Внимание.** Малый охват данных: доступно меньше трёх категорий

## Оценки по категориям

| Категория | Оценка | Вес | Ключевой факт |
|---|---|---|---|
| Безопасность | **Нет данных** | 18% | нет прав SourceCraft на просмотр AppSec этого репозитория |
| Состояние кода и техдолг | **Нет данных** | 21% | в репозитории не найден код на поддерживаемых языках |
| Активность проекта | 19.6/100 | 18% | Осмысленные коммиты за 90 дней: 0 шт. |
| Документация и практики | 0.0/100 | 17% | README: наличие, объём и ключевые разделы: 0% |
| CI/CD | **Нет данных** | 13% | нет датированных завершённых прогонов CI за последние 90 дней |
| Работа с issues | **Нет данных** | 13% | в репозитории нет issues |

**Как получен итог.** Score = (19.6×18 + 0.0×17) / 35 = 10.1. Охват данных 35% — доля веса категорий, по которым есть данные. Категории без данных (Безопасность, Состояние кода и техдолг, CI/CD, Работа с issues) исключены из расчёта, их вес перераспределён.

## Изменение за период

Repo Health Score: **10.1 → 10.1** (0.0) за период 30.09.2026 — 07.10.2026.

Заметнее всего изменились:

- **Активность:** 19.7 → 19.6 (-0.1)

## Слабые стороны

- **Давность последнего осмысленного коммита** — 269 дн. назад
- **Осмысленные коммиты за 90 дней** — 0 шт.
- **Bus factor (авторов, покрывающих 50% коммитов за год)** — 1 чел.
- **README: наличие, объём и ключевые разделы** — 0%
- **Лицензия (распознанный SPDX)** — нет
- **CONTRIBUTING, CODEOWNERS, CHANGELOG, SECURITY.md** — 0 из 4
- **Правила ревью и политики веток** — 0 из 2
- **Инструкция запуска и сборки** — нет

## Рекомендации

### 1. Написать README

- **Приоритет:** Высокий, трудоёмкость низкая, категория «Документация»
- **Проблема:** README отсутствует.
- **Почему это важно:** README — первое, что видит пользователь; без него проект не выбирают.
- **Что сделать:** Опишите назначение, установку, запуск, сборку и тесты; добавьте пример использования.
- **Ожидаемый эффект:** +22.4 к Repo Health Score

- **Основание:** [files.readme](https://sourcecraft.dev/mayta52/githubflow)

### 2. Добавить файл LICENSE

- **Приоритет:** Низкий, трудоёмкость низкая, категория «Документация»
- **Проблема:** В репозитории нет лицензии.
- **Почему это важно:** Для открытого проекта явные условия использования упрощают повторное применение кода.
- **Что сделать:** Если хотите разрешить повторное использование кода, добавьте подходящую лицензию в корень репозитория.
- **Ожидаемый эффект:** +7.5 к Repo Health Score

- **Основание:** [files.license](https://sourcecraft.dev/mayta52/githubflow)

### 3. Добавить CONTRIBUTING и CODEOWNERS

- **Приоритет:** Низкий, трудоёмкость низкая, категория «Документация»
- **Проблема:** Нет CONTRIBUTING, CODEOWNERS, CHANGELOG и SECURITY.md.
- **Почему это важно:** Для проекта с несколькими авторами правила вклада и владельцы кода ускоряют ревью.
- **Что сделать:** Добавьте CONTRIBUTING.md и CODEOWNERS, ведите CHANGELOG.
- **Ожидаемый эффект:** +7.5 к Repo Health Score

- **Основание:** [files.practices](https://sourcecraft.dev/mayta52/githubflow)

### 4. Заполнить описание репозитория

- **Приоритет:** Низкий, трудоёмкость низкая, категория «Документация»
- **Проблема:** Описание репозитория в SourceCraft пустое или слишком короткое.
- **Почему это важно:** Описание видно в каталоге и рейтинге, по нему проект находят.
- **Что сделать:** Заполните поле «Описание» в настройках репозитория одним-двумя предложениями.
- **Ожидаемый эффект:** +3.7 к Repo Health Score

- **Основание:** [meta.description](https://sourcecraft.dev/mayta52/githubflow)

### 5. Прояснить статус поддержки проекта

- **Приоритет:** Низкий, трудоёмкость низкая, категория «Активность»
- **Проблема:** Осмысленных коммитов за 90 дней нет; последний был 269 дней назад.
- **Почему это важно:** Длительная пауза не обязательно означает проблему, но пользователю важно понимать, поддерживается ли проект.
- **Что сделать:** Укажите в README, поддерживается ли проект и куда сообщать об ошибках. Если работа продолжается, обновите план и публикуйте реальные изменения по мере готовности; если завершена — отметьте это явно.
- **Основание:** [git.last_commit_at](https://sourcecraft.dev/mayta52/githubflow/-/commits/master)

## Нет данных

Эти показатели не участвовали в расчёте и не подменялись нулями. Подтверждённое отсутствие компонента, например файла конфигурации CI, оценивается отдельно.

| Показатель | Почему нет данных |
|---|---|
| Открытые уязвимости, взвешенные по критичности | нет прав SourceCraft на просмотр AppSec этого репозитория |
| Доля исправленных findings за 90 дней | нет прав SourceCraft на просмотр AppSec этого репозитория |
| Открытые секреты в коде | нет прав SourceCraft на просмотр AppSec этого репозитория |
| Свежий скан безопасности (≤ 30 дней) | нет прав SourceCraft на просмотр AppSec этого репозитория |
| Плотность TODO/FIXME/HACK на 1000 строк кода | в репозитории не найден код на поддерживаемых языках |
| Доля TODO старше 6 месяцев | в репозитории не найден код на поддерживаемых языках |
| Тесты: наличие и доля тестового кода | в репозитории не найден код на поддерживаемых языках |
| Зафиксированные зависимости (lockfile) при наличии манифеста | в репозитории не найден код на поддерживаемых языках |
| Доля крупных и бинарных файлов | в репозитории не найден код на поддерживаемых языках |
| Давность последнего релиза или тега | в репозитории нет релизов и тегов |
| Успешные прогоны среди последних 30 (с весом по свежести) | нет датированных завершённых прогонов CI за последние 90 дней |
| Последний прогон успешен | нет датированных завершённых прогонов CI за последние 90 дней |
| Нестабильность: чередование успех/провал | нет датированных завершённых прогонов CI за последние 90 дней |
| Медианная длительность прогона | нет датированных завершённых прогонов CI за последние 90 дней |
| Зависшие открытые issues (без обновления > 60 дней) | в репозитории нет issues |
| Медиана первого ответа или текущего ожидания | в репозитории нет issues |
| Медианное время закрытия (за 180 дней) | в репозитории нет issues |
| Закрытые / созданные за 90 дней | в репозитории нет issues |
| Использование меток, приоритетов, исполнителей | в репозитории нет issues |

## Как посчитана каждая категория

### Безопасность — нет данных (вес 18%)

нет прав SourceCraft на просмотр AppSec этого репозитория

| Метрика | Значение | Норм. | Вес | Вклад |
|---|---|---|---|---|
| Открытые уязвимости, взвешенные по критичности | нет данных | — | 5 | — |
| Доля исправленных findings за 90 дней | нет данных | — | 2 | — |
| Открытые секреты в коде | нет данных | — | 3 | — |
| Свежий скан безопасности (≤ 30 дней) | нет данных | — | 1 | — |

### Состояние кода и техдолг — нет данных (вес 21%)

в репозитории не найден код на поддерживаемых языках

| Метрика | Значение | Норм. | Вес | Вклад |
|---|---|---|---|---|
| Плотность TODO/FIXME/HACK на 1000 строк кода | нет данных | — | 3 | — |
| Доля TODO старше 6 месяцев | нет данных | — | 2 | — |
| Тесты: наличие и доля тестового кода | нет данных | — | 3 | — |
| Зафиксированные зависимости (lockfile) при наличии манифеста | нет данных | — | 1 | — |
| Доля крупных и бинарных файлов | нет данных | — | 1 | — |
| Линтеры, форматтеры, editorconfig | 0 инструментов | 0% | 1 | — |

### Активность проекта — 19.6/100 (вес 18%)

| Метрика | Значение | Норм. | Вес | Вклад |
|---|---|---|---|---|
| Давность последнего осмысленного коммита | 269 дн. назад | 5% | 3 | 1.37 |
| Осмысленные коммиты за 90 дней | 0 шт. | 0% | 2 | 0.0 |
| Живые авторы за год (без ботов) | 2 чел. | 49% | 2 | 8.85 |
| Bus factor (авторов, покрывающих 50% коммитов за год) | 1 чел. | 20% | 2 | 3.64 |
| Влитые PR за 90 дней | 0 шт. | 0% | 1 | 0.0 |
| Разных авторов влитых PR за год | 2 чел. | 63% | 1 | 5.75 |
| Давность последнего релиза или тега | нет данных | — | 1 | — |

### Документация и практики — 0.0/100 (вес 17%)

| Метрика | Значение | Норм. | Вес | Вклад |
|---|---|---|---|---|
| README: наличие, объём и ключевые разделы | 0% | 0% | 4 | 0.0 |
| Лицензия (распознанный SPDX) | нет | 0% | 2 | 0.0 |
| CONTRIBUTING, CODEOWNERS, CHANGELOG, SECURITY.md | 0 из 4 | 0% | 2 | 0.0 |
| Описание репозитория заполнено в SourceCraft | нет | 0% | 1 | 0.0 |
| Правила ревью и политики веток | 0 из 2 | 0% | 2 | 0.0 |
| Инструкция запуска и сборки | нет | 0% | 2 | 0.0 |

Ограничения категории: README отсутствует → не выше 40 (не повлияло)
### CI/CD — нет данных (вес 13%)

нет датированных завершённых прогонов CI за последние 90 дней

| Метрика | Значение | Норм. | Вес | Вклад |
|---|---|---|---|---|
| Есть конфигурация CI (.sourcecraft/ci.yaml) | нет | 0% | 3 | — |
| Успешные прогоны среди последних 30 (с весом по свежести) | нет данных | — | 4 | — |
| Последний прогон успешен | нет данных | — | 2 | — |
| Нестабильность: чередование успех/провал | нет данных | — | 2 | — |
| Медианная длительность прогона | нет данных | — | 1 | — |
| CI запускается на pull request | да | 100% | 1 | — |

### Работа с issues — нет данных (вес 13%)

в репозитории нет issues

| Метрика | Значение | Норм. | Вес | Вклад |
|---|---|---|---|---|
| Зависшие открытые issues (без обновления > 60 дней) | нет данных | — | 3 | — |
| Медиана первого ответа или текущего ожидания | нет данных | — | 3 | — |
| Медианное время закрытия (за 180 дней) | нет данных | — | 2 | — |
| Закрытые / созданные за 90 дней | нет данных | — | 2 | — |
| Использование меток, приоритетов, исполнителей | нет данных | — | 1 | — |

## Подтверждающие факты

| Факт | Значение | Источник |
|---|---|---|
| `meta.description` |  | [meta](https://sourcecraft.dev/mayta52/githubflow) |
| `pulls.total_seen` | 8 | [pulls](https://sourcecraft.dev/mayta52/githubflow/pulls) |
| `pulls.by_status` | {"merged": 6, "discarded": 2} | [pulls](https://sourcecraft.dev/mayta52/githubflow/pulls) |
| `releases.count` | 0 | [releases](https://sourcecraft.dev/mayta52/githubflow/releases) |
| `tags.count` | 0 | [releases](https://sourcecraft.dev/mayta52/githubflow/tags) |
| `tree.files` | 5 | [tree](https://sourcecraft.dev/mayta52/githubflow) |
| `tree.sourcecraft_files` | [] | [tree](https://sourcecraft.dev/mayta52/githubflow/.sourcecraft) |
| `files.readme` | {"length": 0, "present": false, "sections": []} | [files](https://sourcecraft.dev/mayta52/githubflow) |
| `files.license` | {"spdx": null, "present": false} | [files](https://sourcecraft.dev/mayta52/githubflow) |
| `files.ci_config` | нет | [files](https://sourcecraft.dev/mayta52/githubflow) |
| `files.practices` | {"changelog": false, "codeowners": false, "security_md": false, "contributing": false, "b… | [files](https://sourcecraft.dev/mayta52/githubflow) |
| `files.dependencies` | {"unlocked": [], "lockfiles": [], "manifests": []} | [files](https://sourcecraft.dev/mayta52/githubflow) |
| `files.tooling` | {"linters": [], "editorconfig": false} | [files](https://sourcecraft.dev/mayta52/githubflow) |
| `git.last_commit_at` | 2026-01-11T20:10:55+07:00 | [git](https://sourcecraft.dev/mayta52/githubflow/-/commits/master) |
| `git.meaningful_commits_90d` | 0 | [git](https://sourcecraft.dev/mayta52/githubflow/-/commits/master) |
| `git.human_authors_365d` | 2 | [git](https://sourcecraft.dev/mayta52/githubflow) |
| `git.bus_factor_365d` | 1 | [git](https://sourcecraft.dev/mayta52/githubflow) |
| `git.activity_authenticity` | 0.944 | [git](https://sourcecraft.dev/mayta52/githubflow) |
| `code.todo_total` | 0 | [code](https://sourcecraft.dev/mayta52/githubflow) |
| `code.test_files` | 0 | [code](https://sourcecraft.dev/mayta52/githubflow) |
| `code.lines` | 0 | [code](https://sourcecraft.dev/mayta52/githubflow) |
| `metric.ci.pr_trigger` | {"result": true, "saved_inputs": {"config_triggers": {"count": 0, "sample": []}, "runs": … | [Данные на дату анализа · CI/CD](https://sourcecraft.dev/mayta52/githubflow/cicd/runs) |
| `metric.docs.description` | {"result": false, "saved_inputs": {"description": ""}} | [Данные на дату анализа · Описание проекта](https://sourcecraft.dev/mayta52/githubflow) |
| `metric.docs.run_instructions` | {"result": false, "saved_inputs": {"run_instructions": false, "inventory_complete": true}} | [Данные на дату анализа · Файлы](https://sourcecraft.dev/mayta52/githubflow/-/tree/master) |
| `metric.activity.pr_authors_365d` | {"result": 2, "saved_inputs": {"by_status": {"merged": 6, "discarded": 2}, "items": {"cou… | [Данные на дату анализа · Pull requests](https://sourcecraft.dev/mayta52/githubflow/pulls) |
| `metric.code.quality_tooling` | {"result": 0, "saved_inputs": {"linters": {"count": 0, "sample": []}, "editorconfig": fal… | [Данные на дату анализа · Файлы](https://sourcecraft.dev/mayta52/githubflow/-/tree/master) |

## Сбор данных

| Источник | Статус | Комментарий |
|---|---|---|
| Issues | нет таких данных | в репозитории нет issues |
| Pull requests | собрано |  |
| CI/CD | нет доступа | запуски CI видны только участникам репозитория; учтены конфиг и merge-checks PR |
| Релизы и теги | нет таких данных | нет релизов и тегов |
| Дерево файлов | собрано |  |
| Ключевые файлы | собрано | git |
| История git | собрано |  |
| Содержимое кода | собрано | просканировано 5 файлов |
| AppSec SourceCraft | нет доступа | нет прав SourceCraft на просмотр AppSec этого репозитория |

## Динамика

| Дата | Score | Место в рейтинге |
|---|---|---|
| 30.09.2026 | 10.1 | — |
| 01.10.2026 | 10.1 | 8230 |
| 02.10.2026 | 10.1 | 11749 |
| 03.10.2026 | 10.1 | 13876 |
| 04.10.2026 | 10.1 | 14972 |
| 05.10.2026 | 10.1 | 15053 |
| 06.10.2026 | 10.1 | 15118 |
| 07.10.2026 | 10.1 | 15213 |
| 08.10.2026 | 10.1 | 15257 |
| 09.10.2026 | 10.1 | 15211 |
| 10.10.2026 | 10.1 | 15283 |
| 11.10.2026 | 10.1 | 15353 |

---

Отчёт сформирован сервисом SourceCraft Repo Health 11.10.2026 19:15 UTC.
Описание методики: `docs/methodology.md`.
