feat(skills): add rust-standards, typescript-standards, python-standards
- mirror go-standards: structure, linters/formatters, tests, commits/MR, pre-MR checklist - ecosystem defaults (clippy/rustfmt, eslint/prettier/tsc, ruff/mypy/pytest); company specifics marked TODO - verified all four *-standards skills load via pi RPC get_commands
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
---
|
||||
name: rust-standards
|
||||
description: Используй при написании, ревью и проверке кода на 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/ # бенчмарки (если есть)
|
||||
```
|
||||
|
||||
<!-- TODO: заполнить реальной эталонной структурой crate/workspace компании -->
|
||||
|
||||
## Линтеры и форматирование
|
||||
|
||||
- Форматирование: `cargo fmt --all` (проверка в CI — `cargo fmt --all -- --check`).
|
||||
- Линтер: **clippy** — `cargo clippy --all-targets --all-features -- -D warnings`.
|
||||
Настройки — в `clippy.toml` / атрибутах crate.
|
||||
<!-- TODO: корпоративный набор clippy-lints, если есть -->
|
||||
|
||||
## Тесты
|
||||
|
||||
- Прогон: `cargo test --all-features`.
|
||||
- Для workspace: `cargo test --workspace`.
|
||||
- Требования к покрытию / обязательные виды тестов: `<!-- TODO -->`.
|
||||
|
||||
## Сборка и зависимости
|
||||
|
||||
- Сборка: `cargo build` (релиз — `cargo build --release`).
|
||||
- Аудит зависимостей: `cargo audit` (если подключён).
|
||||
- `Cargo.lock` коммитим для бинарников/сервисов.
|
||||
|
||||
## Коммиты и MR
|
||||
|
||||
- **Формат коммитов:** `<!-- TODO: например Conventional Commits или свой -->`.
|
||||
- **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 со ссылкой на тикет
|
||||
Reference in New Issue
Block a user