14 KiB
STRUCTURE.md — Инструкция по структуре курсов
Этот файл описывает формат и правила работы с курсами. Прочитай его перед созданием нового курса или началом обучения.
Структура директорий
~/courses/
├── CLAUDE.md # Точка входа для Claude Code → ссылка на AGENTS.md
├── AGENTS.md # Оркестрация: старт, режимы, права на файлы
├── TUTOR.md # Поведение тьютора: тон, адаптация, диалог
├── PROFILE.md # Профиль ученика (опыт, стиль, предпочтения)
├── STRUCTURE.md # Этот файл — правила и формат
│
├── <slug-курса>/ # Папка курса (kebab-case, латиница)
│ ├── course.md # План, метаданные, прогресс
│ ├── summary.md # Итоговое саммари (создаётся при завершении курса)
│ └── modules/
│ ├── 01-<slug-модуля>/ # Создаётся при создании курса
│ │ ├── lesson.md # Тезисы и ключевые концепции
│ │ └── notes.md # Заметки ученика (создаётся при обучении)
│ ├── 02-<slug-модуля>/ # Создаётся когда ученик готов перейти к модулю
│ │ ├── lesson.md
│ │ └── notes.md
│ └── ...
Правила именования
- Папка курса:
kebab-case, латиница, без пробелов. Примеры:dns-deep-dive,linux-networking,python-async - Папки модулей:
NN-slug, где NN — порядковый номер с ведущим нулём. Примеры:01-basics,02-record-types,13-advanced-topics - Обязательные файлы:
course.md,lesson.md,notes.md,summary.md— форматы описаны ниже - Практические артефакты (код, конфиги, скрипты) могут находиться в папке курса или модуля без ограничений
Создание нового курса
Шаг 1 — Сбор контекста
Прочитай PROFILE.md. Затем выясни у ученика:
- Тема: что конкретно хочет изучить
- Цель: что хочет уметь делать после курса (не "знать", а "уметь")
- Уровень входа: что уже знает по этой теме
- Фокус: какие аспекты особенно важны или интересны
- Антифокус: что можно пропустить или дать обзорно
Если ученик пришёл с готовым планом — пропусти интервью, переходи к шагу 2.
Шаг 2 — Составление плана
Предложи план из 5–12 модулей. Каждый модуль — это одна учебная сессия на 30–90 минут. Придерживайся принципов:
- От простого к сложному
- Каждый модуль опирается на предыдущие
- Практические модули чередуются с теоретическими
- Последний модуль — интеграция знаний или реальный проект
Покажи план ученику, обсуди, скорректируй. Только после согласования — создавай файлы.
Шаг 3 — Создание файлов
Создай только начальную структуру:
- Папку курса
~/courses/<slug>/ course.md— по формату ниже (с полным планом всех модулей)- Папку первого модуля
modules/01-slug/ lesson.mdпервого модуля — по формату ниже- Не создавай папки и lesson.md остальных модулей — они создаются по мере прохождения курса
- Не создавай
notes.mdзаранее — он появится при обучении
Создание следующего модуля
Папка и lesson.md следующего модуля создаются только по команде ученика: "далее", "следующий модуль", "переходим к модулю N" и т.п.
При создании lesson.md учитывай контекст пройденного обучения:
- Прочитай notes.md всех завершённых модулей — вопросы, ошибки, инсайты
- Учти, какие темы потребовали больше объяснений, а что далось легко
- Скорректируй глубину, акценты и примеры в lesson.md нового модуля
- Создай папку
modules/NN-slug/иlesson.md
План модулей в course.md (названия и порядок) остаётся ориентиром, но содержание lesson.md адаптируется под ученика.
Изменение плана на ходу
course.md — живой документ. По ходу курса план можно адаптировать:
- Добавить модуль, если тема оказалась сложнее или шире ожидаемого
- Убрать модуль, если тема уже покрыта или неактуальна
- Переформулировать модуль с учётом хода обучения
Любые изменения плана — только с согласия ученика.
Формат course.md
# <Название курса>
## Метаданные
- Создан: <YYYY-MM-DD>
- Цель: <что ученик сможет делать после курса>
- Уровень входа: <что ученик уже знает по теме>
- Ожидаемое время: <примерная оценка в часах>
## Прогресс
- [ ] 01 — <Название модуля>: <краткое описание в 5–10 слов>
- [ ] 02 — <Название модуля>: <краткое описание>
- [ ] 03 — <Название модуля>: <краткое описание>
...
## Заметки
<Свободное поле: зачем ученик начал курс, что важно помнить, контекст>
Правила для course.md
- Прогресс — это чеклист в формате
- [ ]/- [x] - Номер в прогрессе совпадает с номером папки модуля
- Описание после тире — то же, что title в lesson.md
- Раздел "Заметки" — для контекста, не для трекинга
Формат lesson.md
# Модуль NN: <Название>
## Ключевые концепции
### <Концепция 1>
- Тезис или факт
- Тезис или факт
- Важный нюанс или ограничение
### <Концепция 2>
- Тезис или факт
- Связь с другими концепциями
- Частая ошибка или заблуждение
...
## Практика
- <Конкретное задание или действие>
- <Что попробовать руками>
- <Что проверить или исследовать>
## Связи с другими модулями
- Модуль NN: <как связан>
- Модуль NN: <как связан>
Правила для lesson.md
- Формат: тезисы, не конспект. Каждый пункт — одно утверждение или факт. Без воды, вводных слов и переходов. Агент раскроет детали в диалоге.
- Концепции, а не шаги. Lesson.md описывает что нужно понять, а не что агент должен рассказать. Это карта знаний, не сценарий урока.
- Практика обязательна. Каждый модуль содержит хотя бы одно задание, которое ученик может выполнить.
- Связи обязательны. Указывай, как модуль связан с другими. Это помогает и ученику, и агенту.
- Техническая терминология — оригинальная (английская), с пояснением при первом использовании в рамках курса.
- Объём — 15–40 тезисов на модуль. Если больше — разбей модуль на два.
Формат notes.md
# Заметки: Модуль NN — <Название>
## Заметки ученика
- <Записи, добавленные по явной просьбе ученика во время обучения>
## Саммари модуля
- **Вопросы**: какие вопросы возникали
- **Легко**: что далось без затруднений
- **Сложно**: что потребовало дополнительных объяснений
- **Ошибки**: что не получилось на проверке
- **Наблюдения**: другая информация для рефлексии
Правила для notes.md
- Создаётся только во время обучения, не заранее
- Заметки ученика — добавляются только по явной просьбе ученика ("запиши", "запомни", "добавь в заметки"). Агент не записывает заметки по своей инициативе
- Саммари модуля — пишет агент при завершении модуля, перед переходом к следующему. Это рефлексия по итогам прохождения: что спрашивал, что было легко/сложно, где ошибался, что важно учесть дальше
- notes.md — собственность ученика. Не удаляй содержимое, только дополняй
Формат summary.md
Создаётся при завершении курса (все модули отмечены [x]). Располагается рядом с course.md.
# Итоги курса: <Название>
## Что изучено
- <Ключевые знания и навыки, которые ученик получил>
## Что было сложным
- <Темы или концепции, которые потребовали больше усилий>
## Что далось легко
- <Темы, которые ученик освоил быстро>
## Рекомендации
- <Что изучить дальше, какие темы углубить, какие смежные области посмотреть>
Правила для summary.md
- Создаётся только при завершении курса, не раньше
- Агент пишет summary.md на основе всех notes.md и хода обучения
- Раздел "Рекомендации" — конкретные направления, не общие фразы
Отметка прогресса
Когда модуль считается завершённым
Модуль отмечается [x] в course.md когда выполнены оба условия:
- Материал разобран — ученик прошёл через все концепции из lesson.md
- Проверка пройдена — ученик верно ответил на 3–5 вопросов разного типа:
- Концептуальный: "Почему X работает именно так?"
- Практический: "Какой командой / каким способом сделать Y?"
- Сценарный: "Что произойдёт, если Z?"
Как отмечать
В course.md заменить - [ ] на - [x] для соответствующего модуля:
До: - [ ] 03 — Процесс резолвинга: рекурсия, итерация, кэширование
После: - [x] 03 — Процесс резолвинга: рекурсия, итерация, кэширование
Когда НЕ отмечать
- Ученик попросил "просто расскажи" без проверки — не отмечай
- Ученик не смог ответить на проверочные вопросы — объясни заново, попробуй позже
- Ученик явно пропустил модуль ("это я знаю, дальше") — можно отметить, но сначала задай 2 быстрых вопроса для подтверждения
Снятие отметки
Если при ревизии (режим review) ученик не помнит материал пройденного модуля — сними отметку:
До: - [x] 03 — Процесс резолвинга: рекурсия, итерация, кэширование
После: - [ ] 03 — Процесс резолвинга: рекурсия, итерация, кэширование