# m09-domain

Свод правил по предметно-ориентированному проектированию на Rust. Помогает ИИ моделировать сущности, агрегаты и объекты-значения с учётом системы владения.

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

## Что делает

Скилл переводит концепции предметно-ориентированного проектирования на язык Rust. Он задаёт чёткие ориентиры: сущности требуют явного идентификатора, а объекты-значения реализуются через Newtype с проверкой данных при создании. Агрегаты изолируются границами модулей, где корневая структура полностью владеет внутренними коллекциями и не отдаёт мутабельные ссылки наружу.

Внутри разобраны конкретные связки с типами языка: репозитории описываются трейтами, события домена представляются перечислениями enum, а переходы между статусами фиксируются через паттерн type-state. Инструкция прямо предостерегает модель от одержимости примитивами и публичных полей, ломающих инварианты.

Этот скилл помечен как не вызываемый пользователем вручную. Он включается агентом самостоятельно, когда в запросе встречаются темы предметных моделей, сущностей или правил валидации.

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install actionbook/rust-skills m09-domain
```

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

## Когда брать
- спроектировать сущности и объекты-значения в Rust
- выстроить границы агрегата с правильным владением
- спрятать проверку инвариантов в конструкторы Newtype
- описать контракты хранилищ через трейты

## Примеры запросов агенту
- Спроектируй модуль заказа Order и строк OrderItem по правилам DDD
- Помоги сделать Value Object для email с валидацией
- Как оформить переход статусов заказа через type-state паттерн?

## Похожие
- [domain-driven-design](https://affpapa.org/nevibecode/skills/orchestkit-domain-driven-design.md) — скилл · 1300 установок
- [domain-analysis](https://affpapa.org/nevibecode/skills/domain-analysis.md) — скилл · 358 установок
- [ddd-aggregate](https://affpapa.org/nevibecode/skills/ddd-aggregate.md) — скилл · 749 установок
- [layers-domain](https://affpapa.org/nevibecode/skills/layers-domain.md) — скилл · 1900 установок
- [ddd](https://affpapa.org/nevibecode/skills/ddd.md) — скилл · 2900 установок
- [design-code-architecture](https://affpapa.org/nevibecode/skills/design-code-architecture.md) — скилл · 2300 установок

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

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