Универсальный воркспейс для самостоятельного обучения разным доменным областям (языки, естественные науки, программирование, и т.д.) в тандеме с Claude.
Контент — plain markdown. Прогресс и SRS (система интервальных повторений) — в .state/progress.sqlite,
управляется локальным UI в .app/.
CLAUDE.md — универсальные правила работы для Claude
README.md — этот файл
.templates/ — шаблоны доменов, модулей и сниппетов (card/drill/frontmatter)
.state/ — прогресс и SRS (SQLite, управляется UI; руками не трогать)
.app/ — локальный UI (Bun + Vue 3), см. .app/README.md
domains/ — доменные области обучения
<domain>/
CLAUDE.md — инструкции для этого домена
memory.md — что выучено, слабости, рабочие методы
roadmap.md — план обучения
misc/ — произвольные справочные файлы (pdf, картинки, аудио)
notes/ — пользовательские заметки (управляются UI)
modules/NN-*/— модули: index / theory / cards / drills / lessons
Подробности формата (frontmatter, card/drill блоки, правила именования) —
в CLAUDE.md.
- Скопировать
.templates/domain/вdomains/<название>/. - Заполнить
CLAUDE.mdдомена (цель, уровень, методология, стиль). - Набросать
roadmap.md, инициализироватьmemory.md. - Создать первый модуль из
.templates/domain/modules/00-module-template/.
В новом чате сказать, например: «Занимаемся japanese, модуль 01-hiragana,
продолжаем с того места». Claude сам прочитает CLAUDE.md, memory.md,
roadmap.md домена и продолжит с текущей точки.
Для простых вопросов («как склоняется X?») можно спрашивать напрямую — сессионный протокол не обязателен.
См. domains/_example-japanese/ — минимальный заполненный домен с одним модулем.
Домены с префиксом _ игнорируются обычным learner-флоу.
MVP на Bun + Vite + Vue 3 + Naive UI. Поднимается одной командой:
cd .app
bun install
bun run devSPA на http://localhost:5173, API на http://localhost:5174 (vite проксирует
/api и /raw). Production-сборка: bun run build && bun run start.
Что умеет:
- дерево доменов/модулей, рендер markdown с подсветкой кода;
- режим flashcards и drill-упражнений (парсинг
card/drillблоков); - SRS-повторения (SM-2) поверх
bun:sqlite; - отметки прогресса и статусов по
idиз frontmatter; - просмотр
misc/через/raw/<path>, редактор заметок вnotes/.
Детали стека и эндпойнтов — в .app/README.md.
Все пути и порт можно переопределить — полезно при запуске скомпилированного
бинарника (bun run build:app → education-app) из произвольной папки.
| Переменная | Что задаёт | Значение по умолчанию |
|---|---|---|
EDU_PORT |
порт HTTP-сервера | 5174 |
EDU_CONTENT_ROOT |
корень доменов (domains/) |
dev: <repo>/domains; бинарь: <папка_с_exe>/domains |
EDU_STATE_DIR |
папка для progress.sqlite |
dev: <repo>/.state; бинарь: <папка_с_exe>/.state |
EDU_OPEN |
1 — открыть браузер при старте |
dev: не открывает; бинарь: открывает всегда |
SPA зашита внутрь education-app, но domains/ и .state/ — внешние.
Минимальный комплект для получателя:
education/
├── education-app(.exe) ← бинарник
├── domains/ ← контент (обязательно; может быть пустой)
└── .state/ ← создастся сам при первом запуске
Либо указать альтернативные пути через EDU_CONTENT_ROOT / EDU_STATE_DIR.
