# coding-guidelines

Скилл с 50 правилами оформления кода на Rust: имена, строки, ошибки, память, async. Пригодится на ревью и когда агент пишет новый модуль.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 4000 установок · ★ 1545
- Автор: actionbook
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/actionbook/rust-skills/tree/HEAD/skills/coding-guidelines/SKILL.md
- Обновлён: 2026-08-23
- HTML: https://affpapa.org/nevibecode/skills/coding-guidelines

## Что делает

Скилл отвечает на вопросы про стиль Rust и подсказывает, как писать идиоматично. Внутри — таблицы правил по именованию, типам данных, строкам, обработке ошибок, памяти, конкурентности, async и макросам. Отдельная таблица показывает, чем заменить устаревшее: `lazy_static!` на `std::sync::OnceLock`, `once_cell::Lazy` на `std::sync::LazyLock`, `try!()` на оператор `?`.

Правила неочевидные и специфичные для Rust. Например, префикс `get_` в именах функций не нужен, для дешёвого заимствования берут `as_`, для дорогого — `to_`, для передачи владения — `into_`. Для `static` советует префикс вида `G_CONFIG`, а для `const` — без префикса. Есть короткая шпаргалка: `snake_case` для функций и переменных, `CamelCase` для типов, `SCREAMING_CASE` для констант, `rustfmt` для форматирования, `#![warn(clippy::all)]` для линта.

Скилл не вызывается вручную — он подключается как знание и срабатывает, когда вы спрашиваете про стиль или ревью Rust-кода. Ставить его в проект на другом языке смысла нет: правила заточены под Rust и в другом контексте просто не всплывут.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill coding-guidelines -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/coding-guidelines/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/coding-guidelines/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill coding-guidelines -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/coding-guidelines/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill coding-guidelines -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/coding-guidelines/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install actionbook/rust-skills coding-guidelines
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/coding-guidelines/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill coding-guidelines -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/actionbook/rust-skills --path skills/coding-guidelines
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/coding-guidelines/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill coding-guidelines -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/actionbook/rust-skills/tree/HEAD/skills/coding-guidelines/SKILL.md

## Когда брать
- выбрать имя для функции-конвертера: `as_`, `to_` или `into_`
- заменить `lazy_static!` и `once_cell` на типы из std
- разобраться, когда `expect()` уместнее `unwrap()`
- проверить код на ревью по списку правил Rust
- убрать лишние `Mutex` для примитивов в пользу атомиков

## Примеры запросов агенту
- проверь этот модуль по coding-guidelines и скажи, что нарушает стиль Rust
- как правильно назвать функцию, которая возвращает владение строкой?
- замени устаревшие зависимости в этом файле на актуальные аналоги из std

## Похожие
- [write-coding-standards-from-file](https://affpapa.org/nevibecode/skills/write-coding-standards-from-file.md) — скилл · 9570 установок
- [cpp-coding-standards](https://affpapa.org/nevibecode/skills/cpp-coding-standards.md) — скилл · 5100 установок
- [swift-api-design-guidelines](https://affpapa.org/nevibecode/skills/swift-api-design-guidelines.md) — скилл · 2800 установок
- [swift-api-design-guidelines-skill](https://affpapa.org/nevibecode/skills/swift-api-design-guidelines-skill.md) — скилл · 1200 установок
- [coding-agent](https://affpapa.org/nevibecode/skills/coding-agent.md) — скилл · 6500 установок

## Другие версии с тем же именем
- [coding-guidelines · tech-leads-club](https://affpapa.org/nevibecode/skills/ale-coding-guidelines.md) — 322 установки

Из того же набора: [actionbook/rust-skills](https://affpapa.org/nevibecode/by/actionbook/rust-skills.md) — 33 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
