Files
courses-template/STRUCTURE.md
T
2026-03-30 09:31:20 +03:00

14 KiB
Raw Blame History

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. Затем выясни у ученика:

  1. Тема: что конкретно хочет изучить
  2. Цель: что хочет уметь делать после курса (не "знать", а "уметь")
  3. Уровень входа: что уже знает по этой теме
  4. Фокус: какие аспекты особенно важны или интересны
  5. Антифокус: что можно пропустить или дать обзорно

Если ученик пришёл с готовым планом — пропусти интервью, переходи к шагу 2.

Шаг 2 — Составление плана

Предложи план из 512 модулей. Каждый модуль — это одна учебная сессия на 30–90 минут. Придерживайся принципов:

  • От простого к сложному
  • Каждый модуль опирается на предыдущие
  • Практические модули чередуются с теоретическими
  • Последний модуль — интеграция знаний или реальный проект

Покажи план ученику, обсуди, скорректируй. Только после согласования — создавай файлы.

Шаг 3 — Создание файлов

Создай только начальную структуру:

  1. Папку курса ~/courses/<slug>/
  2. course.md — по формату ниже (с полным планом всех модулей)
  3. Папку первого модуля modules/01-slug/
  4. lesson.md первого модуля — по формату ниже
  5. Не создавай папки и lesson.md остальных модулей — они создаются по мере прохождения курса
  6. Не создавай notes.md заранее — он появится при обучении

Создание следующего модуля

Папка и lesson.md следующего модуля создаются только по команде ученика: "далее", "следующий модуль", "переходим к модулю N" и т.п.

При создании lesson.md учитывай контекст пройденного обучения:

  1. Прочитай notes.md всех завершённых модулей — вопросы, ошибки, инсайты
  2. Учти, какие темы потребовали больше объяснений, а что далось легко
  3. Скорректируй глубину, акценты и примеры в lesson.md нового модуля
  4. Создай папку 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 когда выполнены оба условия:

  1. Материал разобран — ученик прошёл через все концепции из lesson.md
  2. Проверка пройдена — ученик верно ответил на 3–5 вопросов разного типа:
    • Концептуальный: "Почему X работает именно так?"
    • Практический: "Какой командой / каким способом сделать Y?"
    • Сценарный: "Что произойдёт, если Z?"

Как отмечать

В course.md заменить - [ ] на - [x] для соответствующего модуля:

До:   - [ ] 03 — Процесс резолвинга: рекурсия, итерация, кэширование
После: - [x] 03 — Процесс резолвинга: рекурсия, итерация, кэширование

Когда НЕ отмечать

  • Ученик попросил "просто расскажи" без проверки — не отмечай
  • Ученик не смог ответить на проверочные вопросы — объясни заново, попробуй позже
  • Ученик явно пропустил модуль ("это я знаю, дальше") — можно отметить, но сначала задай 2 быстрых вопроса для подтверждения

Снятие отметки

Если при ревизии (режим review) ученик не помнит материал пройденного модуля — сними отметку:

До:   - [x] 03 — Процесс резолвинга: рекурсия, итерация, кэширование
После: - [ ] 03 — Процесс резолвинга: рекурсия, итерация, кэширование