Sources & Maintenance
Drupal Research Install
Path: Not applicable — this guide covers React/Next.js ecosystem, not Drupal.
Next.js Research Install
Path: ~/workspace/contrib-nextjs/nextjs-app/
Web Sources
| Source | URL | Guide Sections | Last Verified |
|---|---|---|---|
| Radix UI Primitives — Overview | https://www.radix-ui.com/primitives/docs/overview/introduction | 1, 4, 9 | 2026-02-19 |
| Radix UI — Composition (asChild) | https://www.radix-ui.com/primitives/docs/guides/composition | 3, 4 | 2026-02-19 |
| CVA Docs — Getting Started | https://cva.style/docs | 5, 6 | 2026-02-19 |
| CVA Docs — Variants | https://cva.style/docs/getting-started/variants | 6 | 2026-02-19 |
| tailwind-merge (GitHub) | https://github.com/dcastil/tailwind-merge | 5 | 2026-02-19 |
| tailwind-variants — Introduction | https://www.tailwind-variants.org/docs/introduction | 5, 6 | 2026-02-19 |
| tailwind-variants — Slots | https://www.tailwind-variants.org/docs/slots | 6 | 2026-02-19 |
| tailwind-variants vs CVA Comparison | https://www.tailwind-variants.org/docs/comparison | 5, 6 | 2026-02-19 |
| shadcn/ui — Button component | https://ui.shadcn.com/docs/components/button | 1, 3, 5 | 2026-02-19 |
| shadcn/ui — Theming / CSS variables | https://ui.shadcn.com/docs/theming | 7 | 2026-02-19 |
| shadcn/ui — Manual Installation (utils) | https://ui.shadcn.com/docs/installation/manual | 5 | 2026-02-19 |
| React TypeScript Cheatsheet | https://react-typescript-cheatsheet.netlify.app/ | 8 | 2026-02-19 |
| React TypeScript — Patterns by Use Case | https://react-typescript-cheatsheet.netlify.app/docs/advanced/patterns_by_usecase/ | 2, 8 | 2026-02-19 |
| FreeCodeCamp — Polymorphic Components | https://www.freecodecamp.org/news/build-strongly-typed-polymorphic-components-with-react-and-typescript/ | 2, 8 | 2026-02-19 |
| LogRocket — Polymorphic Components | https://blog.logrocket.com/build-strongly-typed-polymorphic-components-react-typescript/ | 2 | 2026-02-19 |
| Kent C. Dodds — Compound Components | https://kentcdodds.com/blog/compound-components-with-react-hooks | 4 | 2026-02-19 |
| Patterns.dev — Compound Pattern | https://www.patterns.dev/react/compound-pattern/ | 1, 4 | 2026-02-19 |
| WAI-ARIA Authoring Practices Guide | https://www.w3.org/WAI/ARIA/apg/ | 9 | 2026-02-19 |
| React Aria — Accessibility | https://react-spectrum.adobe.com/react-aria/accessibility.html | 9 | 2026-02-19 |
| Divotion — Accessible by Design | https://www.divotion.com/blog/accessible-by-design | 9 | 2026-02-19 |
| Storybook 10 Docs | https://storybook.js.org/docs/ | 10 | 2026-02-19 |
| Storybook — Accessibility Testing | https://storybook.js.org/docs/writing-tests/accessibility-testing | 10, 15 | 2026-02-19 |
| Robin Wieruch — React Folder Structure | https://www.robinwieruch.de/react-folder-structure/ | 11 | 2026-02-19 |
| Andela — Atomic Design in React | https://www.andela.com/blog-posts/structuring-your-react-application-atomic-design-principles | 11 | 2026-02-19 |
| react-hook-form — Advanced Usage | https://react-hook-form.com/advanced-usage | 12 | 2026-02-19 |
| react-hook-form — Controller | https://react-hook-form.com/docs/usecontroller/controller | 12 | 2026-02-19 |
| Marmelab — Box, Stack, Grid | https://marmelab.com/react-admin/BoxStackGrid.html | 13 | 2026-02-19 |
| Laur.design — Layout Grid/Flexbox | https://laur.design/blog/react-layout-grid-flexbox/ | 13 | 2026-02-19 |
| React Docs — memo | https://react.dev/reference/react/memo | 14 | 2026-02-19 |
| React Docs — useMemo | https://react.dev/reference/react/useMemo | 14 | 2026-02-19 |
| React 19 release blog | https://react.dev/blog/2024/12/05/react-19 | 4, 8, 14 | 2026-02-19 |
| React 19 — ref as prop | https://react.dev/blog/2024/12/05/react-19#ref-as-a-prop | 4, 8 | 2026-02-19 |
| Tailwind CSS v4 upgrade guide | https://tailwindcss.com/docs/v4-upgrade | 7 | 2026-02-19 |
| Saeloun — memo vs useMemo | https://blog.saeloun.com/2024/02/15/memo-vs-usememo-when-to-use-each-for-better-react-performance/ | 14 | 2026-02-19 |
| React Testing Library | https://testing-library.com/docs/react-testing-library/intro/ | 15 | 2026-02-19 |
| jest-axe (GitHub) | https://github.com/nickcolley/jest-axe | 15 | 2026-02-19 |
| OWASP Top 10 | https://owasp.org/www-project-top-ten/ | 16 | 2026-02-19 |
| backlight.dev — Design Tokens / CSS Custom Properties | https://backlight.dev/docs/design-tokens-using-css-custom-properties | 7 | 2026-02-19 |
| UXPin — Managing Global Styles with Design Tokens | https://www.uxpin.com/studio/blog/managing-global-styles-in-react-with-design-tokens/ | 7 | 2026-02-19 |
Code Sources
All paths relative to ~/workspace/contrib-nextjs/nextjs-app/
| Package | Relative Path | Guide Sections | Version |
|---|---|---|---|
| React | node_modules/react/ |
4, 8, 14 | 19.2.3 |
| React types | node_modules/@types/react/ |
4, 8 | 19.x |
| @radix-ui/react-slot | node_modules/@radix-ui/react-slot/ |
3, 4 | 1.2.4 |
| @radix-ui/react-dialog | node_modules/@radix-ui/react-dialog/ |
4 | 1.1.15 |
| @radix-ui/react-tabs | node_modules/@radix-ui/react-tabs/ |
4 | 1.1.13 |
| @radix-ui/react-accordion | node_modules/@radix-ui/react-accordion/ |
4 | 1.2.12 |
| @radix-ui/react-dropdown-menu | node_modules/@radix-ui/react-dropdown-menu/ |
4 | 2.1.16 |
| @radix-ui/react-popover | node_modules/@radix-ui/react-popover/ |
4 | 1.1.15 |
| @radix-ui/react-use-controllable-state | node_modules/@radix-ui/react-use-controllable-state/ |
4 | — |
| class-variance-authority | node_modules/class-variance-authority/ |
5, 6 | 0.7.1 |
| clsx | node_modules/clsx/ |
5 | 2.1.1 |
| tailwind-merge | node_modules/tailwind-merge/ |
5 | 3.5.0 |
| tailwindcss | node_modules/tailwindcss/ |
5, 7 | 4.2.0 |
| react-hook-form | node_modules/react-hook-form/ |
12 | 7.71.1 |
| @testing-library/react | node_modules/@testing-library/react/ |
15 | 16.3.2 |
| @storybook/react | node_modules/@storybook/react/ |
10 | 10.2.10 |
| lucide-react | node_modules/lucide-react/ |
9 | 0.575.0 |
| next | node_modules/next/ |
4, 11 | 16.1.6 |
| App entry point | src/app/ |
7, 11 | — |