# template-smart-defaults

Скилл подсказывает агенту, какие связанные параметры подставить в dotnet new, когда часть флагов не задана, и не трогает то, что выбрал пользователь.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2800 установок · ★ 5730
- Автор: dotnet
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/dotnet/skills/tree/HEAD/plugins/dotnet-template-engine/skills/template-smart-defaults/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/template-smart-defaults

## Что делает

Скилл включается, когда вы просите создать проект через `dotnet new` и оставляете часть флагов незаданными. Дальше он добирает связанные параметры. Если шаблон поддерживает `--aot`, а `--framework` не выбран, подставляется свежий таргет с поддержкой AOT. При `--auth` не `None` флаг `--no-https` не добавляется, а вместе с `--use-controllers` в команду не попадает minimal-API флаг. Явно заданное значение остаётся как есть.

Ответ строится из двух частей. Сначала таблица «Defaults applied» — строка на параметр, с пометкой `Source = user` или `Source = rule` и причиной выбора. Потом одна точная команда `dotnet new`, только с теми флагами, которые реально уходят в работу. Если нужен совет без создания файлов, в конец команды добавляется `--dry-run`.

Правила тут работают как эвристика, без проверки. Имена флагов скилл сверяет по `dotnet new <template> --help`, и это стоит держать в голове: в шаблоне без `--aot` правило про framework молчит, так что подстановки не будет. Сам проект скилл не создаёт: за это отвечает `template-instantiation`, а поиск и сравнение шаблонов вынесены в `template-discovery` и `template-comparison`.

## Установка

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

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

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill template-smart-defaults -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill template-smart-defaults -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dotnet/skills template-smart-defaults
```

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

### Gemini CLI

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

2. **Командой платформы**
```bash
gemini skills install https://github.com/dotnet/skills --path plugins/dotnet-template-engine/skills/template-smart-defaults
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill template-smart-defaults -a opencode
```

### Claude.ai

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

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

## Когда брать
- создать проект с native AOT и не угадывать подходящий `--framework`
- оставить HTTPS включённым, когда включена аутентификация
- не передать одновременно контроллеры и minimal-API флаг
- получить готовую команду `dotnet new` без лишних флагов
- объяснить, откуда взялось подставленное значение

## Примеры запросов агенту
- Создай `webapi` с `--aot` и `--auth Individual`, framework не указываю — покажи, что подставишь.
- Дай команду `dotnet new` для проекта с контроллерами, файлы не создавай.
- Почему в команде не появился `--no-https`?

## Похожие
- [scaffold](https://affpapa.org/nevibecode/skills/codewithmukesh-scaffold.md) — скилл · 2800 установок
- [code-generation-template](https://affpapa.org/nevibecode/skills/code-generation-template.md) — скилл · 532 установки
- [create-slack-app](https://affpapa.org/nevibecode/skills/create-slack-app.md) — скилл · 446 установок
- [create-voltagent](https://affpapa.org/nevibecode/skills/create-voltagent.md) — скилл · 613 установок
- [gws-modelarmor-create-template](https://affpapa.org/nevibecode/skills/gws-modelarmor-create-template.md) — скилл · 29900 установок
- [convex-quickstart](https://affpapa.org/nevibecode/skills/convex-quickstart.md) — скилл · 131100 установок

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

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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