Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/iloveitaly/llm-ide-rules/reactgit clone --depth 1 https://github.com/iloveitaly/llm-ide-rulesWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.01042 |
| Opus 5 | $0.00000 | $0.00521 |
| Sonnet 5 | $0.00000 | $0.00208 |
| Haiku 4.5 | $0.00000 | $0.00104 |
Grade A, and why
react scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
React
- You are using the latest version of React (v19)
- Do not write any backend code. Just frontend logic.
- If a complex skeleton is needed, create a component function
LoadingSkeletonin the same file. - Store components for each major page or workflow in
app/components/$WORKFLOW/$COMPONENT.tsx.- If a single page has more than two dedicated components, create a subfolder
app/components/$WORKFLOW/$PAGE/$COMPONENT.tsx
- If a single page has more than two dedicated components, create a subfolder
- Use lowercase dash separated words for file names.
- Use React 19, TypeScript, Tailwind CSS, and ShadCN components.
- Prefer function components, hooks over classes.
- Use ShadCN components in
web/app/components/uias your component library. If you need new components, ask for them.- Never edit the
web/components/ui/*.tsxfiles. - You can find a list of components here https://ui.shadcn.com/docs/components
- Never edit the
- Break up large components into smaller components, but keep them in the same file unless they can be generalized.
- Put any "magic" strings like API keys, hosts, etc into a "constants.ts" file.
- For React functional components with three or fewer props, always inline the prop types as an object literal directly in the function signature after the destructured parameters (e.g.,
function Component({ prop1, prop2 }: { prop1: string; prop2?: number }) { ... }). Include default values in destructuring and mark optional props with ? in the type object. Do not use separate interfaces or type aliases; keep types inline. For complex types, add inline comments if needed. - Put the interface definition right above the related function
- Internally, store all currency values as integers and convert them to floats when rendering visually
- When building forms use React Hook Form.
- Include a two line breaks between any
useHook()calls and anyuseState()definitions for a component. - When using a function prop inside a
useEffect, please use a pattern that avoids including the function in the dependency array, like theuseReftrick. - When writing React components, always hoist complex conditional expressions into descriptively named constants at the top of the component function for better readability and maintainability.
- When managing API response data, store the entire response object (or relevant subset) in a single
useStaterather than creating separate state variables for each field. Derive individual values from the response object when passing to child components using optional chaining (e.g., response?.field || defaultValue). - Refactor ternary to &&:
{condition ? <A/> : <B/>}→{condition && <A/>}{!condition && <B/>} - Use the following pattern to reference query string values (i.e.
?theQueryStringParam=value):
const [searchParams, _setSearchParams] = useSearchParams();
// searchParams contains the value of all query string parameters
const queryStringValue = searchParams.get("theQueryStringParam")
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 107 lines · 1,042 tokens per session scan A 0f81a35b1c07
react is a cursor rule published in the GitHub repository iloveitaly/llm-ide-rules (13 stars, last pushed 2d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,042 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
cursorrules-cursor-ai-nextjs-14-tailwind-seo-setup
Cursor rules for Next.js development with Tailwind CSS and SEO optimization.
cursor-ai-react-typescript-shadcn-ui-cursorrules-p
Cursor rules for Cursor AI development with React, TypeScript, and shadcn/ui integration.
components
CTA: inline-flex items-center justify-center gap-2 h-10 px-4 text-[1rem] font-medium bg-primary-500 text-white rounded-lg hover:bg-primary-700 cursor-pointer Sub: inline-flex items-center justify-center gap-2 h-10 px-4 text-[1rem] font-medium bg-white text-slate-700 border border-slate-200 rounded-lg hover:bg-gray-50…
standard-frontend-navigation-with-react-router
This codebase uses React Router v7 with organization and space scoping in URLs (e.g., /org/{orgSlug}/space/{spaceSlug}/recipes). To maintain consistency, improve maintainability, and simplify navigati... .
core
Core architecture and quality rules for React + Vite + shadcn/ui template.
read-xlsx
Reading, writing, diffing, and repairing spreadsheets (.xlsx) for AI agents via the xfa MCP server.