

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456# React / TypeScript Instructions78> Auto-loads when editing React files. For comprehensive standards, load the skill.910**Skill**: [.github/skills/languages/react/SKILL.md](../skills/languages/react/SKILL.md)1112## Key Rules1314- Functional components only, with TypeScript interfaces for props15- Destructure props in function signature16- Custom hooks: extract reusable logic, prefix with `use`17- useCallback for callbacks passed to children18- useMemo for expensive computations19- React.memo for pure components20- React Query / TanStack Query for server state21- Zustand or Jotai for client state (avoid prop drilling)22- React Testing Library -- test behavior, not implementation23- MSW for API mocking in tests24- Always include alt text, use semantic HTML, ensure keyboard navigation2526## Critical Rules (Embedded -- Always Active)2728### Testing29- 80%+ code coverage required30- React Testing Library: query by role/label, NEVER by test-id unless no alternative31- Test user behavior (clicks, types, submits) not implementation details32- Use `screen.getByRole()`, `userEvent.click()`, `waitFor()` for async33- MSW for API mocking -- intercept at network level, not in component3435### Accessibility36- All images MUST have descriptive `alt` text37- All interactive elements MUST be keyboard-accessible38- Use semantic HTML (`<button>`, `<nav>`, `<main>`, `<article>`)39- Color contrast MUST meet WCAG 2.1 AA (4.5:1 for text)40- Test with `axe-core` or `jest-axe` in automated tests4142### Security43- Sanitize any user-generated HTML (use `DOMPurify`)44- Never use `dangerouslySetInnerHTML` without sanitization45- Validate all form inputs with `zod` schemas at the boundary46- Never store secrets or tokens in client-side code4748
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| jnPiyush/AgentX.cursor/rules/000-agentx-core.mdc · 14 | Cursor rules | styleapido-notagent-behaviour | 55/100 | 14 days ago | |
| jnPiyush/AgentX.cursor/rules/ai.mdc · 14 | Cursor rules | no sections | 16/100 | 14 days ago | |
| jnPiyush/AgentX.cursor/rules/csharp.mdc · 14 | Cursor rules | no sections | 16/100 | 14 days ago | |
| jnPiyush/AgentX.cursor/rules/python.mdc · 14 | Cursor rules | testlint-format | 32/100 | 14 days ago | |
| jnPiyush/AgentX.cursor/rules/react.mdc · 14 | Cursor rules | no sections | 16/100 | 14 days ago | |
| jnPiyush/AgentX.github/copilot-instructions.md · 14 | Copilot instructions | stylegitdo-notagent-behaviour | 67/100 | 14 days ago | |
| jnPiyush/AgentX.github/instructions/ai.instructions.md · 14 | Copilot instructions | testing-strategydo-notagent-behaviour | 50/100 | 14 days ago | |
| jnPiyush/AgentX.github/instructions/csharp.instructions.md · 14 | Copilot instructions | teststylesecuritydo-not+1 | 59/100 | 14 days ago | |
| jnPiyush/AgentX.github/instructions/memory.instructions.md · 14 | Copilot instructions | lint-formatperformance | 54/100 | 14 days ago | |
| jnPiyush/AgentX.github/instructions/python.instructions.md · 14 | Copilot instructions | testlint-formatsecuritydo-not+1 | 67/100 | 14 days ago | |
| jnPiyush/AgentX.github/instructions/typescript.instructions.md · 14 | Copilot instructions | setuptestlint-formatstyle+5 | 92/100 | 14 days ago | |
| jnPiyush/AgentXAGENTS.md · 14 | AGENTS.md | lint-formatstylegitsecurity+2 | 69/100 | 14 days ago | |
| jnPiyush/AgentXCLAUDE.md · 14 | CLAUDE.md | lint-formatstylegitsecurity+2 | 81/100 | 14 days ago | |
| jnPiyush/AgentXvscode-extension/.github/AGENTS.md · 14 | AGENTS.md | lint-formatstylegitsecurity+2 | 69/100 | 14 days ago | |
| jnPiyush/AgentX.cursor/rules/typescript.mdc · 14 | Cursor rules | types | 16/100 | 14 days ago | |
| jnPiyush/AgentX.github/instructions/project-conventions.instructions.md · 14 | Copilot instructions | styledo-not | 50/100 | 11 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| louislam/uptime-kuma.github/copilot-instructions.md · 90k | Copilot instructions | setupbuildtestlint-format+9 | 100/100 | 14 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 63 | Copilot instructions | buildlint-formatstylearch+4 | 100/100 | 14 days ago | |
| HerringtonDarkholme/megarepo.github/copilot-instructions.md · 17 | Copilot instructions | setupbuildtestlint-format+7 | 100/100 | 14 days ago | |
| bagisto/bagisto.github/copilot-instructions.md · 28k | Copilot instructions | setupbuildteststyle+5 | 97/100 | 14 days ago | |
| JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 31k | Copilot instructions | buildlint-formatstylearch+3 | 97/100 | 7 days ago | |
| thangaram611/second-brain.github/copilot-instructions.md · 0 | Copilot instructions | setupteststylearch+4 | 96/100 | 14 days ago | |
| nerolis-lab/nerolis-lab.github/copilot-instructions.md · 32 | Copilot instructions | setupbuildtestlint-format+11 | 96/100 | 14 days ago | |
| darkmatter/nixmac.github/copilot-instructions.md · 25 | Copilot instructions | setupbuildtestlint-format+8 | 96/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/jnpiyush-agentx-github-instructions-react-instructions)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.