https://github.com/phptcloud/github-booster
Проект для выполнения автоматических действий на github и сбора метрик.
https://github.com/phptcloud/github-booster
Last synced: about 2 months ago
JSON representation
Проект для выполнения автоматических действий на github и сбора метрик.
- Host: GitHub
- URL: https://github.com/phptcloud/github-booster
- Owner: PHPTCloud
- Created: 2024-03-16T11:47:16.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-31T09:02:20.000Z (about 1 year ago)
- Last Synced: 2025-03-24T17:21:36.642Z (3 months ago)
- Language: PHP
- Size: 184 KB
- Stars: 11
- Watchers: 1
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Github booster
## Описание
Идея приложения в том, чтобы иметь под рукой функционал для автоматизированных действий на Github. Также с его помощью планируется сбор метрик и сегментация пользователей, с которыми можно взаимодействовать для достижения конечной цели.
Для системы выделяются следующие задачи:
1. Автоматизировать балансировку подписчиков/подписок. Необходимо отписываться от людей, на которых ранее был подписан пользователь, но которые не подписались в ответ.
2. Собрать метрики, по которым можно сегментировать пользователей. Например, тех кто охотно подписывается в ответ или ставит звезды.
3. Автоматизировать длительный процесс выполнения стратегии "Зуб за Зуб". Принцип стратегии в контексте Github состоит из набора подписчиков за счет взаимной подписки, а также получении звезд за счет взаимного обмена.## Зависимости проекта
Для работы с проектом требуется наличие на используемой машине следующих инструментов:
1. Docker
2. Docker Compose
3. Bash / Shell
4. Make** Необязательные инструменты.
## Установка
При установленном сборщике проектов Make:
```bash
make init
```Запуск через Docker Compose:
```bash
docker compose build \
&& docker compose up -d --remove-orphans \
&& docker compose exec app composer i
```## Использование
### Создание Personal Access Token
Перед использованием команд создайте Personal Access Token с [помощью инструкции](https://docs.github.com/ru/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on).
`TODO: Описать минимальный набор доступов для токена.`
### github:subscribers:check-unfollowing
Проверка пользователей, которые не подписались в ответ
```bash
docker compose exec app php bin/console github:subscribers:check-unfollowing \
--token='your github personal access token' \
--username='your username'
```### github:subscribers:sync
Синхронизирует список подписчиков целевого пользователя.
(!) ВАЖНО: метод перед работой очищает таблицу базы данных, чтобы данные всегда были актуальны.
```bash
docker compose exec app php bin/console github:subscribers:sync \
--token='' \
--username=''
```### github:subscriptions:sync
Синхронизирует список подписок целевого пользователя.
(!) ВАЖНО: метод перед работой очищает таблицу базы данных, чтобы данные всегда были актуальны.
```bash
docker compose exec app php bin/console github:subscriptions:sync \
--token='' \
--username=''
```### github:subscriptions:balancing
(!) ВАЖНО: метод перед работой очищает таблицу базы данных, чтобы данные всегда были актуальны.
```bash
docker compose exec app php bin/console github:subscriptions:balancing \
--token='' \
--username=''
```### github:subscribers:balancing
(!) ВАЖНО: метод перед работой очищает таблицу базы данных, чтобы данные всегда были актуальны.
```bash
docker compose exec app php bin/console github:subscribers:balancing \
--token='' \
--username=''
```