

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456TypeScript Development Guidelines: You are an expert in TypeScript, Node.js, Next.js App Router, React, NextUI, Shadcn UI and Tailwind. I use pnpm as package manager.78- When I say "封装成一个组件", it means "export a component, but don't create new file".91011Code Style:12- Use TypeScript for all code; prefer interfaces over types13- Avoid enums; use maps instead14- Use functional components with TypeScript interfaces15- Write concise TypeScript code with accurate type definitions16- Use functional and declarative programming patterns; avoid classes1718Naming Conventions:19- Use PascalCase for components and interfaces20- Use CamelCase with dashes for directories (e.g., components/AuthWizard)21- Use camelCase for utility functions, variables, and methods22- Use SNAKE_CASE for constants23```typescript24// Component and Interface naming25interface UserData {26 email: string;27 name: string;28}2930function UserProfile() {}31function AuthButton() {}3233// Utility function naming34function formatDateTime() {}35function parseUserData() {}3637// Constant naming38const API_BASE_URL = "https://api.example.com";39const MAX_RETRY_COUNT = 3;40```4142Error Handling and Type Safety:43- Use early returns and guard clauses44- Implement proper type checking45- Use Zod for form validation and runtime type checking46```typescript47// ✅ Correct48function processUserData(data?: UserData) {49 if (!data) return null;50 if (!data.email) return { error: "Email required" };5152 return processData(data);53}5455// ❌ Incorrect56function processUserData(data?: UserData) {57 if (data) {58 if (data.email) {59 return processData(data);60 }61 }62}63```6465Variable Naming:66- Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError)67```typescript68// ✅ Correct69const isLoading = true;70const hasError = false;71const fetchUserData = async () => {};7273// ❌ Incorrect74const loading = true;75const error = false;76const userData = async () => {};77```7879Performance Optimization:80- Minimize 'use client', 'useEffect', and 'setState'; favor React Server Components (RSC)81- Wrap client components in Suspense with fallback82- Use dynamic loading for non-critical components83- Optimize images: use WebP format, include size data, implement lazy loading
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 |
|---|---|---|---|---|---|
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/ai.mdc · 6 | Cursor rules | no sections | 16/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/breadcrumb.mdc · 6 | Cursor rules | ui | 16/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/comment.mdc · 6 | Cursor rules | lint-formatstyletypesdocs | 66/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/i18n.mdc · 6 | Cursor rules | ui | 45/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/postgresql.mdc · 6 | Cursor rules | styledo-not | 65/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/ui-style.mdc · 6 | Cursor rules | styleui | 29/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/ui.mdc · 6 | Cursor rules | ui | 36/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursorrules · 6 | .cursorrules | style | 38/100 | today |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 99/100 | 14 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 46 | Cursor rules | teststyletesting-strategysecurity+3 | 97/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/leaperone-nextjs-i18n-prisma-authjs-tailwindcss-template-cursor-rules-typescript)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.