celeroncoder / celeroncoder/shire

React Review Audit

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

**Score: 96/100** · 1 error · 34 warnings

Copy as prompt

```text
Fix the following React Review diagnostics in my codebase.

## Errors (1)

1. [error] require-reduced-motion — apps/landing/package.json:0
Project uses a motion library but has no prefers-reduced-motion handling — required for accessibility (WCAG 2.3.3)

## Warnings (34)

2. [warning] use-lazy-motion — apps/landing/src/sections/hero.tsx:2
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size

3. [warning] design-no-redundant-size-axes — apps/landing/src/sections/hero.tsx:62
w-[600px] h-[600px] → use the shorthand size-[600px] (Tailwind v3.4+)

4. [warning] design-no-em-dash-in-jsx-text — apps/landing/src/sections/hero.tsx:82
Em dash (—) in JSX text reads as model output — replace with comma, colon, semicolon, or parentheses

5. [warning] use-lazy-motion — apps/landing/src/sections/features.tsx:2
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size

6. [warning] design-no-redundant-size-axes — apps/landing/src/sections/features.tsx:89
w-3 h-3 → use the shorthand size-3 (Tailwind v3.4+)

7. [warning] design-no-redundant-size-axes — apps/landing/src/sections/features.tsx:101
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)

8. [warning] design-no-redundant-size-axes — apps/landing/src/sections/features.tsx:102
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)

9. [warning] design-no-redundant-size-axes — apps/landing/src/sections/features.tsx:103
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)

10. [warning] design-no-redundant-size-axes — apps/landing/src/sections/features.tsx:140
w-12 h-12 → use the shorthand size-12 (Tailwind v3.4+)

11. [warning] design-no-redundant-size-axes — apps/landing/src/sections/features.tsx:141
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)

12. [warning] anchor-is-valid — apps/landing/src/sections/footer.tsx:12
Use of incorrect `href` for the 'a' element.

13. [warning] anchor-is-valid — apps/landing/src/sections/footer.tsx:18
Use of incorrect `href` for the 'a' element.

14. [warning] anchor-is-valid — apps/landing/src/sections/footer.tsx:24
Use of incorrect `href` for the 'a' element.

15. [warning] use-lazy-motion — apps/landing/src/sections/waitlist.tsx:2
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size

16. [warning] design-no-redundant-size-axes — apps/landing/src/sections/waitlist.tsx:47
w-[400px] h-[400px] → use the shorthand size-[400px] (Tailwind v3.4+)

17. [warning] design-no-redundant-size-axes — apps/landing/src/sections/waitlist.tsx:63
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)

18. [warning] design-no-redundant-size-axes — apps/landing/src/sections/waitlist.tsx:72
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)

19. [warning] use-lazy-motion — apps/landing/src/sections/tools.tsx:2
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size

20. [warning] design-no-em-dash-in-jsx-text — apps/landing/src/sections/tools.tsx:77
Em dash (—) in JSX text reads as model output — replace with comma, colon, semicolon, or parentheses

21. [warning] design-no-redundant-size-axes — apps/landing/src/sections/tools.tsx:84
w-1.5 h-1.5 → use the shorthand size-1.5 (Tailwind v3.4+)

22. [warning] design-no-redundant-size-axes — apps/landing/src/sections/tools.tsx:88
w-1.5 h-1.5 → use the shorthand size-1.5 (Tailwind v3.4+)

23. [warning] design-no-redundant-size-axes — apps/landing/src/sections/tools.tsx:92
w-1.5 h-1.5 → use the shorthand size-1.5 (Tailwind v3.4+)

24. [warning] design-no-redundant-size-axes — apps/landing/src/sections/tools.tsx:96
w-1.5 h-1.5 → use the shorthand size-1.5 (Tailwind v3.4+)

25. [warning] design-no-redundant-size-axes — apps/landing/src/sections/tools.tsx:112
w-3 h-3 → use the shorthand size-3 (Tailwind v3.4+)

26. [warning] design-no-redundant-size-axes — apps/landing/src/sections/tools.tsx:113
w-3 h-3 → use the shorthand size-3 (Tailwind v3.4+)

27. [warning] design-no-redundant-size-axes — apps/landing/src/sections/tools.tsx:114
w-3 h-3 → use the shorthand size-3 (Tailwind v3.4+)

28. [warning] design-no-redundant-size-axes — apps/landing/src/sections/tools.tsx:137
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)

29. [warning] design-no-em-dash-in-jsx-text — apps/landing/src/sections/tools.tsx:156
Em dash (—) in JSX text reads as model output — replace with comma, colon, semicolon, or parentheses

30. [warning] anchor-is-valid — apps/landing/src/sections/navbar.tsx:26
Use of incorrect `href` for the 'a' element.

31. [warning] use-lazy-motion — apps/landing/src/sections/navbar.tsx:2
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size

32. [warning] design-no-redundant-size-axes — apps/landing/src/sections/navbar.tsx:37
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)

33. [warning] use-lazy-motion — apps/landing/src/sections/how-it-works.tsx:2
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size

34. [warning] design-no-redundant-size-axes — apps/landing/src/sections/how-it-works.tsx:66
w-14 h-14 → use the shorthand size-14 (Tailwind v3.4+)

35. [warning] design-no-redundant-size-axes — apps/landing/src/sections/how-it-works.tsx:67
w-6 h-6 → use the shorthand size-6 (Tailwind v3.4+)
```

---

### ❌ Errors (1)

**`require-reduced-motion`**

Project uses a motion library but has no prefers-reduced-motion handling — required for accessibility (WCAG 2.3.3)

> Add `useReducedMotion()` from your animation library, or a `@media (prefers-reduced-motion: reduce)` CSS query

[`apps/landing/package.json:0`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/package.json#L0)

---

### ⚠️ Warnings (34)

**`design-no-redundant-size-axes`**

w-[600px] h-[600px] → use the shorthand size-[600px] (Tailwind v3.4+)

> Collapse `w-N h-N` to `size-N` (Tailwind v3.4+) when both axes match

[`apps/landing/src/sections/hero.tsx:62`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/hero.tsx#L62)
[`apps/landing/src/sections/features.tsx:89`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/features.tsx#L89)
[`apps/landing/src/sections/features.tsx:101`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/features.tsx#L101)
[`apps/landing/src/sections/features.tsx:102`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/features.tsx#L102)
[`apps/landing/src/sections/features.tsx:103`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/features.tsx#L103)
[`apps/landing/src/sections/features.tsx:140`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/features.tsx#L140)
[`apps/landing/src/sections/features.tsx:141`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/features.tsx#L141)
[`apps/landing/src/sections/waitlist.tsx:47`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/waitlist.tsx#L47)
[`apps/landing/src/sections/waitlist.tsx:63`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/waitlist.tsx#L63)
[`apps/landing/src/sections/waitlist.tsx:72`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/waitlist.tsx#L72)
[`apps/landing/src/sections/tools.tsx:84`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L84)
[`apps/landing/src/sections/tools.tsx:88`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L88)
[`apps/landing/src/sections/tools.tsx:92`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L92)
[`apps/landing/src/sections/tools.tsx:96`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L96)
[`apps/landing/src/sections/tools.tsx:112`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L112)
[`apps/landing/src/sections/tools.tsx:113`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L113)
[`apps/landing/src/sections/tools.tsx:114`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L114)
[`apps/landing/src/sections/tools.tsx:137`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L137)
[`apps/landing/src/sections/navbar.tsx:37`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/navbar.tsx#L37)
[`apps/landing/src/sections/how-it-works.tsx:66`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/how-it-works.tsx#L66)
[`apps/landing/src/sections/how-it-works.tsx:67`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/how-it-works.tsx#L67)

**`use-lazy-motion`**

Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size

> Use `import { LazyMotion, m } from "framer-motion"` with `domAnimation` features — saves ~30kb

[`apps/landing/src/sections/hero.tsx:2`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/hero.tsx#L2)
[`apps/landing/src/sections/features.tsx:2`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/features.tsx#L2)
[`apps/landing/src/sections/waitlist.tsx:2`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/waitlist.tsx#L2)
[`apps/landing/src/sections/tools.tsx:2`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L2)
[`apps/landing/src/sections/navbar.tsx:2`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/navbar.tsx#L2)
[`apps/landing/src/sections/how-it-works.tsx:2`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/how-it-works.tsx#L2)

**`anchor-is-valid`**

Use of incorrect `href` for the 'a' element.

> Provide a correct `href` for the `a` element.

[`apps/landing/src/sections/footer.tsx:12`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/footer.tsx#L12)
[`apps/landing/src/sections/footer.tsx:18`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/footer.tsx#L18)
[`apps/landing/src/sections/footer.tsx:24`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/footer.tsx#L24)
[`apps/landing/src/sections/navbar.tsx:26`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/navbar.tsx#L26)

**`design-no-em-dash-in-jsx-text`**

Em dash (—) in JSX text reads as model output — replace with comma, colon, semicolon, or parentheses

> Replace em dashes in JSX text with commas, colons, semicolons, periods, or parentheses — em dashes read as model-output filler

[`apps/landing/src/sections/hero.tsx:82`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/hero.tsx#L82)
[`apps/landing/src/sections/tools.tsx:77`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L77)
[`apps/landing/src/sections/tools.tsx:156`](https://github.com/celeroncoder/shire/blob/a497443b99363de865c99b0af4b5ae124d490560/apps/landing/src/sections/tools.tsx#L156)

---

Last scored May 14, 2026 at 9:39 AM UTC. Maintained by [React Review](https://github.com/millionco/react-review).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.