mirror of
https://github.com/lucasrcsantana/story-generator.git
synced 2025-12-17 05:47:52 +00:00
Adicionando cursorrules
This commit is contained in:
parent
b7d30fdc06
commit
5193ba95f4
108
.cursorrules
108
.cursorrules
@ -1,27 +1,50 @@
|
|||||||
{
|
{
|
||||||
|
"name": "Educational Platform Guidelines",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"rules": {
|
||||||
|
"naming": {
|
||||||
|
"directories": {
|
||||||
|
"pattern": "^[a-z-]+$",
|
||||||
|
"message": "Use lowercase with dashes for directories (e.g., components/form-wizard)"
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"pattern": "^[A-Z][a-zA-Z0-9]*\\.tsx?$",
|
||||||
|
"message": "Use PascalCase for component files (e.g., VisaForm.tsx)"
|
||||||
|
},
|
||||||
|
"utilities": {
|
||||||
|
"pattern": "^[a-z][a-zA-Z0-9]*\\.ts$",
|
||||||
|
"message": "Use camelCase for utility files (e.g., formValidator.ts)"
|
||||||
|
},
|
||||||
|
"variables": {
|
||||||
|
"pattern": "^[a-z][a-zA-Z0-9]*$",
|
||||||
|
"message": "Use camelCase for variables and functions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"typescript": {
|
||||||
"rules": [
|
"rules": [
|
||||||
{
|
{
|
||||||
"name": "Padrões de Código",
|
"id": "use-interfaces",
|
||||||
"description": "Regras gerais para manter consistência no código",
|
"message": "Prefer interfaces over types"
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"id": "naming-conventions",
|
|
||||||
"pattern": "^[a-z][a-zA-Z0-9]*$",
|
|
||||||
"message": "Use camelCase para nomes de variáveis e funções"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "component-naming",
|
"id": "avoid-enums",
|
||||||
"pattern": "^[A-Z][a-zA-Z0-9]*$",
|
"message": "Use const objects with 'as const' assertion instead of enums"
|
||||||
"message": "Componentes React devem começar com letra maiúscula"
|
},
|
||||||
|
{
|
||||||
|
"id": "explicit-returns",
|
||||||
|
"message": "Use explicit return types for all functions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "absolute-imports",
|
||||||
|
"pattern": "from '[./]",
|
||||||
|
"message": "Use absolute imports (@/...) instead of relative imports"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
"security": {
|
||||||
"name": "Segurança",
|
|
||||||
"description": "Regras para garantir segurança da aplicação",
|
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"id": "no-sensitive-data",
|
"id": "sensitive-data",
|
||||||
"pattern": "(password|senha|token|key|secret)",
|
"pattern": "(password|senha|token|key|secret)",
|
||||||
"message": "Não exponha dados sensíveis no código"
|
"message": "Não exponha dados sensíveis no código"
|
||||||
},
|
},
|
||||||
@ -32,9 +55,7 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
"accessibility": {
|
||||||
"name": "Acessibilidade",
|
|
||||||
"description": "Regras para garantir acessibilidade",
|
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"id": "alt-text",
|
"id": "alt-text",
|
||||||
@ -48,9 +69,7 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
"performance": {
|
||||||
"name": "Performance",
|
|
||||||
"description": "Regras para otimização de performance",
|
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"id": "large-images",
|
"id": "large-images",
|
||||||
@ -58,15 +77,13 @@
|
|||||||
"message": "Evite imagens muito grandes (max 1200px)"
|
"message": "Evite imagens muito grandes (max 1200px)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "memo-check",
|
"id": "memo-usage",
|
||||||
"pattern": "React.memo\\(",
|
"pattern": "React.memo\\(",
|
||||||
"message": "Verifique se o uso de memo é necessário"
|
"message": "Verifique se o uso de memo é necessário"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
"styling": {
|
||||||
"name": "Estilo",
|
|
||||||
"description": "Regras de estilo e formatação",
|
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"id": "tailwind-classes",
|
"id": "tailwind-classes",
|
||||||
@ -80,9 +97,7 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
"content": {
|
||||||
"name": "Conteúdo",
|
|
||||||
"description": "Regras para conteúdo infantil",
|
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"id": "child-friendly",
|
"id": "child-friendly",
|
||||||
@ -90,13 +105,29 @@
|
|||||||
"message": "Evite conteúdo inadequado para crianças"
|
"message": "Evite conteúdo inadequado para crianças"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "educational-content",
|
"id": "educational-focus",
|
||||||
"pattern": "(educativo|educacional|aprendizado|ensino)",
|
"pattern": "(educativo|educacional|aprendizado|ensino)",
|
||||||
"message": "Priorize conteúdo educacional e construtivo"
|
"message": "Priorize conteúdo educacional e construtivo"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"git": {
|
||||||
|
"commit_prefixes": [
|
||||||
|
"fix:",
|
||||||
|
"feat:",
|
||||||
|
"perf:",
|
||||||
|
"docs:",
|
||||||
|
"style:",
|
||||||
|
"refactor:",
|
||||||
|
"test:",
|
||||||
|
"chore:"
|
||||||
],
|
],
|
||||||
|
"commit_rules": {
|
||||||
|
"pattern": "^(fix|feat|perf|docs|style|refactor|test|chore): [a-z].*$",
|
||||||
|
"message": "Use proper commit message format with prefix"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"ignoreFiles": [
|
"ignoreFiles": [
|
||||||
"node_modules/**",
|
"node_modules/**",
|
||||||
"dist/**",
|
"dist/**",
|
||||||
@ -104,5 +135,24 @@
|
|||||||
".git/**",
|
".git/**",
|
||||||
"*.test.*",
|
"*.test.*",
|
||||||
"*.spec.*"
|
"*.spec.*"
|
||||||
|
],
|
||||||
|
"documentation": {
|
||||||
|
"required": [
|
||||||
|
"README.md",
|
||||||
|
"API.md",
|
||||||
|
"CHANGELOG.md"
|
||||||
|
],
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"id": "readme-sections",
|
||||||
|
"required": [
|
||||||
|
"Setup Instructions",
|
||||||
|
"Development Workflow",
|
||||||
|
"Testing",
|
||||||
|
"Security",
|
||||||
|
"Contributing"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user