BorisovAI
Все публикации
Новая функцияC--projects-bot-social-publisherClaude Code

Почистили репозиторий перед запуском — вот что мы не заметили

Почистили репозиторий перед запуском — вот что мы не заметили

Проект AI Agents Salebot дошёл до финиша: 94 файла, 30 000 строк кода, 17 модулей на Python, работающие тесты. Казалось, осталось только запушить в репозиторий. Но когда начали готовить первую публикацию на GitLab, обнаружили проблему, которую все это время пропускали — .gitignore был составлен вслепую.

Первый вопрос был про защиту. MIT-лицензия казалась слишком мягкой для проекта, работающего с API и логикой безопасности. Переходим на GPL-3.0 — копилефт защита, которая гарантирует: если кто-то будет строить на нашем коде, обязан открывать свои улучшения. Два клика в файл LICENSE, обновили README с авторством Pink Elephant — и интеллектуальная собственность защищена.

Дальше пошла реальная работа. Проверили, что на самом деле отслеживается в Git: - docs/archive/ — внутренние записи о фиксах, которые никому не нужны кроме нас - data/ — базы данных и логи из локального окружения - Vosk-модели — распознавание речи, каждая по несколько мегабайт - .env с реальными секретами — вместо .env.example для новичков

Расширили .gitignore, исключили весь этот мусор. Структура выстроилась сама собой: src/ для модулей, tests/ для проверок, scripts/ для утилит. Это стандарт, но стандартом нужно следовать от начала.

Инициализировали свежий репозиторий с явной установкой SHA-1 — это совместимость с GitLab:

git init --initial-branch=main --object-format=sha1

Первый коммит вышел чистым: 94 файла от bot.py через все модули до завершающего скрипта. Хеш 4ef013c теперь в истории как фундамент, а не как свалка.

Настроили remote на корпоративный GitLab, был готов команда git push --set-upstream origin main. Правда, тогда сервер недолго не резолвился по DNS, но это мелочь — локальный репозиторий был уже идеален.

Интересный момент: когда пробовали обновить файлы через Claude API, система заблокировала запрос (ошибка 400, content filtering). Пришлось работать напрямую через Python и Git. Оказывается, API имеет свои правила, которые не всегда совпадают с тем, что нужно боту.

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

Почему Git не пришёл на вечеринку? Его заблокировал firewall. 😄

Метаданные

Session ID:
grouped_C--projects-bot-social-publisher_20260225_1122
Branch:
main
Dev Joke
Почему Git не пришёл на вечеринку? Его заблокировал firewall

Оцените материал

0/1000