Всем привет, в этой статье я хочу написать про инструмент, который может быть полезным многим новичкам и людям которым не нравится синтаксис гита.
Суть проекта:
Проект был создан ради того чтобы вопервых заполнить моё портфолио и во вторых — исправить мою забывчивость в синтаксисе гита, т.к я иногда забываю команды для него, что замедляет мой прогресс
Цели проекта:
-
Сделать лёгким и удобным для использования
-
Сделать лёгким для правки его кода
-
Постараться не облажаться
Проект я решил писать на Golang т.к в портфолио у меня было мало проектов связанных с ним т.к мне всегда было интереснее писать на С++ опенгл и учить vulkanAPI. Но и в golang я отставать не хотел. И в связи с тем, что в прошлом проекте я застрял на изучении того как, мне достучаться до гемини АПИ через ключ, я пошёл искать возможные инструменты связанные с этим и нашёл как по мне хороший пакет: google.golang.org/genai. Он оказался очень прост в использовании так что проект создан на этом пакете.
Для начала я столкнулся с проблемой, что гемини всегда пытался ответить пользователю а не сделать команды (Т.к там есть тег который если гемини пишет, то ответ идёт пользователю а не вводиться в консоль). Но это легко было исправлено более строгим промптом.
Следующая проблема оказалась в том что если гемини отвечает допустим командой git commit -m «Fixed readme.md», тогда мой код считал что пробел внутри кавычек означает что это следующий аргумент и разрезал что полностью ломало команду. Я это исправил переходом на bash в строке
cmd := exec.Command("bash", "-c", cmdStr)
И в итоге теперь у нас есть утилита готовая к использованию всего ОДНОЙ командой и это gitTalk «Инициализируй репозиторий и закоммить его под именем: привет мир и запушь на гитхаб по юрл: https://github.com/nik251021/gitTalk»
Ссылка на инструмент: https://github.com/nik251021/gitTalk
ссылка на оригинал статьи https://habr.com/ru/articles/1068280/