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

64 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/`).
## Rule: Dictionary Growth Reporting
Если пользователь просит увеличить количество слов в словарях `shine_login_guard`:
1. Увеличивать словарь в первую очередь в явно указанных пользователем категориях/файлах.
2. Если в конкретной категории добавлять новые уместные слова уже затруднительно, прямо сообщать об этом и предлагать соседние категории для расширения.
3. После каждого такого изменения выводить количество слов по каждому файлу словаря:
- `src/dictionaries/premium/*.txt`
- `src/dictionaries/trademarks/*.txt`
4. В отчете дополнительно кратко оценивать заполненность категорий (где есть смысл расширять, где уже близко к насыщению).
5. В конце каждого увеличения словаря обязательно выводить итог:
- общее число слов для premium;
- общее число слов для trademarks.