Когда проект готовится к миру: от хаоса к лицензии

Работаю над AI Agents Salebot уже несколько недель. Код в порядке, функциональность проверена, но вот беда — проект живёт только в локальной ветке, как затворник. Пришло время выпустить его в свет. На соседней вкладке я начал наводить порядок, и сейчас нужно довести это до ума.
Первая проблема, которая встала передо мной — лицензирование. Проект был помечен как MIT, но это не совпадает с нашей философией. Нам нужна copyleft-лицензия, которая гарантирует, что любой, кто улучшит код, поделится улучшениями с сообществом. Выбрал GPL-3.0 — самую распространённую и надёжную. Обновил README.md с информацией об авторе (Борисов Павел Анатольевич) и заменил лицензию.
Дальше началась чистка. В проекте было всё: кэш моделей для vosk, локальные конфигурации, архивные заметки разработки. Всё это не должно попадать в репозиторий. Расширил .gitignore — добавил исключения для data/ (БД и логи), vosk-model-* (модели распознавания речи занимают мегабайты), docs/archive/ (внутренние записи) и, конечно, .env с секретами.
Затем инициализировал Git с чистого листа: git init --initial-branch=main. Настроил remote на GitLab (***@***.***:ai-agents/promotion-bot.git), добавил все файлы и создал первый коммит. 94 файла, 29708 строк кода — серьёзный проект.
Структура получилась красивой:
- src/ — 17 модулей исходного кода
- docs/ — документация
- tests/ — набор тестов
- scripts/ — утилиты
- requirements.txt — все зависимости на месте
- env.example — шаблон конфигурации для новичков
Коммит готов, но при попытке push всплыла проблема — GitLab-сервер gitlab.dev.borisovai.ru не доступен. DNS не резолвится. Раздражающе, но коммит уже создан локально (хеш 4ef013c). Когда сервер оживёт, выполню push с флагом --set-upstream.
Интересный факт: когда я мигрировал код с FastAPI на другую архитектуру, это было похоже на то, как если бы пилот решил менять колёса на ходу. На самолёте. 😄
Проект готов. Документация обновлена, лицензия выбрана правильно, .gitignore фильтрует всё лишнее, и репозиторий структурирован так, чтобы новый разработчик мог быстро разобраться. Остаётся только дождаться, когда GitLab снова станет доступен.
Метаданные
- Session ID:
- grouped_ai-agents-salebot_20260225_2132
- Branch:
- main
- Dev Joke
- Мигрировать с FastAPI — всё равно что менять колёса на ходу. На самолёте.