Многие из разработчиков занимаются личными проектами. С годами список растет и интересно как другие не начинают путаться в нём. Когда у меня было <10 проектов, то они были просто разбросаны по разным папкам. Со временем их стало больше и стало трудней ими управлять. Было решено хранить проекты в одной папке projects
. В корне папки лежат только активные проекты (над которыми сейчас ведется работа). В подпапке frozen
уже неактивные.
Но на этом было трудно остановиться и я пошел дальше. Хотелось как-то оптимизировать работу с проектами. Например, одной командой запускать все нужные докер контейнеры и IDE или делать ещё кучу всего. Фантазия богатая. Ну и что бы где-то отображалось описание и логотип проекта. Поэтому в каждый активный проект добавил файл .description.yml
. Пример:
icon: ./icon.jpg
background: ./bg.jpg
readme: ./README.md
action:
type: 'command'
command: /home/michael/apps/pycharm/bin/pycharm.sh {edir} &
commands:
- slug: restart
name: 'Restart'
type: 'server_command'
command: 'docker-compose restart'
interact: true
В этом файлике прописывается логотип, путь к файлу с описанием проекта, действие при выборе проекта и команды.
Дальше написал программку на питоне для работы с проектами и с файлами .description.yml
. Потом реализовал на Electron графический интерфейс. Получилось это:
Работает неплохо, но GUI мне душевного спокойствия так и не принес. При кликах на проекты запускался терминал, и там выполнялись команды. Не очень удобно. Да, можно это исправить, но часть скриптов уже написана и некоторые действия требуют ввод. Всё переписывать не хотелось. Хоть поиск оказался удобным 🙂
Следующий этап. Сделал "интерфейс" для терминала:
Пока этого хватает. Посмотрим, что дальше будет.
Наработки программы и раньше были. Старые версии просто предоставляли навигацию по проектам. В текущей версии можно выполнять разные команды, смотреть описание, искать проекты и т.д. Наверно проще было найти готовый софт или посмотреть как другие решают эту проблему, но куда мы без костылей и велосипедов...