@jgamaraalv/ts-dev-kit 1.0.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.
- package/.claude-plugin/marketplace.json +24 -0
- package/.claude-plugin/plugin.json +24 -0
- package/CHANGELOG.md +24 -0
- package/LICENSE +21 -0
- package/README.md +128 -0
- package/agents/accessibility-pro.md +139 -0
- package/agents/api-builder.md +110 -0
- package/agents/code-reviewer.md +190 -0
- package/agents/database-expert.md +138 -0
- package/agents/debugger.md +241 -0
- package/agents/docker-expert.md +51 -0
- package/agents/multi-agent-coordinator.md +378 -0
- package/agents/nextjs-expert.md +136 -0
- package/agents/performance-engineer.md +138 -0
- package/agents/playwright-expert.md +126 -0
- package/agents/react-specialist.md +97 -0
- package/agents/security-scanner.md +105 -0
- package/agents/test-generator.md +221 -0
- package/agents/typescript-pro.md +253 -0
- package/agents/ux-optimizer.md +93 -0
- package/docs/rules/orchestration.md.template +126 -0
- package/package.json +28 -0
- package/skills/bullmq/SKILL.md +225 -0
- package/skills/bullmq/references/flows-and-schedulers.md +186 -0
- package/skills/bullmq/references/job-types-and-options.md +163 -0
- package/skills/bullmq/references/patterns.md +273 -0
- package/skills/bullmq/references/production.md +308 -0
- package/skills/composition-patterns/SKILL.md +58 -0
- package/skills/composition-patterns/references/architecture-avoid-boolean-props.md +87 -0
- package/skills/composition-patterns/references/architecture-compound-components.md +107 -0
- package/skills/composition-patterns/references/patterns-children-over-render-props.md +77 -0
- package/skills/composition-patterns/references/patterns-explicit-variants.md +87 -0
- package/skills/composition-patterns/references/react19-no-forwardref.md +37 -0
- package/skills/composition-patterns/references/state-context-interface.md +194 -0
- package/skills/composition-patterns/references/state-decouple-implementation.md +96 -0
- package/skills/composition-patterns/references/state-lift-state.md +126 -0
- package/skills/conventional-commits/SKILL.md +148 -0
- package/skills/docker/SKILL.md +55 -0
- package/skills/docker/references/compose-configs.md +95 -0
- package/skills/docker/references/monorepo-dockerfile.md +111 -0
- package/skills/drizzle-pg/SKILL.md +202 -0
- package/skills/drizzle-pg/references/advanced.md +299 -0
- package/skills/drizzle-pg/references/migrations.md +214 -0
- package/skills/drizzle-pg/references/queries.md +321 -0
- package/skills/drizzle-pg/references/relations.md +272 -0
- package/skills/drizzle-pg/references/schema-pg.md +256 -0
- package/skills/drizzle-pg/references/sql-operator.md +215 -0
- package/skills/fastify-best-practices/SKILL.md +143 -0
- package/skills/fastify-best-practices/references/hooks-and-lifecycle.md +122 -0
- package/skills/fastify-best-practices/references/plugins-and-encapsulation.md +137 -0
- package/skills/fastify-best-practices/references/request-reply-errors.md +189 -0
- package/skills/fastify-best-practices/references/routes-and-handlers.md +134 -0
- package/skills/fastify-best-practices/references/server-and-options.md +127 -0
- package/skills/fastify-best-practices/references/typescript-and-logging.md +223 -0
- package/skills/fastify-best-practices/references/validation-and-serialization.md +190 -0
- package/skills/ioredis/SKILL.md +51 -0
- package/skills/ioredis/references/advanced-patterns.md +312 -0
- package/skills/ioredis/references/cluster-sentinel.md +280 -0
- package/skills/ioredis/references/connection-options.md +187 -0
- package/skills/ioredis/references/core-api.md +179 -0
- package/skills/nextjs-best-practices/SKILL.md +194 -0
- package/skills/nextjs-best-practices/references/async-patterns.md +84 -0
- package/skills/nextjs-best-practices/references/bundling.md +192 -0
- package/skills/nextjs-best-practices/references/data-patterns.md +310 -0
- package/skills/nextjs-best-practices/references/debug-tricks.md +127 -0
- package/skills/nextjs-best-practices/references/directives.md +74 -0
- package/skills/nextjs-best-practices/references/error-handling.md +237 -0
- package/skills/nextjs-best-practices/references/file-conventions.md +152 -0
- package/skills/nextjs-best-practices/references/font.md +175 -0
- package/skills/nextjs-best-practices/references/functions.md +116 -0
- package/skills/nextjs-best-practices/references/hydration-error.md +86 -0
- package/skills/nextjs-best-practices/references/image.md +184 -0
- package/skills/nextjs-best-practices/references/metadata.md +305 -0
- package/skills/nextjs-best-practices/references/parallel-routes.md +299 -0
- package/skills/nextjs-best-practices/references/route-handlers.md +154 -0
- package/skills/nextjs-best-practices/references/rsc-boundaries.md +168 -0
- package/skills/nextjs-best-practices/references/runtime-selection.md +40 -0
- package/skills/nextjs-best-practices/references/scripts.md +148 -0
- package/skills/nextjs-best-practices/references/self-hosting.md +210 -0
- package/skills/nextjs-best-practices/references/suspense-boundaries.md +67 -0
- package/skills/owasp-security-review/SKILL.md +98 -0
- package/skills/owasp-security-review/references/a01-broken-access-control.md +78 -0
- package/skills/owasp-security-review/references/a02-security-misconfiguration.md +81 -0
- package/skills/owasp-security-review/references/a03-supply-chain-failures.md +65 -0
- package/skills/owasp-security-review/references/a04-cryptographic-failures.md +82 -0
- package/skills/owasp-security-review/references/a05-injection.md +106 -0
- package/skills/owasp-security-review/references/a06-insecure-design.md +76 -0
- package/skills/owasp-security-review/references/a07-authentication-failures.md +83 -0
- package/skills/owasp-security-review/references/a08-integrity-failures.md +72 -0
- package/skills/owasp-security-review/references/a09-logging-alerting-failures.md +76 -0
- package/skills/owasp-security-review/references/a10-exceptional-conditions.md +131 -0
- package/skills/postgresql/SKILL.md +50 -0
- package/skills/postgresql/references/ddl-schema.md +300 -0
- package/skills/postgresql/references/indexes.md +257 -0
- package/skills/postgresql/references/jsonb.md +261 -0
- package/skills/postgresql/references/performance.md +291 -0
- package/skills/postgresql/references/psql-cli.md +153 -0
- package/skills/postgresql/references/queries.md +287 -0
- package/skills/postgresql/references/transactions.md +280 -0
- package/skills/react-best-practices/SKILL.md +110 -0
- package/skills/react-best-practices/references/advanced-patterns.md +91 -0
- package/skills/react-best-practices/references/async-patterns.md +233 -0
- package/skills/react-best-practices/references/bundle-optimization.md +201 -0
- package/skills/react-best-practices/references/client-patterns.md +178 -0
- package/skills/react-best-practices/references/js-performance.md +210 -0
- package/skills/react-best-practices/references/rendering-performance.md +209 -0
- package/skills/react-best-practices/references/rerender-optimization.md +316 -0
- package/skills/react-best-practices/references/server-performance.md +274 -0
- package/skills/service-worker/SKILL.md +195 -0
- package/skills/service-worker/references/api-reference.md +114 -0
- package/skills/service-worker/references/caching-strategies.md +202 -0
- package/skills/service-worker/references/push-and-sync.md +261 -0
- package/skills/typescript-conventions/SKILL.md +51 -0
- package/skills/ui-ux-guidelines/SKILL.md +105 -0
- package/skills/ui-ux-guidelines/references/accessibility-and-interaction.md +74 -0
- package/skills/ui-ux-guidelines/references/forms-content-checklist.md +126 -0
- package/skills/ui-ux-guidelines/references/layout-typography-animation.md +95 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Layout, Typography & Animation Reference
|
|
2
|
+
|
|
3
|
+
Rules for performance, responsive layout, typography, color, and animation. Loaded by the dispatch hub when reviewing visual and performance aspects.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Performance (HIGH)
|
|
8
|
+
|
|
9
|
+
- `image-optimization` — Use `srcset` and `loading="lazy"` for below-fold images
|
|
10
|
+
- `image-priority` — Above-fold critical images: `priority` (Next.js) or `fetchpriority="high"`
|
|
11
|
+
- `reduced-motion` — Respect `prefers-reduced-motion` media query
|
|
12
|
+
- `content-jumping` — Reserve space for async content (skeleton, min-height)
|
|
13
|
+
- `virtualize-lists` — Large lists (>50 items): virtualize (`virtua`, `content-visibility: auto`)
|
|
14
|
+
- `no-layout-reads` — No layout reads in render (`getBoundingClientRect`, `offsetHeight`, `offsetWidth`, `scrollTop`)
|
|
15
|
+
- `batch-dom` — Batch DOM reads/writes; avoid interleaving reads and writes
|
|
16
|
+
- `controlled-inputs` — Prefer uncontrolled inputs; controlled inputs must be cheap per keystroke
|
|
17
|
+
- `preconnect` — Add `<link rel="preconnect">` for CDN and asset domains
|
|
18
|
+
- `font-preload` — Critical fonts: `<link rel="preload" as="font">` with `font-display: swap`
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Layout & Responsive (HIGH)
|
|
23
|
+
|
|
24
|
+
- `horizontal-scroll` — Ensure all content fits viewport width; no overflow-x
|
|
25
|
+
- `z-index-management` — Define a z-index scale (10, 20, 30, 50); avoid magic numbers
|
|
26
|
+
- `safe-areas` — Full-bleed layouts need `env(safe-area-inset-*)` for notches and home indicators
|
|
27
|
+
- `flex-grid-layout` — Prefer flex/grid over JS measurement for layout
|
|
28
|
+
- `overflow-x` — Use `overflow-x-hidden` on containers to fix content overflow causing scrollbars
|
|
29
|
+
- `readable-font-size` — Minimum 16px body text on mobile
|
|
30
|
+
|
|
31
|
+
### Spacing & Containers
|
|
32
|
+
|
|
33
|
+
- Floating elements have proper spacing from viewport edges
|
|
34
|
+
- No content hidden behind fixed navbars — account for header height
|
|
35
|
+
- Use same `max-w-*` across pages for consistent container widths
|
|
36
|
+
- Responsive at 375px, 768px, 1024px, 1440px
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Typography & Color (MEDIUM)
|
|
41
|
+
|
|
42
|
+
- `line-length` — Limit to 65--75 characters per line (`max-w-prose`)
|
|
43
|
+
- `font-pairing` — Match heading and body font personalities (serif+sans, display+neutral)
|
|
44
|
+
- `ellipsis` — Use `…` (U+2026), never `...` (three dots)
|
|
45
|
+
- `curly-quotes` — Use `"` `"` (curly quotes), not straight `"`
|
|
46
|
+
- `nbsp` — Non-breaking spaces for units and brand names: `10 MB`, `⌘ K`
|
|
47
|
+
- `loading-text` — Loading states end with `…`: `"Carregando…"`, `"Salvando…"`
|
|
48
|
+
- `tabular-nums` — Use `font-variant-numeric: tabular-nums` for number columns and comparisons
|
|
49
|
+
- `heading-wrap` — Use `text-wrap: balance` or `text-pretty` on headings (prevents widows)
|
|
50
|
+
|
|
51
|
+
### Light/Dark Mode Contrast
|
|
52
|
+
|
|
53
|
+
| Rule | Do | Don't |
|
|
54
|
+
| ------------------------- | ----------------------------------- | --------------------------------------- |
|
|
55
|
+
| **Glass card light mode** | Use `bg-white/80` or higher opacity | Use `bg-white/10` (too transparent) |
|
|
56
|
+
| **Text contrast light** | Use `#0F172A` (slate-900) for text | Use `#94A3B8` (slate-400) for body text |
|
|
57
|
+
| **Muted text light** | Use `#475569` (slate-600) minimum | Use gray-400 or lighter |
|
|
58
|
+
| **Border visibility** | Use `border-gray-200` in light mode | Use `border-white/10` (invisible) |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Animation (MEDIUM)
|
|
63
|
+
|
|
64
|
+
- `duration-timing` — Use 150--300ms for micro-interactions; ease-out for entrances
|
|
65
|
+
- `transform-performance` — Animate `transform` and `opacity` only; never `width`/`height`
|
|
66
|
+
- `loading-states` — Show skeleton screens or spinners for content loading
|
|
67
|
+
- `no-transition-all` — Never `transition: all` — list properties explicitly
|
|
68
|
+
- `transform-origin` — Set correct `transform-origin` for scale/rotate animations
|
|
69
|
+
- `svg-transforms` — SVG: apply transforms on a `<g>` wrapper with `transform-box: fill-box; transform-origin: center`
|
|
70
|
+
- `interruptible` — Animations must be interruptible — respond to user input mid-animation
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Style Selection (MEDIUM)
|
|
75
|
+
|
|
76
|
+
- `style-match` — Match visual style to product type (minimalism for SaaS, playful for consumer)
|
|
77
|
+
- `consistency` — Apply the same style system across all pages
|
|
78
|
+
- `no-emoji-icons` — Use SVG icons (Lucide, Heroicons); never use emojis as UI icons
|
|
79
|
+
|
|
80
|
+
### Icons & Visual Elements
|
|
81
|
+
|
|
82
|
+
| Rule | Do | Don't |
|
|
83
|
+
| -------------------------- | ----------------------------------------------- | -------------------------------------- |
|
|
84
|
+
| **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis as UI icons |
|
|
85
|
+
| **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
|
|
86
|
+
| **Correct brand logos** | Use official SVG from Simple Icons | Guess or use incorrect logo paths |
|
|
87
|
+
| **Consistent icon sizing** | Fixed viewBox 24x24 with `w-6 h-6` | Mix different icon sizes randomly |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Charts & Data (LOW)
|
|
92
|
+
|
|
93
|
+
- `chart-type` — Match chart type to data relationship (trend -> line, comparison -> bar, part-of-whole -> pie)
|
|
94
|
+
- `color-guidance` — Use accessible, colorblind-safe palettes for data series
|
|
95
|
+
- `data-table` — Provide a table alternative to charts for accessibility
|