← [Главная](../README.md)

# 12 — Практикум

## Цель

Закрепить курс **четырьмя лабораторными** на учебном репозитории: промпт, rules, skill, hooks — с измеримым результатом и журналом.

## Предварительно

- Разделы 03–08 и 11 (промпты, rules, skills, hooks, ECC)
- Git, Cursor Agent
- Отдельная ветка `ai-labs` (не main)

## Время

**8–12 часов** (все 4 лабы)

---

## Подготовка среды

```bash
mkdir -p ~/ai-course-labs && cd ~/ai-course-labs
git init ai-labs-demo
cd ai-labs-demo
git checkout -b ai-labs
```

Стек на выбор: минимальный Go, Python или TypeScript — один на все лабы.

---

## Лабораторные

| № | Файл | Результат |
|---|------|-----------|
| 01 | [lab-01-promt.md](lab-01-promt.md) | Шаблон промпта + успешный багфикс |
| 02 | [lab-02-rules.md](lab-02-rules.md) | `.cursor/rules/` влияет на агента |
| 03 | [lab-03-skill.md](lab-03-skill.md) | Свой `SKILL.md` + вызов агентом |
| 04 | [lab-04-hooks.md](lab-04-hooks.md) | `hooks.json` + sessionStart или afterFileEdit |

---

## Журнал практикума

Ведите `LAB-JOURNAL.md` в репозитории:

```markdown
## Lab 01 — дата
- Промпт (ссылка на файл):
- Что сработало:
- Что улучшить:

## Lab 02 …
```

---

## Критерии зачёта

- [ ] Все 4 лабы выполнены в одном репо
- [ ] Есть минимум 3 осмысленных commit
- [ ] Нет секретов в истории Git
- [ ] Журнал заполнен
- [ ] Можете объяснить разницу rule/skill/hook/command устно

---

## Рекомендуемый порядок и зависимости

```text
Lab 01 (промпт)  →  базовый цикл багфикса
Lab 02 (rules)   →  ограничения для агента
Lab 03 (skill)   →  многошаговый workflow
Lab 04 (hooks)   →  автоматизация без промпта
```

Не перескакивайте Lab 04 до понимания rules — иначе hooks покажутся «магией».

---

## Окружение

| Компонент | Версия / примечание |
|-----------|---------------------|
| Cursor | Последняя stable |
| Git | 2.30+ |
| Node.js | Для Lab 04 hooks (LTS) |
| ECC | Опционально для сравнения эталонов |

Стек кода лаб (Python / Go / TS) — на ваш выбор; инструкции адаптируйте сами.

---

## После практикума

Перенесите **один** артефакт в реальный проект:

- шаблон промпта из Lab 01, или
- одно rule из Lab 02, или
- один skill из Lab 03, или
- лёгкий sessionStart hook из Lab 04.

Зафиксируйте в журнале, что сработало в «боевых» условиях.

---

## Самопроверка

1. Почему отдельная ветка `ai-labs`?
2. В каком порядке логично проходить лабы?
3. Что фиксировать в журнале?
4. Сколько часов заложено на практикум?

---

## Дальше

→ [Lab 01 — Промпт](lab-01-promt.md)  
← [11 — ECC](../11-ecc/README.md)
