diff --git a/.claude/launch.json b/.claude/launch.json new file mode 100644 index 0000000..f42f358 --- /dev/null +++ b/.claude/launch.json @@ -0,0 +1,12 @@ +{ + "version": "0.0.1", + "configurations": [ + { + "name": "internal-ui", + "runtimeExecutable": "npm", + "runtimeArgs": ["run", "dev", "--workspace", "@chatballs/internal-ui", "--", "--host", "127.0.0.1"], + "cwd": ".", + "port": 5173 + } + ] +} diff --git a/.gitignore b/.gitignore index 843e6db..9ca6802 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ test-results/ data/ .env.bak-* **/staticfiles/ + +# Архив, создаваемый pack.bat +Chatballs.zip diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..72da480 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,52 @@ +Если в окружении не доступен инструмент, например - Python, PHP, попробуй docker, если в проекте есть его файлы. + +Без моего явного указания не меняй ничего! +Если я задал вопросы, это не значит что ты можешь менять файлы! +Любые правки только после моего явного указания, например - "делай". +Соблюдай инструкцию по коммитам. +Используй glab, gh если доступны. + +Учетные данные / доступы: +- Без явного указания владельца не менять, не сбрасывать, не bootstrap-ить и не пересоздавать никакие учетные данные, пароли, TOTP, recovery-коды, сессии и права доступа. +- Если для проверки нужен вход в приложение, использовать только уже существующие учетные данные, предоставленные владельцем, и не выполнять команды, которые могут изменить пароль или состояние аккаунта. +- Любые команды управления аккаунтами, включая `bootstrap_owner`, password reset/change, seed пользователей и изменение ролей, требуют отдельного явного подтверждения владельца перед запуском. + +Production deployment / миграция: +- Не принимать самостоятельно решения о способе переноса production-данных, bind mounts, путях хранения, переключении каталогов или удалении старого deployment. +- Перед любым изменяющим действием в production сначала представить владельцу точный план миграции и получить его явное согласование. Разрешение на диагностику или общая просьба «исправить» не являются разрешением самостоятельно выбирать архитектуру миграции. + +UI / дизайн: +- Никакой отсебятины в UI: не добавлять экраны, блоки, карточки, иконки, тексты, анимации, цвета, layout-решения и состояния, которых нет в утвержденной документации или design-system. +- Если UI-этап еще не наступил, UI не считается реализованным и не должен маскироваться под готовый продуктовый интерфейс. +- Для построения UI использовать существующие компоненты и их стили, если они уже реализованы; если подходящего компонента нет, создавать переиспользуемый компонент в рамках существующей системы. +- Не упрощать UI, анимации, иконки, состояния или поведение по своему усмотрению. Любое отклонение от baseline требует явного согласования до правок. +- Технические временные заглушки UI не считать готовой реализацией и не использовать как основу продуктового UI без отдельного явного разрешения. + +Один стандарт на один элемент: +- Ссылки во всём приложении выглядят одинаково. Единая база — класс `.link` из `shared/links.css`, одинаковый и для ``, и для `