

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456# Project Structure & Code Organization78## Package Manager9- Use `pnpm` for all package installations and management1011## Core Libraries and Versions12- React: ^18.x.x13- React DOM: ^18.x.x14- TypeScript: ^5.x.x15- Tailwind CSS: ^3.x.x16- shadcn/ui: Latest components17- Zod: ^3.x.x18- TanStack Router: ^1.x.x19- Tanstack Query: ^5.x.x20- Zustand: ^4.x.x2122## Naming Conventions23- `kebab-case` - for all folders/files24- `_kebab-case` - for feature domain's specific common modules25- `-kebab-case` - for route domain's specific common modules26- `PascalCase` - for classes and types27- `snake_case` - for database tables and columns28- `camelCase` - for functions, zod schemas and etc.2930## Miscellaneous Folders31- `docs` - for any to-do plan workflows or documentation32- `prompts` - for prompts format33- `rules` - for standards or rules of the repo34- `.husky` - for husky configuration3536## Common Modules37- `assets` - for assets38- `components` - for components39- `constants` - for constants40- `contexts` - for react context api41- `data` - for data access layer (e.g. `api`, `database`)42- `hooks` - for custom hooks, tanstack query and mutation43- `lib` - for 3rd party integrations libraries44- `services` - for business logic and orchestration of data access layer **(Only if necessary)**45- `stores` - for stores (e.g. `zustand`)46- `types` - for types47- `utils` - for utilities4849## Domain Folders50- `src` - main source code and shared common modules51- `src/routes` - main router folder52- `src/features` - main features folder **(Only if necessary)**5354## Shared Modules Structure55Shared modules follow this structure:5657```58src/59├── assets/ # Shared assets module60├── components/ # Shared dumb components module61│ └── ui/ # UI components (button, input, etc.)62├── constants/ # Shared constants module63├── contexts/ # Shared react context api module64├── data/ # Shared data access layer module (e.g. API functions, database)65├── hooks/ # Shared custom hooks, tanstack query and mutation66│ ├── use-[custom].ts # Shared custom hook67│ └── query/ # TanStack Query hooks68│ └── [entity]/ # TanStack Query entity folder69│ ├── use-[entity]-query.ts # Shared react-query query70│ └── use-[entity]-mutation.ts # Shared react-query mutation71├── lib/ # Shared 3rd party integrations72├── services/ # Shared business logic73├── stores/ # Shared state stores (e.g. zustand)74├── types/ # Shared types75└── utils/ # Shared utilities76```7778## Routes Domain Structure - Default79When creating new page/route files, follow this structure:8081```82src/routes/<route-name>/83├── index.tsx # Route's index page84├── -components/ # Route's components85├── -constants/ # Route's constants86├── -contexts/ # Route's react context API87├── -hooks/ # Route's hooks88├── -types/ # Route's types89└── -utils/ # Route's utilities90```9192## Feature Domain Structure - Optional93When creating new feature files, follow this structure:9495```96src/features/<feature-name>/97├── _assets/ # Feature's assets98├── _components/ # Feature's components99├── _constants/ # Feature's constants100├── _contexts/ # Feature's react context API101├── _data/ # Feature's data access layer102├── _hooks/ # Feature's custom hooks, tanstack query and mutation103├── _lib/ # Feature's 3rd party integrations104├── _services/ # Feature's business logic105├── _stores/ # Feature's state stores (e.g. zustand)106├── _types/ # Feature's types107└── _utils/ # Feature's utilities108```109
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 |
|---|---|---|---|---|---|
| constROD/template-react-vite.cursor/rules/data-access-via-api.mdc · 15 | Cursor rules | teststylearchtypes+1 | 74/100 | 14 days ago | |
| constROD/template-react-vite.cursor/rules/design-system.mdc · 15 | Cursor rules | lint-formatstylearchui | 58/100 | 14 days ago | |
| constROD/template-react-vite.cursor/rules/mutation-hooks.mdc · 15 | Cursor rules | stylearchtypes | 70/100 | 14 days ago | |
| constROD/template-react-vite.cursor/rules/query-hooks.mdc · 15 | Cursor rules | stylearchtypesperformance | 70/100 | 14 days ago | |
| constROD/template-react-vite.cursor/rules/service-layer.mdc · 15 | Cursor rules | stylearchtypes | 66/100 | 14 days ago | |
| constROD/template-react-vite.cursor/rules/styling.mdc · 15 | Cursor rules | archui | 58/100 | 14 days ago | |
| constROD/template-react-vite.cursor/rules/zustand-store.mdc · 15 | Cursor rules | teststylearchtypes+1 | 74/100 | 14 days ago | |
| constROD/template-react-viteAGENTS.md · 15 | AGENTS.md | testlint-formatstylearch+3 | 90/100 | 14 days ago | |
| constROD/template-react-viteCLAUDE.md · 15 | CLAUDE.md | testlint-formatstylearch+3 | 90/100 | 14 days ago |
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 | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 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 | |
| bybren-llc/safe-agentic-workflow.cursor/rules/10-backend-python.mdc · 399 | Cursor rules | testlint-formatstylegit+4 | 97/100 | today |
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/constrod-template-react-vite-cursor-rules-project-structure)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.