@mohammadhprp/system-prompt 0.12.2 → 0.12.3
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/framework/commands/README.md +1 -1
- package/framework/commands/review.md +1 -1
- package/framework/mcps/README.md +0 -1
- package/framework/plugins/ponytail/README.md +0 -1
- package/framework/plugins/ponytail/capabilities.md +1 -1
- package/framework/references/standards/api.md +0 -1
- package/framework/references/standards/architecture.md +0 -1
- package/framework/references/standards/database.md +0 -1
- package/framework/references/standards/debugging.md +0 -1
- package/framework/references/standards/documentation.md +0 -1
- package/framework/references/standards/logging.md +0 -1
- package/framework/references/standards/naming.md +0 -1
- package/framework/references/standards/observability.md +0 -1
- package/framework/references/standards/performance.md +0 -1
- package/framework/references/standards/pull-requests.md +0 -1
- package/framework/references/standards/security.md +0 -1
- package/framework/references/standards/testing.md +0 -1
- package/framework/skills/README.md +1 -12
- package/framework/skills/improve/SKILL.md +1 -3
- package/framework/skills/improve/examples.md +1 -1
- package/framework/skills/laravel-best-practices/SKILL.md +56 -216
- package/framework/skills/laravel-best-practices/references/architecture.md +1 -1
- package/framework/skills/laravel-best-practices/references/checklist.md +139 -0
- package/framework/skills/laravel-best-practices/references/eloquent.md +4 -2
- package/framework/skills/laravel-best-practices/references/infer-conventions.md +97 -0
- package/framework/skills/laravel-best-practices/references/pest-testing.md +47 -18
- package/framework/skills/laravel-best-practices/references/security.md +1 -1
- package/framework/skills/laravel-best-practices/references/style.md +1 -1
- package/framework/skills/laravel-best-practices/references/tailwindcss.md +0 -1
- package/package.json +1 -1
- package/src/catalog.js +1 -13
- package/framework/mcps/notion-mcp/README.md +0 -57
- package/framework/mcps/notion-mcp/capabilities.md +0 -118
- package/framework/mcps/notion-mcp/configs/opencode.json +0 -9
- package/framework/mcps/notion-mcp/install.md +0 -70
- package/framework/mcps/notion-mcp/troubleshooting.md +0 -95
- package/framework/skills/brainstorming/SKILL.md +0 -159
- package/framework/skills/brainstorming/examples.md +0 -49
- package/framework/skills/brainstorming/scripts/frame-template.html +0 -213
- package/framework/skills/brainstorming/scripts/helper.js +0 -167
- package/framework/skills/brainstorming/scripts/server.cjs +0 -723
- package/framework/skills/brainstorming/scripts/start-server.sh +0 -209
- package/framework/skills/brainstorming/scripts/stop-server.sh +0 -120
- package/framework/skills/brainstorming/visual-companion.md +0 -291
- package/framework/skills/code-review/SKILL.md +0 -72
- package/framework/skills/code-review/examples.md +0 -31
- package/framework/skills/codenavi/SKILL.md +0 -306
- package/framework/skills/codenavi/examples.md +0 -33
- package/framework/skills/codenavi/references/coding-principles.md +0 -143
- package/framework/skills/codenavi/references/notebook-spec.md +0 -171
- package/framework/skills/create-adr/SKILL.md +0 -429
- package/framework/skills/create-adr/examples.md +0 -35
- package/framework/skills/design/SKILL.md +0 -399
- package/framework/skills/design/examples.md +0 -34
- package/framework/skills/great-interface/SKILL.md +0 -43
- package/framework/skills/great-interface/references/animations.md +0 -205
- package/framework/skills/great-interface/references/better-accessibility.md +0 -106
- package/framework/skills/great-interface/references/better-colors.md +0 -100
- package/framework/skills/great-interface/references/better-interface.md +0 -132
- package/framework/skills/great-interface/references/better-layout.md +0 -76
- package/framework/skills/great-interface/references/better-typography.md +0 -157
- package/framework/skills/great-interface/references/better-ui.md +0 -107
- package/framework/skills/great-interface/references/better-writing.md +0 -109
- package/framework/skills/great-interface/references/choosing-fonts.md +0 -64
- package/framework/skills/great-interface/references/color-formats.md +0 -90
- package/framework/skills/great-interface/references/color-usage.md +0 -118
- package/framework/skills/great-interface/references/contrast.md +0 -79
- package/framework/skills/great-interface/references/css-cheat-sheet.md +0 -65
- package/framework/skills/great-interface/references/details-and-accessibility.md +0 -119
- package/framework/skills/great-interface/references/enter-exit.md +0 -147
- package/framework/skills/great-interface/references/explain-interface.md +0 -126
- package/framework/skills/great-interface/references/find-the-effect.md +0 -94
- package/framework/skills/great-interface/references/focus-and-keyboard.md +0 -131
- package/framework/skills/great-interface/references/forms.md +0 -84
- package/framework/skills/great-interface/references/from-an-image.md +0 -55
- package/framework/skills/great-interface/references/grouping-and-alignment.md +0 -123
- package/framework/skills/great-interface/references/hit-areas.md +0 -94
- package/framework/skills/great-interface/references/icon-transitions.md +0 -102
- package/framework/skills/great-interface/references/icons.md +0 -110
- package/framework/skills/great-interface/references/interface-review.md +0 -148
- package/framework/skills/great-interface/references/motion-and-zoom.md +0 -79
- package/framework/skills/great-interface/references/no-browser.md +0 -73
- package/framework/skills/great-interface/references/palette-generation.md +0 -104
- package/framework/skills/great-interface/references/palette-structure.md +0 -76
- package/framework/skills/great-interface/references/performance.md +0 -88
- package/framework/skills/great-interface/references/picker.md +0 -76
- package/framework/skills/great-interface/references/read-the-system.md +0 -178
- package/framework/skills/great-interface/references/removed-signals.md +0 -38
- package/framework/skills/great-interface/references/review-format.md +0 -46
- package/framework/skills/great-interface/references/scope-resolution.md +0 -88
- package/framework/skills/great-interface/references/screen-readers.md +0 -101
- package/framework/skills/great-interface/references/semantics-and-aria.md +0 -84
- package/framework/skills/great-interface/references/spacing-and-adaptivity.md +0 -159
- package/framework/skills/great-interface/references/spacing-and-sizing.md +0 -121
- package/framework/skills/great-interface/references/surfaces.md +0 -219
- package/framework/skills/great-interface/references/token-naming.md +0 -97
- package/framework/skills/great-interface/references/variable-fonts-and-opentype.md +0 -105
- package/framework/skills/great-interface/references/variant.md +0 -104
- package/framework/skills/great-interface/references/wrapping-and-punctuation.md +0 -55
- package/framework/skills/learning-opportunities/SKILL.md +0 -140
- package/framework/skills/learning-opportunities/examples.md +0 -34
- package/framework/skills/learning-opportunities/references/PRINCIPLES.md +0 -42
- package/framework/skills/notion-mcp/SKILL.md +0 -57
- package/framework/skills/notion-mcp/examples.md +0 -31
- package/framework/skills/notion-mcp/references/comments.md +0 -112
- package/framework/skills/notion-mcp/references/databases.md +0 -193
- package/framework/skills/notion-mcp/references/pages.md +0 -235
- package/framework/skills/spec-driven-eval/SKILL.md +0 -341
- package/framework/skills/spec-driven-eval/examples.md +0 -35
- package/framework/skills/spec-driven-eval/references/quickstart.md +0 -118
- package/framework/skills/spec-driven-eval/references/reference.md +0 -295
- package/framework/skills/technical-design-doc-creator/README.md +0 -411
- package/framework/skills/technical-design-doc-creator/SKILL.md +0 -1484
- package/framework/skills/technical-design-doc-creator/examples.md +0 -35
- package/framework/skills/web-design-guidelines/SKILL.md +0 -65
- package/framework/skills/web-design-guidelines/examples.md +0 -32
- package/framework/skills/web-design-guidelines/references/guideline.md +0 -174
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Technical Design Doc Creator Examples
|
|
2
|
-
|
|
3
|
-
## Payment integration design doc
|
|
4
|
-
|
|
5
|
-
User: "Create a TDD for integrating Stripe payments into our subscription system."
|
|
6
|
-
|
|
7
|
-
Good agent behavior:
|
|
8
|
-
|
|
9
|
-
- Ask about project size and type before generating, then size the document to the answer.
|
|
10
|
-
- Detect the user's language and generate all headers and prose in it.
|
|
11
|
-
- Enforce the mandatory sections: problem statement, scope, technical solution, risks, and implementation plan.
|
|
12
|
-
- Make the Security section mandatory because this is a payment system, and collect PCI DSS, encryption, and PII handling details.
|
|
13
|
-
- Keep the document at the architectural level: API contracts, data flow, and rollback strategy, not CLI commands or code snippets.
|
|
14
|
-
|
|
15
|
-
## Small feature design doc
|
|
16
|
-
|
|
17
|
-
User: "Write a design doc for adding user profile pictures."
|
|
18
|
-
|
|
19
|
-
Good agent behavior:
|
|
20
|
-
|
|
21
|
-
- Recognize this as a small feature and produce a streamlined TDD with only the essential sections.
|
|
22
|
-
- Ask for the basic information needed: problem statement, scope, and technical approach.
|
|
23
|
-
- Include an implementation plan with owner, status, and estimate columns.
|
|
24
|
-
- Skip suggested sections like Migration Plan and Approval when they don't apply.
|
|
25
|
-
|
|
26
|
-
## Migrating a database
|
|
27
|
-
|
|
28
|
-
User: "Crie um TDD para migração do banco de dados PostgreSQL para MongoDB"
|
|
29
|
-
|
|
30
|
-
Good agent behavior:
|
|
31
|
-
|
|
32
|
-
- Detect Portuguese and generate the TDD in Portuguese with translated section headers.
|
|
33
|
-
- Identify this as a data migration project and add a migration plan covering strategy, phases, and rollback.
|
|
34
|
-
- Ask for the migration strategy, data mapping, and rollback plan before writing.
|
|
35
|
-
- Note data integrity validation as a first-class concern rather than an afterthought.
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: web-design-guidelines
|
|
3
|
-
description: Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices". Focuses on visual design and interaction patterns. Do NOT use for performance audits (use core-web-vitals), SEO (use seo), or comprehensive site audits (use web-quality-audit).
|
|
4
|
-
metadata:
|
|
5
|
-
author: vercel
|
|
6
|
-
version: '1.0.0'
|
|
7
|
-
argument-hint: <file-or-pattern>
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Web Interface Guidelines
|
|
11
|
-
|
|
12
|
-
Review files for compliance with Web Interface Guidelines.
|
|
13
|
-
|
|
14
|
-
## How It Works
|
|
15
|
-
|
|
16
|
-
1. Read the guidelines from `#[[file:references/guideline.md]]`
|
|
17
|
-
2. Read the specified files (or prompt user for files/pattern)
|
|
18
|
-
3. Check against all rules in the guidelines
|
|
19
|
-
4. Output findings in the terse `file:line` format
|
|
20
|
-
|
|
21
|
-
## Guidelines Reference
|
|
22
|
-
|
|
23
|
-
All rules and output format instructions are in:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
#[[file:references/guideline.md]]
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
The guidelines cover:
|
|
30
|
-
|
|
31
|
-
- Accessibility (ARIA, semantic HTML, keyboard navigation)
|
|
32
|
-
- Focus states and keyboard interaction
|
|
33
|
-
- Forms (autocomplete, validation, labels)
|
|
34
|
-
- Animation (reduced motion, performance)
|
|
35
|
-
- Typography (proper characters, number formatting)
|
|
36
|
-
- Content handling (overflow, empty states)
|
|
37
|
-
- Images (dimensions, lazy loading)
|
|
38
|
-
- Performance (virtualization, DOM reads)
|
|
39
|
-
- Navigation & state (URL sync, deep linking)
|
|
40
|
-
- Touch & interaction (tap delays, safe areas)
|
|
41
|
-
- Dark mode & theming
|
|
42
|
-
- Locale & i18n
|
|
43
|
-
- Hydration safety
|
|
44
|
-
- Common anti-patterns to flag
|
|
45
|
-
|
|
46
|
-
## Usage
|
|
47
|
-
|
|
48
|
-
When a user provides a file or pattern argument:
|
|
49
|
-
|
|
50
|
-
1. Read the guidelines from `references/guideline.md`
|
|
51
|
-
2. Read the specified files
|
|
52
|
-
3. Apply all rules from the guidelines
|
|
53
|
-
4. Output findings using the format specified in the guidelines
|
|
54
|
-
|
|
55
|
-
If no files specified, ask the user which files to review.
|
|
56
|
-
|
|
57
|
-
## Output Format
|
|
58
|
-
|
|
59
|
-
Follow the format in the guidelines:
|
|
60
|
-
|
|
61
|
-
- Group findings by file
|
|
62
|
-
- Use `file:line` format (VS Code clickable)
|
|
63
|
-
- Terse, high signal-to-noise
|
|
64
|
-
- State issue + location
|
|
65
|
-
- Skip explanation unless fix is non-obvious
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Web Design Guidelines Examples
|
|
2
|
-
|
|
3
|
-
## Review a component for accessibility
|
|
4
|
-
|
|
5
|
-
User: "Review my dropdown component."
|
|
6
|
-
|
|
7
|
-
Good agent behavior:
|
|
8
|
-
|
|
9
|
-
- Read the guidelines from `references/guideline.md` first, then the specified file.
|
|
10
|
-
- Check ARIA usage, keyboard navigation, focus states, and semantic HTML against the rules.
|
|
11
|
-
- Output findings grouped by file in `file:line` format, state the issue and location, and skip explanations unless the fix is non-obvious.
|
|
12
|
-
|
|
13
|
-
## Audit a page's interaction patterns
|
|
14
|
-
|
|
15
|
-
User: "Check my checkout page against best practices."
|
|
16
|
-
|
|
17
|
-
Good agent behavior:
|
|
18
|
-
|
|
19
|
-
- Apply the rules for forms (labels, validation, autocomplete), touch targets, tap delays, and reduced motion.
|
|
20
|
-
- Flag focus visibility and safe-area issues on mobile.
|
|
21
|
-
- Keep the output terse and high signal-to-noise: issue + `file:line` location.
|
|
22
|
-
- Redirect the user to the right skill when a request is out of scope, such as a performance audit.
|
|
23
|
-
|
|
24
|
-
## Review without a file specified
|
|
25
|
-
|
|
26
|
-
User: "Audit my site."
|
|
27
|
-
|
|
28
|
-
Good agent behavior:
|
|
29
|
-
|
|
30
|
-
- Ask which files or pattern to review before starting, since the skill needs a target.
|
|
31
|
-
- Once provided, read the files and check them against all rules in the guidelines.
|
|
32
|
-
- Produce the grouped `file:line` findings rather than a prose essay.
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
# Web Interface Guidelines
|
|
2
|
-
|
|
3
|
-
Review these files for compliance: $ARGUMENTS
|
|
4
|
-
|
|
5
|
-
Read files, check against rules below. Output concise but comprehensive—sacrifice grammar for brevity. High signal-to-noise.
|
|
6
|
-
|
|
7
|
-
## Rules
|
|
8
|
-
|
|
9
|
-
### Accessibility
|
|
10
|
-
|
|
11
|
-
- Icon-only buttons need `aria-label`
|
|
12
|
-
- Form controls need `<label>` or `aria-label`
|
|
13
|
-
- Interactive elements need keyboard handlers (`onKeyDown`/`onKeyUp`)
|
|
14
|
-
- `<button>` for actions, `<a>`/`<Link>` for navigation (not `<div onClick>`)
|
|
15
|
-
- Images need `alt` (or `alt=""` if decorative)
|
|
16
|
-
- Decorative icons need `aria-hidden="true"`
|
|
17
|
-
- Async updates (toasts, validation) need `aria-live="polite"`
|
|
18
|
-
- Use semantic HTML (`<button>`, `<a>`, `<label>`, `<table>`) before ARIA
|
|
19
|
-
- Headings hierarchical `<h1>`–`<h6>`; include skip link for main content
|
|
20
|
-
- `scroll-margin-top` on heading anchors
|
|
21
|
-
|
|
22
|
-
### Focus States
|
|
23
|
-
|
|
24
|
-
- Interactive elements need visible focus: `focus-visible:ring-*` or equivalent
|
|
25
|
-
- Never `outline-none` / `outline: none` without focus replacement
|
|
26
|
-
- Use `:focus-visible` over `:focus` (avoid focus ring on click)
|
|
27
|
-
- Group focus with `:focus-within` for compound controls
|
|
28
|
-
|
|
29
|
-
### Forms
|
|
30
|
-
|
|
31
|
-
- Inputs need `autocomplete` and meaningful `name`
|
|
32
|
-
- Use correct `type` (`email`, `tel`, `url`, `number`) and `inputmode`
|
|
33
|
-
- Never block paste (`onPaste` + `preventDefault`)
|
|
34
|
-
- Labels clickable (`htmlFor` or wrapping control)
|
|
35
|
-
- Disable spellcheck on emails, codes, usernames (`spellCheck={false}`)
|
|
36
|
-
- Checkboxes/radios: label + control share single hit target (no dead zones)
|
|
37
|
-
- Submit button stays enabled until request starts; spinner during request
|
|
38
|
-
- Errors inline next to fields; focus first error on submit
|
|
39
|
-
- Placeholders end with `…` and show example pattern
|
|
40
|
-
- `autocomplete="off"` on non-auth fields to avoid password manager triggers
|
|
41
|
-
- Warn before navigation with unsaved changes (`beforeunload` or router guard)
|
|
42
|
-
|
|
43
|
-
### Animation
|
|
44
|
-
|
|
45
|
-
- Honor `prefers-reduced-motion` (provide reduced variant or disable)
|
|
46
|
-
- Animate `transform`/`opacity` only (compositor-friendly)
|
|
47
|
-
- Never `transition: all`—list properties explicitly
|
|
48
|
-
- Set correct `transform-origin`
|
|
49
|
-
- SVG: transforms on `<g>` wrapper with `transform-box: fill-box; transform-origin: center`
|
|
50
|
-
- Animations interruptible—respond to user input mid-animation
|
|
51
|
-
|
|
52
|
-
### Typography
|
|
53
|
-
|
|
54
|
-
- `…` not `...`
|
|
55
|
-
- Curly quotes `"` `"` not straight `"`
|
|
56
|
-
- Non-breaking spaces: `10 MB`, `⌘ K`, brand names
|
|
57
|
-
- Loading states end with `…`: `"Loading…"`, `"Saving…"`
|
|
58
|
-
- `font-variant-numeric: tabular-nums` for number columns/comparisons
|
|
59
|
-
- Use `text-wrap: balance` or `text-pretty` on headings (prevents widows)
|
|
60
|
-
|
|
61
|
-
### Content Handling
|
|
62
|
-
|
|
63
|
-
- Text containers handle long content: `truncate`, `line-clamp-*`, or `break-words`
|
|
64
|
-
- Flex children need `min-w-0` to allow text truncation
|
|
65
|
-
- Handle empty states—don't render broken UI for empty strings/arrays
|
|
66
|
-
- User-generated content: anticipate short, average, and very long inputs
|
|
67
|
-
|
|
68
|
-
### Images
|
|
69
|
-
|
|
70
|
-
- `<img>` needs explicit `width` and `height` (prevents CLS)
|
|
71
|
-
- Below-fold images: `loading="lazy"`
|
|
72
|
-
- Above-fold critical images: `priority` or `fetchpriority="high"`
|
|
73
|
-
|
|
74
|
-
### Performance
|
|
75
|
-
|
|
76
|
-
- Large lists (>50 items): virtualize (`virtua`, `content-visibility: auto`)
|
|
77
|
-
- No layout reads in render (`getBoundingClientRect`, `offsetHeight`, `offsetWidth`, `scrollTop`)
|
|
78
|
-
- Batch DOM reads/writes; avoid interleaving
|
|
79
|
-
- Prefer uncontrolled inputs; controlled inputs must be cheap per keystroke
|
|
80
|
-
- Add `<link rel="preconnect">` for CDN/asset domains
|
|
81
|
-
- Critical fonts: `<link rel="preload" as="font">` with `font-display: swap`
|
|
82
|
-
|
|
83
|
-
### Navigation & State
|
|
84
|
-
|
|
85
|
-
- URL reflects state—filters, tabs, pagination, expanded panels in query params
|
|
86
|
-
- Links use `<a>`/`<Link>` (Cmd/Ctrl+click, middle-click support)
|
|
87
|
-
- Deep-link all stateful UI (if uses `useState`, consider URL sync via nuqs or similar)
|
|
88
|
-
- Destructive actions need confirmation modal or undo window—never immediate
|
|
89
|
-
|
|
90
|
-
### Touch & Interaction
|
|
91
|
-
|
|
92
|
-
- `touch-action: manipulation` (prevents double-tap zoom delay)
|
|
93
|
-
- `-webkit-tap-highlight-color` set intentionally
|
|
94
|
-
- `overscroll-behavior: contain` in modals/drawers/sheets
|
|
95
|
-
- During drag: disable text selection, `inert` on dragged elements
|
|
96
|
-
- `autoFocus` sparingly—desktop only, single primary input; avoid on mobile
|
|
97
|
-
|
|
98
|
-
### Safe Areas & Layout
|
|
99
|
-
|
|
100
|
-
- Full-bleed layouts need `env(safe-area-inset-*)` for notches
|
|
101
|
-
- Avoid unwanted scrollbars: `overflow-x-hidden` on containers, fix content overflow
|
|
102
|
-
- Flex/grid over JS measurement for layout
|
|
103
|
-
|
|
104
|
-
### Dark Mode & Theming
|
|
105
|
-
|
|
106
|
-
- `color-scheme: dark` on `<html>` for dark themes (fixes scrollbar, inputs)
|
|
107
|
-
- `<meta name="theme-color">` matches page background
|
|
108
|
-
- Native `<select>`: explicit `background-color` and `color` (Windows dark mode)
|
|
109
|
-
|
|
110
|
-
### Locale & i18n
|
|
111
|
-
|
|
112
|
-
- Dates/times: use `Intl.DateTimeFormat` not hardcoded formats
|
|
113
|
-
- Numbers/currency: use `Intl.NumberFormat` not hardcoded formats
|
|
114
|
-
- Detect language via `Accept-Language` / `navigator.languages`, not IP
|
|
115
|
-
|
|
116
|
-
### Hydration Safety
|
|
117
|
-
|
|
118
|
-
- Inputs with `value` need `onChange` (or use `defaultValue` for uncontrolled)
|
|
119
|
-
- Date/time rendering: guard against hydration mismatch (server vs client)
|
|
120
|
-
- `suppressHydrationWarning` only where truly needed
|
|
121
|
-
|
|
122
|
-
### Hover & Interactive States
|
|
123
|
-
|
|
124
|
-
- Buttons/links need `hover:` state (visual feedback)
|
|
125
|
-
- Interactive states increase contrast: hover/active/focus more prominent than rest
|
|
126
|
-
|
|
127
|
-
### Content & Copy
|
|
128
|
-
|
|
129
|
-
- Active voice: "Install the CLI" not "The CLI will be installed"
|
|
130
|
-
- Title Case for headings/buttons (Chicago style)
|
|
131
|
-
- Numerals for counts: "8 deployments" not "eight"
|
|
132
|
-
- Specific button labels: "Save API Key" not "Continue"
|
|
133
|
-
- Error messages include fix/next step, not just problem
|
|
134
|
-
- Second person; avoid first person
|
|
135
|
-
- `&` over "and" where space-constrained
|
|
136
|
-
|
|
137
|
-
### Anti-patterns (flag these)
|
|
138
|
-
|
|
139
|
-
- `user-scalable=no` or `maximum-scale=1` disabling zoom
|
|
140
|
-
- `onPaste` with `preventDefault`
|
|
141
|
-
- `transition: all`
|
|
142
|
-
- `outline-none` without focus-visible replacement
|
|
143
|
-
- Inline `onClick` navigation without `<a>`
|
|
144
|
-
- `<div>` or `<span>` with click handlers (should be `<button>`)
|
|
145
|
-
- Images without dimensions
|
|
146
|
-
- Large arrays `.map()` without virtualization
|
|
147
|
-
- Form inputs without labels
|
|
148
|
-
- Icon buttons without `aria-label`
|
|
149
|
-
- Hardcoded date/number formats (use `Intl.*`)
|
|
150
|
-
- `autoFocus` without clear justification
|
|
151
|
-
|
|
152
|
-
## Output Format
|
|
153
|
-
|
|
154
|
-
Group by file. Use `file:line` format (VS Code clickable). Terse findings.
|
|
155
|
-
|
|
156
|
-
```text
|
|
157
|
-
## src/Button.tsx
|
|
158
|
-
|
|
159
|
-
src/Button.tsx:42 - icon button missing aria-label
|
|
160
|
-
src/Button.tsx:18 - input lacks label
|
|
161
|
-
src/Button.tsx:55 - animation missing prefers-reduced-motion
|
|
162
|
-
src/Button.tsx:67 - transition: all → list properties
|
|
163
|
-
|
|
164
|
-
## src/Modal.tsx
|
|
165
|
-
|
|
166
|
-
src/Modal.tsx:12 - missing overscroll-behavior: contain
|
|
167
|
-
src/Modal.tsx:34 - "..." → "…"
|
|
168
|
-
|
|
169
|
-
## src/Card.tsx
|
|
170
|
-
|
|
171
|
-
✓ pass
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
State issue + location. Skip explanation unless fix non-obvious. No preamble.
|