@devflow-tools/plugin-css 0.4.0 → 0.7.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,SAAS,EAAE,aAmIvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,SAAS,EAAE,aAixBvB,CAAC"}
package/dist/index.js CHANGED
@@ -64,48 +64,702 @@ export const cssPlugin = {
64
64
  workflow: {
65
65
  steps: [],
66
66
  templates: [
67
+ // ── 布局调试 ──
67
68
  {
68
69
  name: "layout-debug",
69
70
  description: "布局调试:检查元素定位 → 弹性/网格属性 → 修复",
70
- version: "1.0.0",
71
+ version: "2.0.0",
71
72
  steps: [
72
- { id: "inspect-element", description: "定位布局异常元素(DevTools 检查盒模型)", type: "simple", timeout: 5000 },
73
- { id: "check-box-model", description: "检查盒模型(width/height/padding/border/margin)", type: "simple", depends: ["inspect-element"], timeout: 10000 },
74
- { id: "check-positioning", description: "检查定位方式(static/relative/absolute/fixed/sticky)", type: "simple", depends: ["inspect-element"], timeout: 10000 },
75
- { id: "check-flex-grid", description: "检查 Flexbox/Grid 容器和子项属性", type: "simple", depends: ["inspect-element"], timeout: 10000 },
76
- { id: "check-z-index", description: "检查 z-index 和层叠上下文", type: "simple", depends: ["check-positioning"], timeout: 5000 },
77
- { id: "search-docs", description: "搜索 MDN CSS 文档中的相关属性", type: "simple", timeout: 10000 },
78
- { id: "generate-fix", description: "生成布局修复方案", type: "llm", depends: ["check-box-model", "check-flex-grid", "check-z-index", "search-docs"], timeout: 15000 },
79
- { id: "verify-layout", description: "截图对比验证修复效果", type: "simple", depends: ["generate-fix"], timeout: 10000 },
73
+ {
74
+ id: "inspect-element",
75
+ title: "定位布局异常元素",
76
+ instruction: [
77
+ "## 定位布局异常元素",
78
+ "",
79
+ "在浏览器 DevTools 中检查盒模型,定位发生布局异常的具体 DOM 元素。",
80
+ "",
81
+ "**执行动作**:",
82
+ "1. 打开浏览器 DevTools(F12),切换到 Elements 面板",
83
+ "2. 使用选择工具(Ctrl+Shift+C / Cmd+Shift+C)点选布局异常的页面区域",
84
+ "3. 在 Styles 面板中查看该元素应用的所有 CSS 规则",
85
+ "4. 在 Computed 面板中查看计算后的样式值",
86
+ "5. 在控制台搜索相关 CSS 文件中的类名,定位样式定义位置:",
87
+ " ```bash",
88
+ " grep -rn '<class-name>' src/ --include='*.css' --include='*.scss' --include='*.module.css' | head -20",
89
+ " ```",
90
+ "6. 记录元素标签名、当前类名、父元素类名,便于后续分析",
91
+ "",
92
+ "**产出格式**:",
93
+ "```",
94
+ "element_tag: div",
95
+ "element_classes: ['.card', '.card__header']",
96
+ "parent_classes: ['.container']",
97
+ "computed_display: flex",
98
+ "computed_position: relative",
99
+ "source_file: src/components/Card.module.css:12",
100
+ "```",
101
+ ].join("\n"),
102
+ suggestedTools: ["Bash", "Read"],
103
+ output: "异常元素的 DOM 选择器、当前计算样式、CSS 源文件位置",
104
+ },
105
+ {
106
+ id: "check-box-model",
107
+ title: "检查盒模型属性",
108
+ instruction: [
109
+ "## 检查盒模型(width/height/padding/border/margin)",
110
+ "",
111
+ "在 DevTools 中查看盒模型尺寸,分析实际尺寸与预期不符的原因。",
112
+ "",
113
+ "**执行动作**:",
114
+ "1. DevTools → Elements → Box 区域查看盒模型四层尺寸",
115
+ "2. 确认 `box-sizing` 属性(推荐 `border-box`):",
116
+ " ```bash",
117
+ " grep -rn 'box-sizing' src/ --include='*.css' --include='*.scss' | head -10",
118
+ " ```",
119
+ "3. 检查 width/height 是否包含 padding/border(content-box 下会撑大)",
120
+ "4. 检查 margin 是否有意外合并(兄弟 margin 折叠、父子 margin 穿透)",
121
+ "5. 检查是否存在 `min-width` / `max-width` 覆盖 width",
122
+ "6. 常见陷阱:",
123
+ " - 没有重置 `box-sizing: border-box`",
124
+ " - `width: 100%` + padding 导致溢出",
125
+ " - `margin: auto` 在 flex/grid 子项上行为不同",
126
+ "",
127
+ "**产出格式**:",
128
+ "```",
129
+ "box_sizing: border-box | content-box",
130
+ "content_size: { width: '300px', height: '200px' }",
131
+ "padding: { top: '16px', right: '16px', bottom: '16px', left: '16px' }",
132
+ "border: { top: '1px', right: '1px', bottom: '1px', left: '1px' }",
133
+ "margin: { top: '0', right: 'auto', bottom: '16px', left: 'auto' }",
134
+ "total_size: { width: '334px', height: '234px' }",
135
+ "issues_found: ['width:100% + padding causes overflow']",
136
+ "```",
137
+ ].join("\n"),
138
+ suggestedTools: ["Bash", "Read"],
139
+ output: "盒模型各层尺寸、box-sizing 状态、发现的尺寸问题",
140
+ depends: ["inspect-element"],
141
+ },
142
+ {
143
+ id: "check-positioning",
144
+ title: "检查定位方式",
145
+ instruction: [
146
+ "## 检查定位方式(static/relative/absolute/fixed/sticky)",
147
+ "",
148
+ "确认元素的定位上下文,排查因 position 导致的布局异常。",
149
+ "",
150
+ "**执行动作**:",
151
+ "1. DevTools → Computed → 查看 `position`、`top/right/bottom/left`、`inset` 属性",
152
+ "2. 确定当前定位类型:",
153
+ " - `static`:默认,top/left 等无效",
154
+ " - `relative`:相对自身偏移,不影响其他元素",
155
+ " - `absolute`:相对最近的非 static 祖先定位",
156
+ " - `fixed`:相对视口定位,滚动时固定",
157
+ " - `sticky`:滚动到阈值前 relative,之后 fixed",
158
+ "3. 若为 absolute/fixed,找到其包含块(含 `position: relative` 的最近祖先):",
159
+ " ```bash",
160
+ " grep -rn 'position.*relative\\|position.*absolute' src/ --include='*.css' | head -20",
161
+ " ```",
162
+ "4. 检查是否有 `transform`、`perspective`、`filter` 等创建新包含块的属性",
163
+ "5. 检查 `overflow` 值是否裁剪了 absolute 子元素",
164
+ "",
165
+ "**产出格式**:",
166
+ "```",
167
+ "element_position: absolute",
168
+ "offsets: { top: '0', right: '0', bottom: 'auto', left: 'auto' }",
169
+ "containing_block: '.modal' (position: relative, file: src/styles/modal.css:5)",
170
+ "stacking_context: yes (transform: translateZ(0))",
171
+ "issues_found: ['missing position:relative on intended containing block']",
172
+ "```",
173
+ ].join("\n"),
174
+ suggestedTools: ["Bash", "Read"],
175
+ output: "定位类型、偏移值、包含块、层叠上下文信息",
176
+ depends: ["inspect-element"],
177
+ },
178
+ {
179
+ id: "check-flex-grid",
180
+ title: "检查 Flexbox/Grid 属性",
181
+ instruction: [
182
+ "## 检查 Flexbox/Grid 容器和子项属性",
183
+ "",
184
+ "分析 Flexbox 或 Grid 布局容器的属性配置和子项行为。",
185
+ "",
186
+ "**执行动作**:",
187
+ "1. 确定容器布局类型:`display: flex` / `display: grid` / `inline-flex` / `inline-grid`",
188
+ "2. 对 Flexbox 容器,检查以下属性:",
189
+ " - 主轴方向:`flex-direction`(默认 row)",
190
+ " - 换行:`flex-wrap`(默认 nowrap)",
191
+ " - 主轴对齐:`justify-content`",
192
+ " - 交叉轴对齐:`align-items` / `align-self`",
193
+ " - gap 间距:`gap` / `row-gap` / `column-gap`",
194
+ "3. 对 Grid 容器,检查:",
195
+ " - 列定义:`grid-template-columns`",
196
+ " - 行定义:`grid-template-rows`",
197
+ " - 区域命名:`grid-template-areas`",
198
+ " - 间距:`gap`",
199
+ " - 对齐:`place-items` / `place-content`",
200
+ "4. 检查子项属性:",
201
+ " - Flex 子项:`flex-grow`、`flex-shrink`、`flex-basis`、`align-self`、`order`",
202
+ " - Grid 子项:`grid-column`、`grid-row`、`grid-area`",
203
+ "5. 常见问题排查:",
204
+ " - flex 子项被压缩(`flex-shrink: 1` 默认值)",
205
+ " - grid 溢出(列定义总宽 > 容器宽)",
206
+ " - `align-items: stretch` 导致意外高度",
207
+ "",
208
+ "**产出格式**:",
209
+ "```",
210
+ "layout_type: flex | grid",
211
+ "container_props: { display: 'flex', flex_direction: 'row', gap: '16px' }",
212
+ "children_props: [{ selector: '.card', flex: '1 1 0%', align_self: 'stretch' }]",
213
+ "issues_found: ['flex item lacks flex-shrink:0, being compressed']",
214
+ "```",
215
+ ].join("\n"),
216
+ suggestedTools: ["Bash", "Read"],
217
+ output: "Flex/Grid 容器属性、子项属性、发现的布局问题",
218
+ depends: ["inspect-element"],
219
+ },
220
+ {
221
+ id: "check-z-index",
222
+ title: "检查 z-index 和层叠上下文",
223
+ instruction: [
224
+ "## 检查 z-index 和层叠上下文",
225
+ "",
226
+ "排查元素被遮挡或层级异常的问题。",
227
+ "",
228
+ "**执行动作**:",
229
+ "1. DevTools → Computed → 查看 `z-index` 值",
230
+ "2. 搜索项目中所有 z-index 声明:",
231
+ " ```bash",
232
+ " grep -rn 'z-index' src/ --include='*.css' --include='*.scss' | sort -t: -k3 -n",
233
+ " ```",
234
+ "3. 确认元素是否处于新的层叠上下文(满足任一条件即创建新上下文):",
235
+ " - `position` 非 static 且 `z-index` 非 auto",
236
+ " - `opacity` < 1",
237
+ " - `transform` 非 none",
238
+ " - `filter` 非 none",
239
+ " - `flex/grid` 子项且 `z-index` 非 auto",
240
+ " - `isolation: isolate`",
241
+ "4. 检查常见问题:",
242
+ " - z-index 只在同层叠上下文内比较",
243
+ " - 父级 z-index 低时,子级再高也无效",
244
+ " - 避免 z-index 999 滥用,建议使用层级变量(如 `--z-modal: 1000`)",
245
+ "",
246
+ "**产出格式**:",
247
+ "```",
248
+ "z_index: 10",
249
+ "stacking_context: yes (position: relative + z-index: 10)",
250
+ "context_root: '.modal-overlay' (z-index: 100)",
251
+ "all_z_indexes: [{ selector: '.dropdown', value: 10, file: 'dropdown.css:5' }]",
252
+ "issues_found: ['parent stacking context blocks child elevation']",
253
+ "```",
254
+ ].join("\n"),
255
+ suggestedTools: ["Bash", "Read"],
256
+ output: "z-index 值、层叠上下文链、发现的层级冲突",
257
+ depends: ["check-positioning"],
258
+ },
259
+ {
260
+ id: "search-docs",
261
+ title: "搜索 MDN CSS 文档",
262
+ instruction: [
263
+ "## 搜索 MDN CSS 文档中的相关属性",
264
+ "",
265
+ "查阅 MDN 文档确认相关 CSS 属性的标准行为和浏览器兼容性。",
266
+ "",
267
+ "**执行动作**:",
268
+ "1. 针对 `inspect-*` 步骤中遇到的可疑属性,查阅 MDN:",
269
+ " - Flexbox:https://developer.mozilla.org/docs/Web/CSS/CSS_flexible_box_layout",
270
+ " - Grid:https://developer.mozilla.org/docs/Web/CSS/CSS_grid_layout",
271
+ " - 定位:https://developer.mozilla.org/docs/Web/CSS/position",
272
+ " - 层叠:https://developer.mozilla.org/docs/Web/CSS/CSS_positioned_display_understanding_the_z-index",
273
+ "2. 搜索特定属性行为:",
274
+ " ```bash",
275
+ " # 确认 flex-shrink 默认值和计算方式",
276
+ " curl -s 'https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink' | grep -i 'initial value\\|formal definition'",
277
+ " ```",
278
+ "3. 关注「正式定义」部分:初始值、适用元素、计算值",
279
+ "4. 关注「浏览器兼容性」表格,确认目标浏览器是否支持",
280
+ "5. 记录属性行为与项目实际表现的差异",
281
+ "",
282
+ "**产出格式**:",
283
+ "```",
284
+ "properties_checked: ['flex-shrink', 'align-items', 'position: sticky']",
285
+ "docs_referenced: [{ prop: 'flex-shrink', initial_value: '1', url: '...' }]",
286
+ "browser_support: { sticky: 'all modern except old IE' }",
287
+ "behavior_mismatches: ['flex-shrink default 1 causes item compression']",
288
+ "```",
289
+ ].join("\n"),
290
+ suggestedTools: ["WebFetch", "Read"],
291
+ output: "相关 CSS 属性的标准行为、兼容性信息",
292
+ },
293
+ { id: "generate-fix", stepTemplate: "generate-fix", depends: ["check-box-model", "check-flex-grid", "check-z-index", "search-docs"] },
294
+ {
295
+ id: "verify-layout",
296
+ title: "验证布局修复效果",
297
+ instruction: [
298
+ "## 截图对比验证修复效果",
299
+ "",
300
+ "通过浏览器 DevTools 和截图验证布局修复是否达到预期效果。",
301
+ "",
302
+ "**执行动作**:",
303
+ "1. 启动开发服务器(如有):",
304
+ " ```bash",
305
+ " npm run dev -- --port 3000",
306
+ " ```",
307
+ "2. 打开 DevTools → 选中已修复元素,确认:",
308
+ " - 盒模型尺寸符合预期",
309
+ " - 定位方式正确",
310
+ " - Flex/Grid 布局表现符合设计",
311
+ " - z-index 层级正确",
312
+ "3. 截图对比(修复前 vs 修复后)",
313
+ "4. 在 320px / 768px / 1024px / 1440px 视口宽度下验证",
314
+ "5. 检查是否引入新的回归问题(其他元素是否受影响)",
315
+ "",
316
+ "**产出格式**:",
317
+ "```",
318
+ "before_screenshot: screenshots/layout-before.png",
319
+ "after_screenshot: screenshots/layout-after.png",
320
+ "viewports_verified: ['320px', '768px', '1024px', '1440px']",
321
+ "regression_check: no new issues",
322
+ "fix_validated: true",
323
+ "```",
324
+ ].join("\n"),
325
+ suggestedTools: ["Bash", "WebFetch"],
326
+ output: "修复前后截图对比、各视口验证结果",
327
+ depends: ["generate-fix"],
328
+ },
80
329
  ],
81
330
  triggers: [{ type: "cli", command: "debug:layout" }],
82
331
  },
332
+ // ── 响应式审查 ──
83
333
  {
84
334
  name: "responsive-audit",
85
335
  description: "响应式审查:断点检查 → 媒体查询 → 流体方案",
86
- version: "1.0.0",
336
+ version: "2.0.0",
87
337
  steps: [
88
- { id: "scan-breakpoints", description: "扫描项目中所有 @media 断点", type: "simple", timeout: 10000 },
89
- { id: "check-consistency", description: "检查断点是否统一(避免 767/768/769 混用)", type: "simple", depends: ["scan-breakpoints"], timeout: 10000 },
90
- { id: "check-mobile-first", description: "检查是否移动优先(min-width 而非 max-width)", type: "simple", depends: ["scan-breakpoints"], timeout: 5000 },
91
- { id: "find-hardcoded-widths", description: "查找硬编码宽度(固定 px 而非百分比/flex)", type: "simple", timeout: 10000 },
92
- { id: "suggest-fluid", description: "建议流体方案(clamp/min/max 替代固定值)", type: "llm", depends: ["check-consistency", "find-hardcoded-widths"], timeout: 15000 },
93
- { id: "apply-fixes", description: "应用响应式修复", type: "llm", depends: ["suggest-fluid"], timeout: 20000 },
94
- { id: "verify-responsive", description: "多视口截图验证", type: "simple", depends: ["apply-fixes"], timeout: 15000 },
338
+ { id: "scan-breakpoints", stepTemplate: "scan-styles" },
339
+ {
340
+ id: "check-consistency",
341
+ title: "检查断点一致性",
342
+ instruction: [
343
+ "## 检查断点是否统一",
344
+ "",
345
+ "分析项目中所有 @media 断点值,避免相近值混用(如 767px/768px/769px)。",
346
+ "",
347
+ "**执行动作**:",
348
+ "1. 提取所有断点值并排序:",
349
+ " ```bash",
350
+ " grep -rhEo '@media.*?(min|max)-width:\\s*\\d+px' src/ --include='*.css' --include='*.scss' | grep -oE '\\d+px' | sort -n | uniq -c | sort -rn",
351
+ " ```",
352
+ "2. 检查是否存在相邻值差异 ≤ 2px 的断点(如 767px 和 768px)",
353
+ "3. 推荐统一断点规范:",
354
+ " - 移动端:< 768px",
355
+ " - 平板:≥ 768px",
356
+ " - 桌面:≥ 1024px",
357
+ " - 大屏:≥ 1280px",
358
+ "4. 检查断点是否在设计系统中统一定义(如 CSS 变量或 Sass 变量):",
359
+ " ```bash",
360
+ " grep -rn '\\$breakpoint\\|--bp-\\|--breakpoint' src/ --include='*.scss' --include='*.css' | head -10",
361
+ " ```",
362
+ "",
363
+ "**产出格式**:",
364
+ "```",
365
+ "breakpoints_found: [{ value: '768px', count: 12 }, { value: '767px', count: 2 }]",
366
+ "inconsistencies: ['767px and 768px both used — pick one']",
367
+ "recommended_set: ['768px', '1024px', '1280px']",
368
+ "centralized_definition: src/styles/variables.scss",
369
+ "```",
370
+ ].join("\n"),
371
+ suggestedTools: ["Bash", "Read"],
372
+ output: "断点清单、不一致项、推荐统一值",
373
+ depends: ["scan-breakpoints"],
374
+ },
375
+ {
376
+ id: "check-mobile-first",
377
+ title: "检查移动优先策略",
378
+ instruction: [
379
+ "## 检查是否移动优先(min-width 而非 max-width)",
380
+ "",
381
+ "确认响应式样式是否采用移动优先策略(基础样式给移动端,`min-width` 给更大屏幕)。",
382
+ "",
383
+ "**执行动作**:",
384
+ "1. 统计 min-width 与 max-width 媒体查询的使用比例:",
385
+ " ```bash",
386
+ " echo \"min-width count:\"; grep -rh 'min-width' src/ --include='*.css' --include='*.scss' | wc -l",
387
+ " echo \"max-width count:\"; grep -rh 'max-width' src/ --include='*.css' --include='*.scss' | wc -l",
388
+ " ```",
389
+ "2. 移动优先的特征:",
390
+ " - 基础样式(无媒体查询)服务于移动端",
391
+ " - 使用 `@media (min-width: ...)` 逐步增强",
392
+ " - 避免 `@media (max-width: ...)` 覆盖基础样式",
393
+ "3. 找出所有 max-width 用法并评估是否应改为 min-width:",
394
+ " ```bash",
395
+ " grep -rn '@media.*max-width' src/ --include='*.css' --include='*.scss'",
396
+ " ```",
397
+ "4. 如果 max-width 占比超过 30%,标记为「需要迁移」",
398
+ "",
399
+ "**产出格式**:",
400
+ "```",
401
+ "min_width_count: 15",
402
+ "max_width_count: 8",
403
+ "mobile_first_ratio: 65%",
404
+ "max_width_locations: [{ file: 'src/layout.css', line: 42, query: 'max-width: 768px' }]",
405
+ "recommendation: 'migrate max-width to min-width with inverted logic'",
406
+ "```",
407
+ ].join("\n"),
408
+ suggestedTools: ["Bash", "Read"],
409
+ output: "min-width/max-width 统计、移动优先合规度",
410
+ depends: ["scan-breakpoints"],
411
+ },
412
+ {
413
+ id: "find-hardcoded-widths",
414
+ title: "查找硬编码宽度",
415
+ instruction: [
416
+ "## 查找硬编码宽度(固定 px 而非百分比/flex)",
417
+ "",
418
+ "找出使用固定 px 宽度的元素,这些在响应式设计中容易出问题。",
419
+ "",
420
+ "**执行动作**:",
421
+ "1. 搜索固定 px 宽度声明:",
422
+ " ```bash",
423
+ " grep -rnE 'width:\\s*\\d+px' src/ --include='*.css' --include='*.scss' | grep -v 'max-width\\|min-width'",
424
+ " ```",
425
+ "2. 搜索固定 px 高度声明(在流式布局中可能有问题):",
426
+ " ```bash",
427
+ " grep -rnE 'height:\\s*\\d+px' src/ --include='*.css' --include='*.scss' | grep -v 'max-height\\|min-height\\|line-height'",
428
+ " ```",
429
+ "3. 评估每个硬编码值:",
430
+ " - 布局容器:应使用 `max-width` + 百分比",
431
+ " - 侧边栏:考虑 `flex: 0 0 300px` 或 `grid-column`",
432
+ " - 图标/头像:固定 px 可接受",
433
+ " - 表单输入框:考虑 `width: 100%` + `max-width`",
434
+ "4. 统计硬编码总数并按严重程度分类",
435
+ "",
436
+ "**产出格式**:",
437
+ "```",
438
+ "hardcoded_widths: [{ file: 'src/layout.css', line: 10, value: 'width: 960px', element: '.container' }]",
439
+ "hardcoded_heights: [{ file: 'src/hero.css', line: 5, value: 'height: 400px', element: '.hero' }]",
440
+ "total_count: 12",
441
+ "severity: { high: 5, medium: 4, low: 3 }",
442
+ "```",
443
+ ].join("\n"),
444
+ suggestedTools: ["Bash", "Read"],
445
+ output: "硬编码宽高清单、严重程度分级",
446
+ },
447
+ {
448
+ id: "suggest-fluid",
449
+ title: "建议流体方案",
450
+ instruction: [
451
+ "## 建议流体方案(clamp/min/max 替代固定值)",
452
+ "",
453
+ "为硬编码值提供现代 CSS 流体替代方案。",
454
+ "",
455
+ "**执行动作**:",
456
+ "1. 对每个硬编码宽度,建议流体替代:",
457
+ " - `width: 960px` → `max-width: 960px; width: 100%; margin: 0 auto;`",
458
+ " - `width: 300px`(侧边栏) → `flex: 0 0 clamp(250px, 25vw, 350px)`",
459
+ " - `font-size: 16px` → `font-size: clamp(1rem, 2.5vw, 1.25rem)`",
460
+ "2. 使用 `clamp(min, preferred, max)` 实现流体排版和间距:",
461
+ " ```css",
462
+ " .container {",
463
+ " width: 100%;",
464
+ " max-width: clamp(320px, 90vw, 1280px);",
465
+ " margin-inline: auto;",
466
+ " }",
467
+ " ```",
468
+ "3. 使用 CSS 变量集中管理断点和间距:",
469
+ " ```css",
470
+ " :root {",
471
+ " --space-sm: clamp(0.5rem, 1vw, 0.75rem);",
472
+ " --space-md: clamp(1rem, 2vw, 1.5rem);",
473
+ " --space-lg: clamp(1.5rem, 3vw, 2.5rem);",
474
+ " }",
475
+ " ```",
476
+ "4. 使用 `min()` / `max()` 做约束:",
477
+ " ```css",
478
+ " .sidebar { width: min(300px, 100% - 2rem); }",
479
+ " ```",
480
+ "5. 相对单位优先:使用 `rem` / `em` / `%` / `vw` / `vh` 替代 `px`",
481
+ "",
482
+ "**产出格式**:",
483
+ "```",
484
+ "fluid_suggestions: [",
485
+ " { original: 'width: 960px', replacement: 'max-width: 960px; width: 100%', rationale: 'container should be fluid' },",
486
+ " { original: 'font-size: 16px', replacement: 'font-size: clamp(1rem, 2.5vw, 1.25rem)', rationale: 'fluid typography' }",
487
+ "]",
488
+ "```",
489
+ ].join("\n"),
490
+ suggestedTools: ["Read"],
491
+ output: "硬编码值到流体方案的映射清单",
492
+ depends: ["check-consistency", "find-hardcoded-widths"],
493
+ },
494
+ {
495
+ id: "apply-fixes",
496
+ title: "应用响应式修复",
497
+ instruction: [
498
+ "## 应用响应式修复",
499
+ "",
500
+ "将 `suggest-fluid` 的流体方案落地到实际 CSS 文件。",
501
+ "",
502
+ "**执行动作**:",
503
+ "1. 逐个替换硬编码值为流体方案:",
504
+ " - 固定 width → `max-width` + 百分比",
505
+ " - 固定 font-size → `clamp()` 流体排版",
506
+ " - 固定 padding/margin → `clamp()` 流体间距",
507
+ "2. 将 `max-width` 媒体查询改为 `min-width`(移动优先):",
508
+ " ```css",
509
+ " /* 修改前(桌面优先) */",
510
+ " .sidebar { width: 100%; }",
511
+ " @media (max-width: 768px) { .sidebar { width: 100%; } }",
512
+ "",
513
+ " /* 修改后(移动优先) */",
514
+ " .sidebar { width: 100%; }",
515
+ " @media (min-width: 768px) { .sidebar { width: 300px; } }",
516
+ " ```",
517
+ "3. 使用 CSS 变量集中管理断点和流体值:",
518
+ " ```css",
519
+ " :root {",
520
+ " --bp-md: 768px;",
521
+ " --container-max: clamp(320px, 90vw, 1280px);",
522
+ " }",
523
+ " ```",
524
+ "4. 确保使用 `rem` / `em` / `%` / `vw` 等相对单位",
525
+ "5. 每个文件修改后用 `npm run build` 验证无语法错误",
526
+ "",
527
+ "**产出格式**:",
528
+ "```",
529
+ "files_modified: ['src/layout.css', 'src/hero.css']",
530
+ "changes: [",
531
+ " { file: 'src/layout.css', line: 10, before: 'width: 960px', after: 'max-width: min(960px, 90vw)' },",
532
+ " { file: 'src/hero.css', line: 5, before: 'height: 400px', after: 'min-height: clamp(300px, 50vh, 500px)' }",
533
+ "]",
534
+ "build_status: 'pass'",
535
+ "```",
536
+ ].join("\n"),
537
+ suggestedTools: ["Read", "Bash", "Write"],
538
+ output: "修改的 CSS 文件清单、具体变更",
539
+ depends: ["suggest-fluid"],
540
+ },
541
+ {
542
+ id: "verify-responsive",
543
+ title: "多视口截图验证",
544
+ instruction: [
545
+ "## 多视口截图验证",
546
+ "",
547
+ "在多个标准视口宽度下验证修复后的响应式表现。",
548
+ "",
549
+ "**执行动作**:",
550
+ "1. 启动开发服务器:",
551
+ " ```bash",
552
+ " npm run dev -- --port 3000",
553
+ " ```",
554
+ "2. 在 Chrome DevTools 中切换以下视口宽度验证:",
555
+ " - 320px(移动竖屏)",
556
+ " - 375px(移动横屏 / 大屏移动)",
557
+ " - 768px(平板竖屏)",
558
+ " - 1024px(平板横屏 / 小桌面)",
559
+ " - 1440px(桌面)",
560
+ "3. 每个视口检查:",
561
+ " - 内容是否溢出(横向滚动条)",
562
+ " - 文字是否可读(字号不过小)",
563
+ " - 交互元素是否可点击(≥ 44×44px)",
564
+ " - 图片/媒体是否自适应",
565
+ "4. 记录每个视口的截图和发现的问题",
566
+ "",
567
+ "**产出格式**:",
568
+ "```",
569
+ "viewport_results: [",
570
+ " { width: 320, status: 'pass', issues: [] },",
571
+ " { width: 768, status: 'warn', issues: ['sidebar text slightly truncated'] },",
572
+ " { width: 1440, status: 'pass', issues: [] }",
573
+ "]",
574
+ "screenshots: ['screenshots/320.png', 'screenshots/768.png', 'screenshots/1440.png']",
575
+ "overall_status: 'pass with warnings'",
576
+ "```",
577
+ ].join("\n"),
578
+ suggestedTools: ["Bash", "WebFetch"],
579
+ output: "各视口验证结果、截图、遗留问题",
580
+ depends: ["apply-fixes"],
581
+ },
95
582
  ],
96
583
  triggers: [{ type: "cli", command: "audit:responsive" }],
97
584
  },
585
+ // ── BEM 命名审查 ──
98
586
  {
99
587
  name: "bem-review",
100
588
  description: "BEM 命名审查:扫描类名 → 规范检查 → 修复建议",
101
- version: "1.0.0",
589
+ version: "2.0.0",
102
590
  steps: [
103
- { id: "scan-classnames", description: "扫描项目所有 CSS 类名", type: "simple", timeout: 10000 },
104
- { id: "check-bem-compliance", description: "检查是否遵循 BEM 规范", type: "simple", depends: ["scan-classnames"], timeout: 10000 },
105
- { id: "find-deep-nesting", description: "查找深层嵌套选择器(> 3 级)", type: "simple", depends: ["scan-classnames"], timeout: 5000 },
106
- { id: "find-utility-override", description: "查找 !important 和样式覆盖", type: "simple", depends: ["scan-classnames"], timeout: 5000 },
107
- { id: "generate-report", description: "生成 BEM 合规报告", type: "llm", depends: ["check-bem-compliance", "find-deep-nesting", "find-utility-override"], timeout: 15000 },
108
- { id: "refactor-names", description: "重构不符合 BEM 的类名", type: "llm", depends: ["generate-report"], timeout: 20000 },
591
+ { id: "scan-classnames", stepTemplate: "scan-styles" },
592
+ {
593
+ id: "check-bem-compliance",
594
+ title: "检查 BEM 命名规范",
595
+ instruction: [
596
+ "## 检查是否遵循 BEM 规范",
597
+ "",
598
+ "分析项目 CSS 类名是否符合 Block__Element--Modifier 命名规范。",
599
+ "",
600
+ "**执行动作**:",
601
+ "1. 从 `scan-classnames` 结果中提取所有类名",
602
+ "2. BEM 命名规则:",
603
+ " - Block(块):独立语义组件,如 `.card`、`.nav`、`.button`",
604
+ " - Element(元素):`__` 双下划线连接,如 `.card__title`、`.nav__item`",
605
+ " - Modifier(修饰符):`--` 双连字符,如 `.card--featured`、`.button--primary`",
606
+ "3. 检查类名是否违反 BEM:",
607
+ " - 使用了非 BEM 的驼峰/短横线命名(如 `.cardTitle`、`.header-wrapper`)",
608
+ " - Element 嵌套 Element(如 `.card__header__title` — 应为 `.card__title`)",
609
+ " - Modifier 没有对应 Block(如 `.--active` 没有块名)",
610
+ " - 使用单下划线或单连字符(如 `.card_title`、`.card-primary`)",
611
+ "4. 统计合规率:",
612
+ " ```bash",
613
+ " # 查找所有类名并分类",
614
+ " grep -rhoE '\\.[a-zA-Z][a-zA-Z0-9_-]*(__[a-zA-Z0-9_-]+)*(--[a-zA-Z0-9_-]+)?' src/ --include='*.css' --include='*.scss' | sort | uniq -c",
615
+ " ```",
616
+ "",
617
+ "**产出格式**:",
618
+ "```",
619
+ "total_classes: 120",
620
+ "bem_compliant: [{ name: '.card', type: 'block' }, { name: '.card__title', type: 'element' }]",
621
+ "non_compliant: [{ name: '.cardTitle', issue: 'use camelCase instead of BEM __', suggestion: '.card__title' }]",
622
+ "compliance_rate: '85%' (102/120)",
623
+ "```",
624
+ ].join("\n"),
625
+ suggestedTools: ["Bash", "Read"],
626
+ output: "BEM 合规类名清单、违规清单、合规率",
627
+ depends: ["scan-classnames"],
628
+ },
629
+ {
630
+ id: "find-deep-nesting",
631
+ title: "查找深层嵌套选择器",
632
+ instruction: [
633
+ "## 查找深层嵌套选择器(> 3 级)",
634
+ "",
635
+ "找出嵌套超过 3 级的 CSS 选择器,这些会导致性能问题和特异性冲突。",
636
+ "",
637
+ "**执行动作**:",
638
+ "1. 在 SCSS/Sass 文件中查找深层嵌套(用缩进层级判断):",
639
+ " ```bash",
640
+ " find src/ -name '*.scss' -exec awk '/^[[:space:]]*&?[.:#]/{n=gsub(/^[[:space:]]*/,\"\"); if(n>6) print FILENAME\":\"NR\":\"$0}' {} \\;",
641
+ " ```",
642
+ "2. 在普通 CSS 中查找后代选择器(空格分隔 > 3 级):",
643
+ " ```bash",
644
+ " grep -rnE '^[^{]+\\s+[^{]+\\s+[^{]+\\s+[^{]+\\s*\\{' src/ --include='*.css' | head -20",
645
+ " ```",
646
+ "3. 深层嵌套的问题:",
647
+ " - 特异性过高,难以覆盖",
648
+ " - 浏览器匹配效率低(从右向左解析)",
649
+ " - 样式难以复用",
650
+ "4. 重构建议:",
651
+ " - 使用 BEM 扁平化:`.block__element` 代替 `.block .child .grandchild`",
652
+ " - 使用组合类:`.card.card--featured` 代替 `.card.featured .inner`",
653
+ " - 考虑 `:has()` 选择器减少嵌套",
654
+ "",
655
+ "**产出格式**:",
656
+ "```",
657
+ "deep_selectors: [",
658
+ " { selector: '.card .header .title span', depth: 4, file: 'card.css:15', suggestion: '.card__title' },",
659
+ " { selector: '.nav > li > a > .icon', depth: 4, file: 'nav.scss:22', suggestion: '.nav__icon' }",
660
+ "]",
661
+ "total_deep: 8",
662
+ "```",
663
+ ].join("\n"),
664
+ suggestedTools: ["Bash", "Read"],
665
+ output: "深层嵌套选择器清单、重构建议",
666
+ depends: ["scan-classnames"],
667
+ },
668
+ {
669
+ id: "find-utility-override",
670
+ title: "查找 !important 和样式覆盖",
671
+ instruction: [
672
+ "## 查找 !important 和样式覆盖",
673
+ "",
674
+ "找出 `!important` 声明和通过高特异性覆盖样式的模式。",
675
+ "",
676
+ "**执行动作**:",
677
+ "1. 搜索所有 `!important` 声明:",
678
+ " ```bash",
679
+ " grep -rn '!important' src/ --include='*.css' --include='*.scss'",
680
+ " ```",
681
+ "2. 搜索通过 ID 选择器提高特异性的写法:",
682
+ " ```bash",
683
+ " grep -rnE '^#[a-zA-Z]' src/ --include='*.css' --include='*.scss' | head -20",
684
+ " ```",
685
+ "3. 搜索链式类名提高特异性(如 `.btn.btn.btn`):",
686
+ " ```bash",
687
+ " grep -rnE '\\.[a-zA-Z]+\\.[a-zA-Z]+\\.[a-zA-Z]+' src/ --include='*.css' | head -20",
688
+ " ```",
689
+ "4. 分析每个 `!important` 的成因:",
690
+ " - 覆盖第三方库样式 → 考虑使用 CSS 变量或更具体选择器",
691
+ " - 特异性战争 → 重构为 BEM 修饰符",
692
+ " - 临时补丁 → 应该找到根本原因修复",
693
+ "5. `!important` 仅应在以下场景使用:",
694
+ " - 原子化工具类(如 Tailwind 的 utility)",
695
+ " - 强制覆盖无法修改的第三方样式",
696
+ "",
697
+ "**产出格式**:",
698
+ "```",
699
+ "important_declarations: [",
700
+ " { file: 'override.css', line: 10, property: 'display', selector: '.modal', reason: 'override third-party' }",
701
+ "]",
702
+ "id_selectors: [{ file: 'hack.css', line: 5, selector: '#main-content' }]",
703
+ "specificity_wars: ['modal.css uses !important to override base.css']",
704
+ "total_important: 5",
705
+ "```",
706
+ ].join("\n"),
707
+ suggestedTools: ["Bash", "Read"],
708
+ output: "!important 声明清单、特异性冲突分析",
709
+ depends: ["scan-classnames"],
710
+ },
711
+ { id: "generate-report", stepTemplate: "generate-report", depends: ["check-bem-compliance", "find-deep-nesting", "find-utility-override"] },
712
+ {
713
+ id: "refactor-names",
714
+ title: "重构不符合 BEM 的类名",
715
+ instruction: [
716
+ "## 重构不符合 BEM 的类名",
717
+ "",
718
+ "将非 BEM 类名重构为符合 Block__Element--Modifier 规范的命名。",
719
+ "",
720
+ "**执行动作**:",
721
+ "1. 从 `generate-report` 中提取需要重构的类名清单",
722
+ "2. 重构策略:",
723
+ " - 驼峰命名 `.cardTitle` → `.card__title`",
724
+ " - 嵌套选择器 `.card .header .title` → `.card__title`",
725
+ " - 状态类 `.active` → `.card--active` 或 `.nav__item--active`",
726
+ " - 修饰类 `.btn.primary` → `.btn--primary`",
727
+ "3. 同步更新所有引用(HTML、JSX、Vue template):",
728
+ " ```bash",
729
+ " # 查找所有引用位置",
730
+ " grep -rn 'cardTitle' src/ --include='*.html' --include='*.jsx' --include='*.tsx' --include='*.vue' --include='*.js'",
731
+ " ```",
732
+ "4. 使用 Edit 工具批量替换:",
733
+ " - 先改 CSS 中的类名定义",
734
+ " - 再改 HTML/JSX 中的 className 引用",
735
+ " - 最后改 JS 中的字符串引用",
736
+ "5. 如果项目使用 CSS Modules,确保驼峰导入也同步更新:",
737
+ " ```typescript",
738
+ " // 修改前",
739
+ " import styles from './Card.module.css';",
740
+ " <h1 className={styles.cardTitle}>",
741
+ " // 修改后",
742
+ " <h1 className={styles['card__title']}>",
743
+ " ```",
744
+ "6. 如果项目使用 CSS 变量,确保变量名也遵循 BEM 语义:",
745
+ " ```css",
746
+ " .card { --card-bg: white; background: var(--card-bg); }",
747
+ " ```",
748
+ "",
749
+ "**产出格式**:",
750
+ "```",
751
+ "refactored_classes: [",
752
+ " { original: '.cardTitle', new_name: '.card__title', files_modified: ['Card.module.css', 'Card.tsx'] },",
753
+ " { original: '.btn.primary', new_name: '.btn--primary', files_modified: ['Button.css', 'Button.jsx'] }",
754
+ "]",
755
+ "total_refactored: 15",
756
+ "files_modified: 8",
757
+ "```",
758
+ ].join("\n"),
759
+ suggestedTools: ["Read", "Bash", "Write"],
760
+ output: "重构后的 BEM 类名清单、修改的文件",
761
+ depends: ["generate-report"],
762
+ },
109
763
  ],
110
764
  triggers: [{ type: "cli", command: "review:bem" }],
111
765
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/plugin-css",
3
- "version": "0.4.0",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "clean": "rm -rf dist"
18
18
  },
19
19
  "dependencies": {
20
- "@devflow-tools/sdk": "^0.4.0"
20
+ "@devflow-tools/sdk": "^0.5.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "typescript": "^5.5.0",
@@ -26,5 +26,5 @@
26
26
  "files": [
27
27
  "dist"
28
28
  ],
29
- "gitHead": "c76bcf3a2bb8ac12b871738d6661979eb45090c6"
29
+ "gitHead": "2d52bb1401b6501a527cac7de0f664c18bf60dcf"
30
30
  }