4.3 KiB
AGENTS.md
Documentation Rule
В проекте есть спецификация пользовательской PDA-записи:
- актуальные документы в
doc/.
Если меняется формат записи, сериализация, правила подписи, prev_hash, экономика лимитов или связанные ограничения create/update, соответствующую документацию в doc/ нужно обновлять в том же изменении.
Language Rule
Во всем проекте использовать русский язык:
- комментарии в коде;
- тексты в файлах настроек и справочных файлах;
- сообщения и описания в коммитах;
- сопроводительные технические заметки.
Rule: Logic and Docs
Если меняется бизнес-логика смарт-контрактов, сериализация PDA, правила переводов или экономика:
- Обновить соответствующий документ в
doc/в том же изменении. - Если документ сразу обновить нельзя, обязательно явно согласовать это с пользователем в чате и зафиксировать план обновления.
Rule: Git Push
Для push в удаленный репозиторий использовать токен из переменной окружения:
GITEA_TOKEN
Push выполнять через http.extraHeader (Authorization) без вывода токена в логи.
Rule: Commit Messages
Текст commit message писать на русском языке. Это обязательное правило для всех новых коммитов в этом репозитории.
Rule: UI Deploy
Деплой UI Shine Payments выполнять через Gradle из папки shine:
gradle deployUigradle checkUiRemote
Где смотреть детали (пути деплоя, путь Caddy, рабочие URL):
- комментарии в
build.gradle(в корнеshine/).
Известное предупреждение сборки
При cargo build / anchor build для Solana-программ может регулярно появляться предупреждение вида:
A function call in method ... driftsort_main ... overwrites values in the frame
Для текущего проекта это известное предупреждение toolchain/stdlib. Если:
- сборка завершается успешно;
anchor deployпроходит успешно;- целевой сценарий реально работает в devnet/localnet,
то это предупреждение считать допустимым и не блокирующим само изменение.
Rule: Dictionary Growth Reporting
Если пользователь просит увеличить количество слов в словарях shine_login_guard:
- Увеличивать словарь в первую очередь в явно указанных пользователем категориях/файлах.
- Если в конкретной категории добавлять новые уместные слова уже затруднительно, прямо сообщать об этом и предлагать соседние категории для расширения.
- После каждого такого изменения выводить количество слов по каждому файлу словаря:
src/dictionaries/premium/*.txtsrc/dictionaries/trademarks/*.txt
- В отчете дополнительно кратко оценивать заполненность категорий (где есть смысл расширять, где уже близко к насыщению).
- В конце каждого увеличения словаря обязательно выводить итог:
- общее число слов для premium;
- общее число слов для trademarks.