Я для себя создал sh-скрипт, который формирует файл в формате Markdown с текстом стартового запроса к ИИ. Дальше просто вносим небольшие правки в md-файле и передаем текст из этого файла вашему любимому чат-боту с нейросетью. 

Я для себя выбрал 2 наиболее часто используемых варианта: 

  • DeepSeek - обожаю его, в первую очередь, за способность обрабатывать огромные объемы данных. Чат периодически зависает (в какие-то часы пиковой нагрузки) и приходится ждать свободной возможности получить ответ. Также чат иногда путается в собственных ответах, так что бездумное копирование - точно не тот вариант
  • BotHub - платный доступ из РФ ко всем популярным сетям ИИ. Данный чат использую, когда бесплатный китайский "завис", или когда нужна другая, более мощная модель ИИ (например, некоторые задачи в создании веб-приложений ChatGPT  последней версии делает на много качественнее).

Итак, для формирования md-файла создал файл "collect-chat-files.sh" в корневой папке всех моих проектов. Код скрипта:

#!/bin/bash

# Скрипт для сбора файлов чата по конфигурационному файлу с поддержкой многострочных комментариев
if [ $# -eq 0 ]; then
    echo "Использование: $0 "
    echo "Пример: $0 /path/to/chat_files.list"
    exit 1
fi

CONFIG_FILE="$1"
if [ ! -f "$CONFIG_FILE" ]; then
    echo "Ошибка: Конфигурационный файл не найден: $CONFIG_FILE"
    exit 1
fi

# Определяем выходной файл (рядом с конфигом)
OUTPUT_DIR=$(dirname "$CONFIG_FILE")
OUTPUT_FILE="$OUTPUT_DIR/chat_files_report.md"

# УДАЛЯЕМ существующий файл если есть и СОЗДАЕМ новый
rm -f "$OUTPUT_FILE"
touch "$OUTPUT_FILE"

echo "# Ты — эксперт по 1С-Битрикс (версии D7 и новее). Специализация:" > "$OUTPUT_FILE"
echo " - Разработка модулей и компонентов" >> "$OUTPUT_FILE"
echo " - Интеграция с CRM/ERP" >> "$OUTPUT_FILE"
echo " - Оптимизация производительности сайтов на Битрикс" >> "$OUTPUT_FILE"
echo "# Формат ответов:" >> "$OUTPUT_FILE"
echo "  1. Четкие пошаговые инструкции" >> "$OUTPUT_FILE"
echo "  2. Примеры кода с учетом D7 API" >> "$OUTPUT_FILE"
echo "  3. Ссылки на официальную документацию" >> "$OUTPUT_FILE"
echo "  4. При внесении изменений в код говори четко, что и откуда нужно удалить, что, и куда добавить. Обязательно указывай, если какой-то код устарел и его нужно убрать перед добавлением нового" >> "$OUTPUT_FILE"
echo "# Не предлагай:" >> "$OUTPUT_FILE"
echo " - Устаревшие решения (например, на старом ядре)" >> "$OUTPUT_FILE"
echo " - Неофициальные хаки, нарушающие лицензию" >> "$OUTPUT_FILE"
echo " - Использовать файл "component.php" при создании компонентов" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "Прежде чем дать мне ответ, оцени его неопределённость. Если она больше, чем 0.1 — задавай мне уточняющие вопросы до тех пор, пока неопределённость будет 0.1 или меньше" >> "$OUTPUT_FILE"
echo "Не предлагай альтернативы решения, предлагай единственное верное, наиболее оптимизированное решение!" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "# Вводные данные: " >> "$OUTPUT_FILE"

# Функция для добавления файла в отчет
add_file() {
    local file_path=$1
    local title=$2
    local lang=$(get_language "$file_path")

    if [ -f "$file_path" ]; then
        echo "## $title" >> "$OUTPUT_FILE"
        echo "**Файл:** \`$file_path\`" >> "$OUTPUT_FILE"
        echo "**Язык:** $lang" >> "$OUTPUT_FILE"
        echo "" >> "$OUTPUT_FILE"
        echo "\`\`\`$lang" >> "$OUTPUT_FILE"
        cat "$file_path" >> "$OUTPUT_FILE"
        echo "" >> "$OUTPUT_FILE"
        echo "\`\`\`" >> "$OUTPUT_FILE"
        echo "" >> "$OUTPUT_FILE"
    else
        echo "## $title" >> "$OUTPUT_FILE"
        echo "**Файл не найден:** \`$file_path\`" >> "$OUTPUT_FILE"
        echo "" >> "$OUTPUT_FILE"
    fi
}

# Функция для определения языка файла
get_language() {
    local ext="${1##*.}"
    case "$ext" in
        js) echo "javascript" ;;
        php) echo "php" ;;
        scss) echo "scss" ;;
        css) echo "css" ;;
        vue) echo "vue" ;;
        json) echo "json" ;;
        xml) echo "xml" ;;
        html) echo "html" ;;
        *) echo "plaintext" ;;
    esac
}

# Читаем конфигурационный файл и извлекаем многострочные комментарии
echo "Чтение конфигурационного файла: $CONFIG_FILE"
echo "Создание отчета: $OUTPUT_FILE"

# Переменные для обработки комментариев
in_comment_block=false
comment_content=""

# Первый проход: извлекаем все комментарии до первого файла
while IFS= read -r line; do
    # Начало/конец блока комментариев
    if [[ "$line" =~ ^# && ! "$line" =~ \| ]]; then
        if [ "$in_comment_block" = false ]; then
            in_comment_block=true
            comment_content=""
        fi
        # Убираем решетку и добавляем в содержание
        clean_line=$(echo "$line" | sed 's/^# //' | sed 's/^#//')
        comment_content="$comment_content$clean_line"$'\n'
    elif [ "$in_comment_block" = true ] && [[ ! "$line" =~ ^# ]] && [[ ! -z "$line" ]]; then
        # Конец блока комментариев, встречаем первый не-комментарий
        in_comment_block=false
        echo "$comment_content" >> "$OUTPUT_FILE"
        echo "" >> "$OUTPUT_FILE"
    elif [[ "$line" =~ \| ]]; then
        # Встретили строку с файлом, прерываем комментарии если были
        if [ "$in_comment_block" = true ]; then
            in_comment_block=false
            echo "$comment_content" >> "$OUTPUT_FILE"
            echo "" >> "$OUTPUT_FILE"
        fi
        break
    fi
done < "$CONFIG_FILE"

# Второй проход: обрабатываем файлы
while IFS= read -r line; do
    # Пропускаем чистые комментарии (только решетки без |)
    if [[ "$line" =~ ^# ]] && [[ ! "$line" =~ \| ]]; then
        continue
    fi

    # Пропускаем пустые строки
    if [[ -z "$line" ]]; then
        continue
    fi

    # Разбираем строку: файл|заголовок
    IFS='|' read -ra parts <<< "$line"
    if [ ${#parts[@]} -ge 2 ]; then
        file_path=$(echo "${parts[0]}" | xargs) # trim whitespace
        title=$(echo "${parts[1]}" | xargs) # trim whitespace

        echo "Добавляем файл: $file_path"
        add_file "$file_path" "$title"
    fi
done < "$CONFIG_FILE"

echo "✅ Отчет создан: $OUTPUT_FILE"

Файл делаем исполняемым:

	chmod +x collect-chat-files.sh

Далее, создаем файл с инструкциями:

	touch data.list

Пишем в него инструкцию: сначала в комментариях - то, что будет стартовым текстом для сообщения боту, далее - список путей к файлам, которые нужно обработать и заголовок-комментарий к каждому файлу через символ "|". Пример файла:

# У меня есть компонент новостей для моего сайта на 1С-Битрикс.
# Файлы компонента
~/Projects/ProjectName/local/templates/template_name/components/bitrix/news.list/template.php | Шаблон компонента
~/Projects/ProjectName/local/templates/template_name/components/bitrix/news.list/result_modifier.php | Файл модификации данных
~/Projects/ProjectName/local/templates/template_name/components/bitrix/news.list/script.js | Файл с JS-скриптами к компоненту
~/Projects/ProjectName/local/templates/template_name/components/bitrix/news.list/style.scss | Файл стилей компонента в формате scss

И запускаем файл на исполнение:

./collect-chat-files.sh ./data.list

В результате, рядом с файлом с заготовкой комментария появится файл "chat_files_report.md", текст которого можно дополнить непосредственно вопросом и передать чат-боту искусственного интеллекта. Код из всех переданных файлов в полном объеме будет тут же добавлен в файл, оформленный в виде кода.

P.S. Скрипт написан для MacOs, т.к. это основная моя рабочая операционная система уже много лет, но также подойдет и для любой другой linux-системы. Как адаптировать это для Windows - не подскажу, т.к. данной операционкой не пользуюсь еще дольше, чем пользуюсь ПО от Apple.

P.P.S  Ну и так как моя основная деятельность по прежнему связана с сайтами на базе 1С-Битрикс - в заготовке зашит базовый промт, касающийся именно битрикса, но его также легко можете изменить под нужный вам вариант :)

Количество показов: 201


Реклама: ООО 'КвикСофт'. ИНН 7734706120. ERID: CQH36pWzJqCRJ4UXKvMNSFqMsX7dYBaPEMRX5odpmNzefp
Реклама: ООО "Таймвеб". ИНН 7840339881. ERID: CQH36pWzJqCRJ4UXUsMHpqiAFXGXsNMKwFXHih2J7kSZMP

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.