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

Как мы почистили репозиторий перед публикацией AI Salebot

Как мы почистили репозиторий перед публикацией AI Salebot

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

Лицензия и философия

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

Агрессивная чистка

Дальше пошла реальная работа. Проверили .gitignore и поняли, что случайно отслеживали кучу мусора:

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

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

Инициализация по правилам

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

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

Первый коммит вышел чистым: не свалка файлов, а осознанная база. Хеш 4ef013c теперь в истории как фундамент.

Отправка в мир

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

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

Итог

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

Помни: GitHub лучший друг разработчика. Потому что без него ничего не работает. С ним тоже, но хотя бы есть кого винить 😄

Метаданные

Session ID:
grouped_C--projects-bot-social-publisher_20260225_1120
Branch:
main
Dev Joke
Почему GitHub лучший друг разработчика? Потому что без него ничего не работает. С ним тоже, но хотя бы есть кого винить

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

0/1000