gitTalk: когда лень вспоминать команды для гита

от автора

Всем привет, в этой статье я хочу написать про инструмент, который может быть полезным многим новичкам и людям которым не нравится синтаксис гита.

Суть проекта:

Проект был создан ради того чтобы вопервых заполнить моё портфолио и во вторых — исправить мою забывчивость в синтаксисе гита, т.к я иногда забываю команды для него, что замедляет мой прогресс

Цели проекта:

  • Сделать лёгким и удобным для использования

  • Сделать лёгким для правки его кода

  • Постараться не облажаться

Проект я решил писать на 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/