# project-structure

Скилл задаёт ИИ-агенту правила раскладки .NET-решения: где лежат проекты, как настроить общие свойства сборки и версии пакетов.

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

## Что делает

Скилл описывает, как устроить репозиторий .NET: отдельные каталоги `src/` и `tests/`, по одному проекту на зону ответственности (Core, Infrastructure, API), файл решения в корне и вся общая конфигурация сборки там же. Агент получает эти правила и раскладывает новый проект по ним, а не по своему вкусу.

Внутри разобраны форматы файла решения. Современный `.slnx` — это XML, его проще читать и реже ломать при слиянии веток, но нужен .NET 9+ SDK или Visual Studio 17.13+. Перейти со старого `.sln` можно командой `dotnet sln MySolution.sln migrate`. Держать оба файла в одном репозитории не стоит — конфликты обеспечены.

Отдельная часть — общая конфигурация: `Directory.Build.props` с настройками языка и SourceLink, `Directory.Build.targets` для анализаторов и `Directory.Packages.props` для централизованного управления версиями NuGet. Вложенные `Directory.Build.props` не подхватывают внешний файл сами, его нужно импортировать вручную. Если версии пакетов у вас уже разбросаны по `.csproj`, централизованное управление придётся вводить постепенно.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add wshaddix/dotnet-skills --skill project-structure -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add wshaddix/dotnet-skills --skill project-structure -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add wshaddix/dotnet-skills --skill project-structure -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install wshaddix/dotnet-skills project-structure
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add wshaddix/dotnet-skills --skill project-structure -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/wshaddix/dotnet-skills --path skills/project-structure
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add wshaddix/dotnet-skills --skill project-structure -a opencode
```

### Claude.ai

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

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

## Когда брать
- разложить новый .NET-репозиторий по каталогам `src/` и `tests/`
- перевести решение с `.sln` на `.slnx`
- вынести общие свойства сборки в `Directory.Build.props`
- собрать версии NuGet-пакетов в `Directory.Packages.props`
- подключить SourceLink для отладки и символов

## Примеры запросов агенту
- Разложи новый .NET-репозиторий по структуре из скилла: `src/`, `tests/`, файл решения в корне
- Настрой централизованное управление версиями пакетов через `Directory.Packages.props`
- Переведи решение с `.sln` на `.slnx` и проверь, что оба файла не остались в репозитории

## Похожие
- [mcp-builder](https://affpapa.org/nevibecode/skills/mcp-builder.md) — скилл · 130949 установок
- [claude-api](https://affpapa.org/nevibecode/skills/claude-api.md) — скилл · 74198 установок
- [lark-im](https://affpapa.org/nevibecode/skills/lark-im.md) — скилл · 472900 установок
- [lark-event](https://affpapa.org/nevibecode/skills/lark-event.md) — скилл · 466800 установок
- [caveman-discover](https://affpapa.org/nevibecode/skills/caveman-discover.md) — скилл · 104400 установок
- [migration](https://affpapa.org/nevibecode/skills/migration.md) — скилл · 103900 установок

## Другие версии с тем же именем
- [project-structure · codewithmukesh](https://affpapa.org/nevibecode/skills/project-structure.md) — 2800 установок
- [project-structure · modelcontextprotocol](https://affpapa.org/nevibecode/skills/modelcontextprotocol-project-structure.md) — ★ 91547

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

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