SHiNE-server/shine-solana/shine/AGENTS.md

4.3 KiB
Raw Blame History

AGENTS.md

Documentation Rule

В проекте есть спецификация пользовательской PDA-записи:

  • актуальные документы в doc/.

Если меняется формат записи, сериализация, правила подписи, prev_hash, экономика лимитов или связанные ограничения create/update, соответствующую документацию в doc/ нужно обновлять в том же изменении.

Language Rule

Во всем проекте использовать русский язык:

  • комментарии в коде;
  • тексты в файлах настроек и справочных файлах;
  • сообщения и описания в коммитах;
  • сопроводительные технические заметки.

Rule: Logic and Docs

Если меняется бизнес-логика смарт-контрактов, сериализация PDA, правила переводов или экономика:

  1. Обновить соответствующий документ в doc/ в том же изменении.
  2. Если документ сразу обновить нельзя, обязательно явно согласовать это с пользователем в чате и зафиксировать план обновления.

Rule: Git Push

Для push в удаленный репозиторий использовать токен из переменной окружения:

  • GITEA_TOKEN

Push выполнять через http.extraHeader (Authorization) без вывода токена в логи.

Rule: Commit Messages

Текст commit message писать на русском языке. Это обязательное правило для всех новых коммитов в этом репозитории.

Rule: UI Deploy

Деплой UI Shine Payments выполнять через Gradle из папки shine:

  1. gradle deployUi
  2. gradle 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. Если:

  1. сборка завершается успешно;
  2. anchor deploy проходит успешно;
  3. целевой сценарий реально работает в devnet/localnet,

то это предупреждение считать допустимым и не блокирующим само изменение.

Rule: Dictionary Growth Reporting

Если пользователь просит увеличить количество слов в словарях shine_login_guard:

  1. Увеличивать словарь в первую очередь в явно указанных пользователем категориях/файлах.
  2. Если в конкретной категории добавлять новые уместные слова уже затруднительно, прямо сообщать об этом и предлагать соседние категории для расширения.
  3. После каждого такого изменения выводить количество слов по каждому файлу словаря:
    • src/dictionaries/premium/*.txt
    • src/dictionaries/trademarks/*.txt
  4. В отчете дополнительно кратко оценивать заполненность категорий (где есть смысл расширять, где уже близко к насыщению).
  5. В конце каждого увеличения словаря обязательно выводить итог:
    • общее число слов для premium;
    • общее число слов для trademarks.