Skip to content

Набор инструментов для использования в репозиториях

License

Notifications You must be signed in to change notification settings

cuberbug/repo-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ Repo-Tools v2.0.0

Repo-Tools — это набор кроссплатформенных инструментов для автоматизации рутинных задач в репозиториях. Он призван упростить управление Git-операциями, настройку окружения и систематизацию файлов (например, переименование изображений).

✨ Ключевые возможности

  • Простая настройка окружения: Скрипт start.sh автоматически подготовит рабочее окружение для Python-приложений.
  • Интерактивное управление: Удобное консольное меню (Menu) для быстрого доступа ко всем инструментам.
  • Автоматизация Git-процессов: Модуль GitOps для выполнения рутинных push и pull без ручного ввода команд.
  • Систематизация файлов: Инструмент Renamer для автоматического переименования изображений по единому шаблону <unix-timestamp>.<ext>.

🚀 Установка и Запуск

Repo-Tools требует наличия следующих компонентов:

Пошаговая инструкция

  1. Клонировать репозиторий:
    git clone https://github.com/cuberbug/repo-tools
    cd repo-tools
  2. Запустить скрипт настройки start.sh. Он автоматически создаст виртуальное окружение и установит все необходимые зависимости (включая rich и questionary):
    ./start.sh
  3. Выбрать нужный инструмент через интерактивное меню.

💻 Интерактивное меню (Menu)

Это центральная точка входа в Repo-Tools. Созданное с помощью библиотек rich и questionary, оно избавляет от необходимости вспоминать команды и пути.

Главное меню позволяет:

  • выполнять Git-операции (push / pull) через модуль GitOps;
  • запускать Renamer для автоматического переименования изображений;
  • быстро переключаться между режимами работы и завершать программу.

Меню автоматически определяет контекст запуска:

  • Если инструмент используется как сабмодуль внутри cuberbug-walls (или другого репозитория с директорией wallpapers), оно предоставляет готовые пункты для автоматического запуска Renamer с корректными путями.
  • Если приложение запущено автономно, то директорию для запуска можно выбрать вручную.

⚙️ Модули и Утилиты

💾 GitOps: Рутинный Git на автопилоте

GitOps автоматизирует два основных сценария, чтобы не приходилось вручную писать git add . и коммитить каждый раз:

  • Сохранить (git push): Автоматически составляет коммит со стандартным сообщением (на основе времени UTC) и отправляет его в репозиторий.
  • Загрузить (git pull): Загружает актуальное состояние удалённого репозитория.

🖼️ Renamer: Порядок в изображениях

Renamer — это скрипт на Python, который систематизирует коллекцию изображений, автоматически переименовывая все файлы (в указанной и поддиректориях) на основе времени последней модификации (Unix-timestamp).

Формат переименования: <timestamp>.<ext>. Это обеспечивает единый стиль именования и позволяет легко сортировать коллекцию по дате сохранения.

Контекстный запуск (для cuberbug-walls)

Если этот репозиторий подключен к cuberbug-walls в качестве сабмодуля, то в меню будут доступны пункты прямого запуска Renamer для директории /cuberbug-walls/wallpapers/. Пользователь также всегда может указать директорию вручную.

Это будет работать для любого репозитория, к которому Repo-Tools подкючен в качестве сабмодуля и в котором есть директория wallpapers:

/cuberbug-walls/    # Репозиторий, к которому подключается repo-tools
├── tools/              # Корневая директория repo-tools
│   ├── apps/           # Директория для Python-приложений
│   │   ├── gitops/     #
│   │   ├── menu/       #
│   │   ├── renamer/    #
│   │   └── requirements.txt  # Зависимости окружения
│   ├── scripts/        #
│   │   ├── decor.sh    #
│   │   └── utils.sh    #
│   └── start.sh        #
└── wallpapers/     # Директория, к которой применяется переименование изображений

About

Набор инструментов для использования в репозиториях

Resources

License

Stars

Watchers

Forks

Packages

No packages published