Categorygithub.com/avran02/sky-cli
repositorypackage
0.1.1
Repository: https://github.com/avran02/sky-cli.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

SKY_CLI инструмент для генерации шаблонов проектов

  1. Вступление
  2. Предупреждения
  3. Установка
  4. Использование
  5. Разработка плагинов

Вступление

sky-cli это утилита для генерации шаблонов ваших проектов. Она стоит из трёх основных частей:

  • sky-cli-lib - общая библиотека для плагинов и самой cli утилиты. Она содержит основные структуры, их методы и логику генерации.
  • Плагины - представлены .so файлами и должны содержать информацию о структуре проекта, команды операционной системы и шаблоны для файлов
  • sky-cli - утилита, реализующая логику подключения плагинов и интерфейс командной строки

Так как структура описывается в плагине, sky-cli очень гибкий инструмент и не привязан к конкрутному языку программирования или патерну проектирования

Предупреждения

  • Для установки плагинов нужен установленный компилятор go
  • Не поддерживается для windows. Возможно будет работать в wsl
  • Всегда генерируйте проект в пустой директории, чтобы не потерять файлы, которые уже есть в директории
  • Лучше компилировать плагин и sky-cli одним и тем же компилятором. Используемая библиотека очень чувствительна к изменениям в версиях

Установка

Установите компилятор go

Установите sky-cli

go install github.com/avran02/sky-cli

Убедитесь, что папка ~/go/bin есть в переменной окружения PATH. если нет, добавьте в свой .bashrc или .zshrc файл строчку:

export PATH=$PATH:~/go/bin

Для создания директории с плагинами в ~/.config/sky-cli и установки базовых плагинов выполните

sky-cli configure

Использование

Для создания шаблона проекта используется флаг 'init' с указанием плагина, который стоит использовать для генерации, например для создания шаблона плагина выполните

sky-cly init plugin

Для получения списка всех доступных плагинов используйте

sky-cli list

Для установки плагина выполните.

Внимание: Вы обязаны указать точную версию плагина и не можете использовать тэг @latest Это связано с тем, что Ваша ссылка будет использоваться для нахождения директории с плагином для его последующей компиляции

sky-cli install your/plugin/[email protected]

Разработка плагинов

Если Вы не нашли подходящий плагин, всегда можно написать свой! Утилита разрабатывалась таким образом, чтобы кто угодно мог написать свой плагин, даже не зная golang.

Приступим!

Для начала нужно установить sky-cli. Далее нам нужно сгенерировать шаблон плагина.

# создаёи папку с будующим плагином
mkdir my-perfect-plugin

# переходим в неё
cd my-perfect-plugin

# генерируем шаблон плагина
sky-cli init plugin

Утилита спросит название проекта для команды go mod init. Если вы будете использовать github для хранения плагина, рекомендую ввести что-то типа github.com/avran02/my-perfect-plugin. В нашем примере плагин для конечного пользователя будет называться my-perfect-plugin. Учитывайте это при выборе имени, ведь никто не захочет писать очень длинное название

Затем откройте эту папку в любимом редакторе кода. Вы увидите структуру PluginConfig и некоторые её методы. Так же вы найдёте функцию GetPluginConfig. НЕ ПЕРЕИМЕНОВЫВАЙТЕ ЕЁ! Я предпочитаю описывать в этом методе все директории проекта, а команды и файлы описывать в отдельном блоке var снизу. Всё, что нам остаётся сделать это написать шаблоны фалов в пакете tpl, и описать структуру в JSON`оподобном объекте.

Вы всегда можете подглядеть пример здесь