Что такое Schematics в Angular CLI и зачем они нужны?
Если ты хоть раз писал повторяющийся код в Angular-проекте — например, создавал одинаковые компоненты, модули или сервисы с единой структурой — ты наверняка задумывался: «А можно ли это автоматизировать?» Ответ — да. Именно для этого и придуманы schematics. Это мощный инструмент, встроенный в Angular CLI, который позволяет создавать шаблоны кода, кастомизировать команды генерации и даже внедрять готовую архитектуру в проект. Проще говоря, ты можешь заставить CLI писать за тебя код, следуя твоим стандартам.
Почему стоит научиться создавать свои Schematics?

Представь, что тебе нужно создать 10 однотипных компонентов с одинаковой логикой, стилями и зависимостями. Ручной подход — это трата времени и высокий риск ошибок. А если ты работаешь в команде, то единообразие кода — вообще вопрос выживания. Создание schematics для Angular CLI помогает автоматизировать такие задачи, обеспечивая стандартизацию и ускоряя разработку. Более того, ты можешь делиться своими schematics с другими — как внутри компании, так и в open-source.
Вдохновляющий пример: как автоматизация изменила ход проекта
На одном из проектов в fintech-компании команда тратила по 15–20 минут на создание и настройку каждого нового feature-модуля — с роутингом, компонентами, сервисами и тестами. Один из разработчиков решил разобраться, как разработать schematics для Angular, и внедрил собственную CLI-команду `ng generate feature-module`. В результате создание нового модуля сократилось до 10 секунд, а вся команда перешла на единый шаблон архитектуры. Это не только ускорило разработку, но и упростило code review и поддержку кода.
Как создать свой schematics: пошаговая инструкция
Если ты готов погрузиться в мир автоматизации, вот краткая инструкция по schematics Angular CLI:
1. Установи Angular Devkit Schematics CLI:
```
npm install -g @angular-devkit/schematics-cli
```
2. Создай новый schematics-проект:
```
schematics blank --name=my-schematics
```
3. Перейди в директорию проекта — у тебя будет структура с исходным кодом будущих шаблонов.
4. Напиши логику генерации в файле `index.ts`. Ты можешь использовать шаблоны (template files), правила (rules) и Tree API для изменения файлов проекта.
5. Добавь шаблоны в папку `files`, используя синтаксис `__name__`, `__path__`, чтобы подставлять параметры.
6. Проверь работу своего schematics с помощью команды:
```
schematics .:my-schematic --dry-run=false
```
Это основа. Конечно, за этим скрывается больше нюансов, но с этого стоит начать. Именно так создаются Angular CLI schematics с нуля.
Реальный кейс: пример schematics в Angular CLI для создания API-модуля
В одном из стартапов разработчики часто создавали Angular-сервисы для общения с REST API. Каждый новый модуль API включал в себя: service, interface, константы и тесты. Один из девелоперов решил автоматизировать процесс. Он создал schematics, который принимал имя ресурса (`user`, `order`, `product`) и генерировал полный набор файлов с типами, шаблоном URL, и даже заглушками для unit-тестов. Это позволило всей команде фокусироваться на логике, а не на шаблонной работе.
Как развивать свои навыки в создании schematics

Создание schematics для Angular CLI — это не просто «разовая настройка автоматизации». Это навык, который можно и нужно развивать. Вот несколько рекомендаций:
1. Разбирай чужие schematics. Angular Material, @ngrx, Nx — все они используют собственные schematics. Исходники доступны на GitHub.
2. Экспериментируй в pet-проектах. Начни с простого — генерация компонента, потом усложняй: создавай целые модули, интеграции с API, конфигурации.
3. Учись на практике. Попробуй реализовать задачу из своего проекта через schematics, даже если она кажется мелкой.
4. Читай официальную документацию Angular DevKit и следи за обновлениями CLI.
5. Делай ревью чужих schematics в open-source. Это даст понимание разных подходов и архитектурных решений.
Полезные ресурсы для обучения
Если ты решишь углубиться в тему и хочешь не просто разобраться, а стать экспертом, вот несколько ресурсов:
- Официальная документация: https://angular.io/guide/schematics
- Репозиторий Angular DevKit: https://github.com/angular/devkit
- Образцовая инструкция по schematics Angular CLI от community: https://blog.angular.io
- Видеокурс от Nx.dev — они объясняют и показывают schematics в действии
- YouTube-канал Fireship — коротко, понятно и с юмором
Финальные мысли
Разработка собственного schematics — это не про «модно» или «круто». Это про зрелость и практичность. Это про то, чтобы думать не только о себе, но и о комфорте команды, об устойчивости архитектуры и скорости разработки. Как только ты однажды автоматизируешь рутинный процесс с помощью собственного schematics, ты уже не захочешь возвращаться к старому способу. Так что если ты до сих пор не пробовал — сейчас самое время начать.



