# Гайдлайн по созданию своего Open-Source проекта на питоне с блекджеком
Каждый мужчина должен построить дерево, посадить сына и вырастить дом, а каждый разработчик - создать свой open-source проект.

Выложить код на github - это как посадить дерево. Можно закопать хоть золотой саженец, но без полива, удобрений и защиты от вредителей саженец никого не привлечет. Также надо и со своим проектом.

За последние три недели я прошел путь от пустого репозитория до приличного проекта с автоматическим CI/CD, версионированной документацией с интеграцией ИИ для поиска, встроенным ИИ-ревьювером кода и файлами для помощи ИИ-агентам. Инструменты помогали на каждом этапе — линтеры вычищали код, CI-скрипты проверяли каждую версию Python, а боты автоматизировали рутину. Но архитектуру, принципы и экосистему выстраивал я сам.

Кроме того, я расскажу про то как устроены Issue, milestones и PR, как их принимать и ревьювить, как сделать свой репозиторий удобным для потенциальных контрибьютеров и пользователей.

В этой статье не будет очередного туториала «как создать и опубликовать свою библиотеку». Таких гайдов десятки. Я покажу, из каких кирпичиков собирается современный open-source проект, за которым не стыдно позвать людей, который удобно использовать и как библиотеку, и как CLI-утилиту, и который готов к тому, чтобы в него в любой момент зашел AI-агент и сразу понял, что к чему.

---

Я буду разбирать на своем личном проекте - [Nadzoring](https://github.com/alexeev-prog/nadzoring). Пройдемся по всем уровням — от структуры директорий и выбора линтера до настройки GitHub Actions, автоматической генерации changelog и интеграции с сервисами вроде Context7 и DeepWiki. Увидим, как заставить ruff работать на тебя, а не против тебя, как настроить nox так, чтобы он гонял тесты на трех версиях Python одновременно, и почему git-cliff — лучший друг мейнтейнера, который не хочет править CHANGELOG.md руками.

А также я расскажу как создать AI-friendly библиотеку. Да, мейнстримный мир победил, нейросеть оказалась сильней.
