- commit format: Conventional Commits (all six *-standards) - branches/deploy: feature branches from main; release-* -> stage, tag v* -> prod (all six *-standards) - jira-workflow: statuses To Do -> In Progress -> Review -> Done; who moves status when; MR link + status transition policy; comment guidance - key-prefix list stays TODO (unknown project prefixes) Verified: no leftover commit-format TODOs, deploy convention in all 6, skills still load via pi.
3.6 KiB
3.6 KiB
name, description
| name | description |
|---|---|
| rust-standards | Используй при написании, ревью и проверке кода на Rust в наших сервисах — структура crate/workspace, запуск clippy/rustfmt, тесты, формат коммитов и merge request. Применяй всегда, когда пишешь или правишь Rust-код, готовишь MR, а также в командах /bugfix, /feature и /review для Rust-репозиториев. |
Стандарты Rust
Один из наших языков — Rust. Ниже — общепринятые дефолты экосистемы; специфичное для
компании помечено TODO — уточняй, не выдумывай.
Структура
Ориентир (уточняется под компанию):
Cargo.toml # crate или [workspace]
src/
main.rs / lib.rs
<module>/
tests/ # интеграционные тесты
benches/ # бенчмарки (если есть)
Линтеры и форматирование
- Форматирование:
cargo fmt --all(проверка в CI —cargo fmt --all -- --check). - Линтер: clippy —
cargo clippy --all-targets --all-features -- -D warnings. Настройки — вclippy.toml/ атрибутах crate.
Тесты
- Прогон:
cargo test --all-features. - Для workspace:
cargo test --workspace. - Требования к покрытию / обязательные виды тестов:
<!-- TODO -->.
Сборка и зависимости
- Сборка:
cargo build(релиз —cargo build --release). - Аудит зависимостей:
cargo audit(если подключён). Cargo.lockкоммитим для бинарников/сервисов.
Коммиты и MR
- Формат коммитов: Conventional Commits (
feat:,fix:,chore:,docs:,refactor:,test:…). - Ветки и деплой: фича-ветки — от
main(в имя ветки желательно включать ключ тикета). Деплой управляется ветками/тегами: веткаrelease-*→ раскатка на stage; тегv*→ раскатка в прод. Веткиrelease-*и тегиv*без необходимости не пушь —permission-gateпереспросит. - MR обязателен (см. корпоративные правила из контекста сессии). Прямой push в защищённые
ветки запрещён — расширение
permission-gateдополнительно переспросит. - Перед MR:
cargo fmt --check,cargo clippy -D warnings,cargo test— всё зелёное. - Описание MR: что и зачем, как проверено, ссылка на тикет (скилл
jira-workflow).
Чек-лист перед MR
cargo fmt --all -- --checkчистоcargo clippy --all-targets --all-features -- -D warningsчистоcargo testзелёные- есть тесты на новую логику / фикс
- нет секретов и закоммиченных
.env - описание MR со ссылкой на тикет