From cf969a764dbba1e644257f363e6fcc0035c69f7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B0=D1=88=D0=B5=20=D0=98=D0=BC=D1=8F?= Date: Sat, 10 Jan 2026 14:22:42 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20Re?= =?UTF-8?q?adme.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Readme.md | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 133 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 2312cb6..abe2da2 100644 --- a/Readme.md +++ b/Readme.md @@ -1,2 +1,133 @@ -# Debug -```dlv debug --headless --listen=:40000 --api-version=2``` \ No newline at end of file +# Hello + +Утилита командной строки для работы через интерактивное меню. + +## Установка + +### Вариант 1: Сборка из исходников + +```bash +# Клонируем или копируем исходники +cd /путь/к/проекту + +# Собираем бинарник +go build -o hello main.go + +# Проверяем +./hello --help +``` + +### Вариант 2: Ручное копирование + +1. **Скомпилируйте или возьмите готовый бинарник** `hello` + +2. **Скопируйте его в один из путей:** + +```bash +# Вариант A: В домашнюю папку (рекомендуется) +cp hello ~/hello +# Использовать: ~/hello + +# Вариант B: В текущую рабочую папку +cp hello /ваша/рабочая/папка/ +# Использовать: ./hello + +# Вариант C: В системный PATH (если нужно глобально) +sudo cp hello /usr/local/bin/ +# Использовать: hello +``` + +3. **Создайте структуру конфигов** (если нужно): + +```bash +# В домашней директории +mkdir -p ~/.hello/menu +cp menu.yml ~/.hello/menu/ +cp env.ini ~/.hello/ + +# Или в рабочей директории +mkdir -p menu +# положите туда ваши menu.yml и env.ini +``` + +## Использование + +### Интерактивный режим + +```bash +# Если бинарник в PATH +hello + +# Если бинарник в текущей папке +./hello + +# Если бинарник в домашней директории +~/hello +``` + +### Прямой запуск команд + +```bash +# Выполнить пункт 1 из меню +hello --exec "1" + +# Выполнить цепочку 1 → 2 → 3 +hello --exec "1-2-3" +``` + +## Структура проекта + +``` +. +├── hello # бинарник (после сборки) +├── main.go # исходный код +├── menu/ # папка с меню (опционально) +│ └── menu.yml # главное меню +├── env.ini # переменные (опционально) +└── README.md +``` + +## Быстрый старт + +1. **Соберите бинарник** +2. **Создайте базовый `menu.yml`**: + +```yaml +items: + 1: + title: "1. Список файлов" + commands: + - "ls -la" + 2: + title: "2. Проверка диска" + commands: + - "df -h" + 3: + title: "3. Git статус" + commands: + - "git status" + catch: + - "echo 'Не git репозиторий'" +``` + +3. **Запустите**: +```bash +./hello +``` + +## Отладка + +```bash +# Запуск с Delve +dlv debug --headless --listen=:40000 --api-version=2 + +# Компиляция с отладочной информацией +go build -gcflags="all=-N -l" -o hello main.go +``` + +## Примечания + +- Программа ищет `menu.yml` в папке `menu/` относительно места запуска +- Если `menu.yml` не найден, нужно создать его вручную +- Файл `env.ini` нужен только если в меню используются переменные `%(имя_переменной)s` +- Для работы в любой папке копируйте бинарник в место, указанное в PATH, или используйте абсолютный путь \ No newline at end of file