Утилита для сбора кода из проектов с учетом .gitignore. Программа обходит все проекты в указанной папке, собирает код всех файлов (кроме игнорируемых) и сохраняет его в текстовый файл в папке каждого проекта.
# Клонирование репозитория
git clone https://github.com/yourusername/project-code-collector.git
cd project-code-collector
# Установка зависимостей
npm install
# Сборка проекта
npm run build- Создайте файл
.envв корне проекта (можно скопировать из.env.example):
# Путь к корневой папке с проектами
PROJECTS_ROOT_PATH=/путь/к/папке/с/проектами
# Имя выходного файла (по умолчанию: project_code.txt)
OUTPUT_FILE_NAME=project_code.txt
- Укажите в переменной
PROJECTS_ROOT_PATHпуть к папке, содержащей ваши проекты. - При необходимости измените имя выходного файла в переменной
OUTPUT_FILE_NAME.
# Запуск программы
npm start
# Или с использованием ts-node (без предварительной сборки)
npm run dev- Находит все папки (проекты) в указанной корневой директории
- Для каждого проекта:
- Проверяет наличие файла .gitignore
- Если .gitignore есть, использует его для определения файлов, которые нужно игнорировать
- Если .gitignore нет, использует стандартный набор игнорируемых папок (node_modules, .git, dist, build)
- Рекурсивно обходит все подпапки проекта
- Собирает содержимое всех текстовых файлов
- Создает txt-файл в папке проекта с содержимым всех файлов
- Программа обрабатывает бинарные файлы, отмечая их как "[Бинарный файл]"
- Обрабатывает ошибки чтения файлов и директорий, чтобы не прерывать процесс из-за отдельных проблемных файлов
- Учитывает файлы .gitignore в каждом проекте
- Если в проекте нет .gitignore, использует стандартный набор исключений