reference-compiler-cli
Объясняет ментальную модель и архитектуру кода в packages/compiler-cli. Обязательно используйте этот навык при работе с кодом в packages/compiler-cli.
Что делает навык
Навык объясняет архитектуру и ментальную модель Angular Compiler CLI (ngtsc), который является оберткой над TypeScript-компилятором для компиляции Angular-декораторов в статические свойства (Ivy-инструкции) и выполнения AOT-компиляции. Он описывает инкрементальный пайплайн компиляции, систему состояний (Traits) и ключевые подсистемы, такие как обработка декораторов и проверка типов шаблонов.
Когда применять
- Объяснение архитектуры кода в директории packages/compiler-cli при рефакторинге или изучении исходников Angular.
- Отладка проблем с компиляцией шаблонов или извлечением метаданных декораторов (@Component, @Directive).
- Понимание фаз компиляции (Analysis, Resolution, Type Checking, Emit) для оптимизации работы с NgtscProgram.
- Анализ того, как генерируются Type Check Blocks (TCBs) и статические поля ɵcmp/ɵdir.
Как работает
- Идентифицировать классы с Angular-декораторами как 'Traits' и отслеживать их состояние через машину состояний (Pending, Analyzed, Resolved, Skipped).
- Использовать NgtscProgram как точку входа, которая оборачивает стандартный ts.Program и управляет NgCompiler.
- Применять DecoratorHandler (например, ComponentDecoratorHandler) для извлечения метаданных, парсинга шаблонов и генерации инструкций ɵcmp.
- Запускать TemplateTypeChecker для генерации Type Check Blocks (TCBs) и получения диагностики TypeScript для шаблонов.
- Выполнять фазу Emit через ivyTransformFactory, которая трансформирует Output AST в TypeScript AST, внедряя статические поля и удаляя оригинальные декораторы.
Примеры запросов агенту
Описание составлено по SKILL.md навыка, сверено 08.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.