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

Как мы привели AI Salebot в порядок перед первой публикацией

Как мы привели AI Salebot в порядок перед первой публикацией

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

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

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

  • docs/archive/ — внутренние записи о фиксах и экспериментах, которые нужны только разработчикам
  • data/ — базы данных и логи, живущие в локальной среде
  • vosk-model-* — модели распознавания речи весом в мегабайты (не место в Git)
  • Окружение без шаблона для новичков

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

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

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

Настроили remote на корпоративный GitLab, создали первый коммит. Ничего лишнего — только essential код. Хеш коммита 4ef013c сохранили в истории.

Попытались отправить на сервер gitlab.dev.borisovai.ru, но DNS не резолвился. Сервер был недоступен на момент работы — это временная задержка. Когда GitLab вернётся в сеть, достаточно одной команды:

git push --set-upstream origin main

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

Результат: репозиторий, готовый к публикации. Все файлы отслеживаются, лицензия правильная, документация актуальна, мусор исключён. Мигрировать настройки вроде Tailwind CSS на новый сервер будет проще, чем чистить хаос в стартовом коммите 😄

Метаданные

Session ID:
grouped_C--projects-bot-social-publisher_20260225_1119
Branch:
main
Dev Joke
Мигрировать с Tailwind CSS — всё равно что менять колёса на ходу. На самолёте.

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

0/1000