15 августа 2026

Скил project-init — стандартизированный скаффолдинг проекта

Как скил project-init в Datarim создаёт CLAUDE.md, документацию по Diátaxis и директории для состояния рабочего процесса, когда /dr-init обнаруживает намерение создать проект.

Запуск нового проекта с AI-ассистентом обычно означает, что ассистент придумывает структуру на ходу. Через два проекта ни один не выглядит как другой. Скил project-init стандартизирует настройку: он запускается, когда /dr-init обнаруживает намерение создать проект, и каждый раз создаёт одинаковый скелет.

Когда он активируется

Скил загружается из /dr-init, когда ввод содержит ключевые слова «create project», «new project», «scaffold project» или их русские эквиваленты. Без таких сигналов /dr-init следует стандартному процессу задачи. Если в запросе уже достаточно контекста, скил извлекает имя, описание и тип проекта без дополнительных вопросов.

Какую структуру он создаёт

Скил строит корень проекта, содержащий CLAUDE.md из шаблона, .gitignore под обнаруженный стек, и дерево docs/ по четырём категориям Diátaxis — tutorials/, how-to/, reference/ и explanation/ — каждая с README. Создаётся также docs/ephemeral/ для временных рабочих материалов и директория datarim/ для состояния рабочего процесса. Каждый файл берётся из версионированного шаблона в ${DATARIM_RUNTIME:-$HOME/.claude}/templates/.

Правило идемпотентности

Скил никогда не перезаписывает существующий файл. При запуске в проекте, где уже есть какая-то структура — например, старая кодовая база, которую приводят к стандартному виду — создаётся только то, чего не хватает, а всё пропущенное фиксируется в отчёте. Та же логика применяется, когда оператор говорит «обнови структуру проекта»: скил заполняет пробелы, не трогая то, что уже есть.

Что он не делает

Скил не устанавливает зависимости, не генерирует исходный код и не настраивает CI. Он также не создаёт первоначальный коммит автоматически — оператор сначала просматривает созданные файлы. Git инициализируется, если .git/ отсутствует, а datarim/ добавляется в .gitignore, чтобы состояние рабочего процесса не отслеживалось. Подробнее — в справочнике project-init, а общая картина — в посте что такое Datarim.