create-nadvan-app 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -121,6 +121,63 @@ src/
121
121
 
122
122
  ---
123
123
 
124
+ ## Работа с FSD структурой (fsd-generator)
125
+
126
+ После создания проекта используй **`fsd-generator`** для быстрого scaffolding слоёв и слайсов.
127
+
128
+ ```bash
129
+ # Установка (один раз)
130
+ npm install -g fsd-generator
131
+
132
+ # Инициализировать FSD (если не запускали)
133
+ fsd init
134
+ ```
135
+
136
+ ### Создание компонентов
137
+
138
+ ```bash
139
+ # Простой виджет
140
+ fsd -t widget -n header
141
+
142
+ # Несколько виджетов сразу
143
+ fsd -t widget -n header,footer,sidebar
144
+
145
+ # Фича со структурой ui + model
146
+ fsd slice -t feature -n user-auth
147
+
148
+ # Сущность с ui + model + api + lib
149
+ fsd slice -t entity -n product --full
150
+
151
+ # Несколько компонентов в одной папке
152
+ fsd -t widget -n form -c Button,Input,Select
153
+
154
+ # Плоская структура (без папки ui)
155
+ fsd -t shared -n icons --flat -c CloseIcon,ArrowIcon
156
+ ```
157
+
158
+ ### Что создаётся
159
+
160
+ | Команда | Структура |
161
+ |---|---|
162
+ | `fsd -t widget -n header` | `widgets/header/ui/Header.tsx` + `index.ts` |
163
+ | `fsd slice -t feature -n auth` | `features/auth/ui/` + `model/types.ts` + `index.ts` |
164
+ | `fsd slice -t entity -n user --full` | `entities/user/ui/` + `model/` + `api/` + `lib/` |
165
+
166
+ ### Управление структурой
167
+
168
+ ```bash
169
+ fsd list # Показать весь проект
170
+ fsd list widget # Показать компоненты слоя widget
171
+ fsd check # Проверить соответствие FSD
172
+ fsd info # Информация о проекте
173
+ fsd remove -t widget -n header # Удалить компонент
174
+ fsd rename -t widget -n header header-v2 # Переименовать
175
+ ```
176
+
177
+ > Файлы не перезаписываются, экспорты добавляются в `index.ts` автоматически.
178
+
179
+ ---
180
+
124
181
  ## Автоматические проверки
125
182
 
126
183
  При каждом `git commit` автоматически запускаются:
@@ -137,14 +194,45 @@ src/
137
194
  <тип>(<область>): <описание>
138
195
  ```
139
196
 
140
- Примеры:
197
+ **Типы:**
198
+
199
+ | Тип | Когда использовать |
200
+ |---|---|
201
+ | `feat` | Новая функциональность |
202
+ | `fix` | Исправление бага |
203
+ | `style` | Только стили/вёрстка, без логики |
204
+ | `refactor` | Рефакторинг без изменения поведения |
205
+ | `perf` | Оптимизация производительности |
206
+ | `test` | Тесты |
207
+ | `docs` | Документация, README, Storybook |
208
+ | `chore` | Зависимости, конфиги, инфраструктура |
209
+ | `ci` | CI/CD пайплайны |
210
+ | `revert` | Откат коммита |
211
+ | `wip` | Work in progress (только в feature-ветках) |
212
+
213
+ **Область (scope)** — FSD-слой или техническая зона: `app`, `pages`, `widgets`, `features`, `entities`, `shared`, `ui`, `api`, `styles`, `deps`, `config`, `ci`.
214
+
215
+ Можно уточнять до конкретного модуля: `features/auth`, `widgets/header`.
216
+
217
+ **Правила описания:**
218
+ - Инфинитив: «добавить», «исправить», «обновить» — не «добавил»
219
+ - Без точки в конце
220
+ - Конкретно: «исправить отступ в Button» лучше «исправить баг»
221
+
222
+ **Примеры:**
141
223
  ```
142
224
  feat(features): добавить авторизацию через OAuth
143
225
  fix(shared): исправить отступы в компоненте Button
144
226
  style(widgets): обновить вёрстку Header под мобайл
145
- chore(deps): обновить @nadvan/ui до 2.1.0
227
+ refactor(entities): вынести логику фильтрации в хук
228
+ perf(widgets): добавить React.memo для ProductCard
229
+ chore(deps): обновить nadvan-ui-kit до 1.0.3
230
+ docs: добавить раздел про fsd-generator в README
231
+ wip(features): начать реализацию корзины
146
232
  ```
147
233
 
234
+ Подробная документация — в [frontend-standard.md, раздел 5.4](../frontend-standard.md).
235
+
148
236
  ---
149
237
 
150
238
  ## Скрипты
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nadvan-app",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Официальный scaffolder для frontend-проектов Nadvan",
5
5
  "type": "module",
6
6
  "bin": {
@@ -52,11 +52,30 @@ export default {
52
52
  };
53
53
 
54
54
  /*
55
+ Формат: <тип>(<область>): <описание>
56
+
57
+ Правила описания:
58
+ - Инфинитив: «добавить», «исправить» — не «добавил», «исправил»
59
+ - Без точки в конце
60
+ - Конкретно и понятно
61
+
55
62
  Примеры правильных коммитов:
56
63
  feat(features): добавить авторизацию через OAuth
64
+ feat(widgets): добавить выпадающее меню в Header
57
65
  fix(shared): исправить padding в компоненте Button
66
+ fix(features): устранить зависание формы при быстром вводе
58
67
  style(widgets): обновить вёрстку Header под мобайл
59
68
  refactor(entities): переименовать поля в модели User
60
- chore(deps): обновить nadvan-ui-kit до 1.1.0
69
+ refactor(features): вынести валидацию формы в отдельный хук
70
+ perf(widgets): добавить React.memo для ProductCard
71
+ test(features): покрыть тестами хук useAuth
61
72
  docs: добавить описание компонентов в Storybook
73
+ chore(deps): обновить nadvan-ui-kit до 1.0.3
74
+ chore(config): добавить алиас @icons в tsconfig
75
+ ci: добавить GitHub Actions workflow для деплоя
76
+ wip(features): начать реализацию корзины ← только в feature-ветках!
77
+
78
+ Область (scope) — FSD-слой или техническая зона.
79
+ Можно уточнять: features/auth, widgets/header.
80
+ Подробнее: https://github.com/your-org/nadvan-specifications
62
81
  */