Клонируем репозиторий по SSH, создаём ветку develop и убеждаемся, что папка src/ существует.
# Клонируем репозиторий (подставь свою ссылку SSH) git clone <URL_твоего_репозитория> cd <имя_папки_репозитория> # Создаём ветку develop и переключаемся на неё git checkout -b develop # Создаём src/, если её нет mkdir -p src
Выдаём права на исполнение скрипту ai_initial_module.sh, запускаем и фиксируем результат.
# Выдаём права на исполнение chmod +x src/ai_initial_module.sh # Запускаем скрипт ./src/ai_initial_module.sh # Фиксируем изменения git add . git commit -m "Quest 2: Запуск ai_initial_module" git push origin develop
Запускаем ai_door_management_module.sh, смотрим на ошибки, создаём нужные папки/файлы и записываем всё в quest3.sh.
# Запускаем модуль, чтобы увидеть ошибки ./src/ai_door_management_module.sh # Создаём недостающие папки или файлы mkdir <имя_недостающей_папки> touch <имя_недостающего_файла> # Записываем успешные команды в quest3.sh echo "mkdir <имя_недостающей_папки>" > src/quest3.sh echo "touch <имя_недостающего_файла>" >> src/quest3.sh # Фиксируем git add src/quest3.sh <другие_изменённые_файлы> git commit -m "Quest 3: Fix door management config"
Находим PID процесса ai_door_control.sh, завершаем его и записываем команды в quest4.sh.
# Ищем процесс (PID — второй столбец) ps aux | grep ai_door_control.sh # Завершаем процесс (подставь номер PID) kill <PID> # Записываем команды в quest4.sh echo "ps aux | grep ai_door_control.sh" > src/quest4.sh echo "kill <PID>" >> src/quest4.sh # Фиксируем git add src/quest4.sh git commit -m "Quest 4: Terminated door control process"
Открываем конфиг двери в nano, меняем STATUS на OPEN, и пишем текстовый отчёт в quest5.txt.
# Открываем конфиг в nano nano <путь_к_файлу_конфигурации> # Меняем STATUS → OPEN, сохраняем: Ctrl+O, Enter, Ctrl+X # Создаём текстовый отчёт echo "1. Запустил nano <путь_к_файлу_конфигурации>" > src/quest5.txt echo "2. Нашёл строку STATUS и изменил значение на OPEN" >> src/quest5.txt echo "3. Сохранил изменения и вышел из редактора" >> src/quest5.txt git add src/quest5.txt <путь_к_файлу_конфигурации> git commit -m "Quest 5: Configured door status"
Запускаем keygen.sh, удаляем мусорные файлы, запускаем unifier.sh, переносим папку. Всё записываем в quest6.sh.
# Генерируем ключ ./src/ai_help/keygen.sh # Удаляем мусорные файлы (например, по расширению) rm src/ai_help/key/*.trash # Объединяем части ключа ./src/ai_help/unifier.sh # Переносим ключ и папку mv main.key src/ai_help/ mv key/ src/ai_help/ # Фиксируем git add src/quest6.sh src/ai_help/main.key src/ai_help/key/ git commit -m "Quest 6: Generated main key"
Читаем инструкцию из src/git_for_human и создаём ветки согласно схеме внутри файла.
# Читаем инструкцию cat src/git_for_human/<имя_инструкции> # Создаём ветку git branch <имя_ветки> # Переключаемся на ветку git checkout <имя_ветки>
Quest 8 — Vim
Дополняем историю Vim и пишем лог в src/files.log с размером, датой и SHA256.
vim src/history_of_vim.txt # i → редактируй → Esc → :wq SIZE=$(stat -c%s src/history_of_vim.txt) DATE=$(date +"%Y-%m-%d %H:%M") HASH=$(sha256sum src/history_of_vim.txt) echo "src/history_of_vim.txt - $SIZE - $DATE - $HASH - sha256" \ >> src/files.log
Quest 9 — Script
Скрипт src/edit.sh автозаменяет текст и обновляет лог.
# sed для замены (Linux/Bash) sed -i "s/$2/$3/g" "$1" # sed для замены (Mac/Zsh) sed -i '' "s/$2/$3/g" "$1"
Quest 10 — GitLab
Пишем Markdown-инструкцию src/gitlab_manual.md со скриншотами.
touch src/gitlab_manual.md # Внутри файла: # # Заголовок # 