3.3 KiB
3.3 KiB
Инструкции для агентов
Этот файл действует для всего репозитория. Перед изменениями проверьте README.md, CONTRIBUTING.md и относящиеся к задаче файлы.
Устройство проекта
hypn0/hypn0/— настройки и маршруты Django;hypn0/hypn0_site/— модели, формы, представления, сервисы, команды и тесты.hypn0/templates/— Django-шаблоны;public/static/— публикуемые CSS, JavaScript и изображения.frontend-assembly/иscripts/build-*.sh— исходники и скрипты сборки фронтенд-зависимостей. Порядок сборки описан вfrontend-assembly/README.md.database/,public/media/и.envсодержат локальные данные или настройки окружения. Не добавляйте их содержимое в коммиты.
Разработка и проверка
- Стек: Python 3.14+, Django 6.0+, Poetry; фронтенд использует Tailwind CSS, Alpine.js, HTMX и CodeMirror.
- Зависимости Python устанавливайте из
poetry.lock. Для локального запуска используйтеpoetry run python hypn0/manage.py runserverпосле настройки.envпо.env.sampleи применения миграций. - Для изменений в логике Django добавляйте или обновляйте тесты в
hypn0/hypn0_site/tests.py; запускайтеpoetry run python hypn0/manage.py test hypn0_site. - При изменении моделей создавайте и проверяйте миграции. Не меняйте существующие миграции, уже применённые в других окружениях.
- После изменения исходников фронтенда запускайте соответствующий
scripts/build-*.shи проверяйте полученный файл вpublic/static/.
Соглашения
- Следуйте существующему стилю кода и правилам
CONTRIBUTING.md: Python по PEP 8, Black и isort; имена в коде на английском, комментарии и документация к коду на русском; без эмодзи. - Пользовательский интерфейс и фронтенд (HTML-шаблоны, метатеги, всплывающие подсказки, тексты генератора и сообщения для пользователей) оформляются исключительно на английском языке в научно-фантастической стилистике «Гипножабы / Футурамы» (игра слов, ирония, подчинение разума, бюрократия Нового Нью-Йорка).
- Не включайте в изменения секреты, локальные базы данных, загруженные пользовательские файлы и случайные файлы рабочего окружения. Перед завершением проверяйте
git diffиgit status.