# refactor: restructure .cursor directory for improved organization and clarity ## Description This PR refactors the `.cursor` directory to enhance organization, clarity, and maintainability. ### Problem The existing `.cursor` directory lacked clear organization, making it difficult to find specific files, understand their purpose, and add new components consistently. ### Solution A comprehensive restructuring: #### New Directory Structure ``` .cursor/ ├── settings.json # Main configuration file ├── docs/ # Documentation │ ├── guides/ # In-depth guides │ ├── references/ # Quick references │ └── practices/ # Best practices ├── rules/ # Rule definitions │ ├── commit/ # Commit-related rules │ ├── quality/ # Code quality rules │ ├── testing/ # Testing rules │ └── verification/ # Verification rules └── hooks/ # Git hooks and scripts ``` #### Key Changes 1. **Logical Categorization**: Organized files into clear categories based on purpose 2. **Improved Documentation**: Added comprehensive README files for each directory 3. **Standardized Naming**: Implemented consistent kebab-case naming convention 4. **Reference Updates**: Updated all internal references to point to new file locations ### Benefits - **Easier Navigation**: Clear categorization makes finding files intuitive - **Improved Understanding**: Comprehensive documentation explains purpose and usage - **Simplified Maintenance**: Logical structure makes updates and additions easier - **Better Onboarding**: New team members can quickly understand the system This refactoring sets a solid foundation for all Cursor AI-related configurations and rules, making it easier for the team to leverage Cursor's capabilities.
144 lines
3.8 KiB
JSON
144 lines
3.8 KiB
JSON
{
|
|
"codebase": {
|
|
"structure": {
|
|
"frontend": "app/client",
|
|
"backend": "app/server",
|
|
"infrastructure": "deploy",
|
|
"workflows": ".github/workflows",
|
|
"scripts": "scripts"
|
|
},
|
|
"standards": {
|
|
"frontend": {
|
|
"testPatterns": ["*.test.ts", "*.test.tsx", "cypress/integration/**/*.spec.ts"],
|
|
"codeStyle": "airbnb",
|
|
"linters": ["eslint", "prettier"]
|
|
},
|
|
"backend": {
|
|
"testPatterns": ["**/*Test.java", "**/*Tests.java"],
|
|
"codeStyle": "google",
|
|
"linters": ["spotless"]
|
|
}
|
|
}
|
|
},
|
|
"development": {
|
|
"workflow": {
|
|
"bugFix": [
|
|
"Understand the bug report and reproduce locally",
|
|
"Identify root cause through code exploration",
|
|
"Write failing test(s) that demonstrate the bug",
|
|
"Implement fix that makes tests pass",
|
|
"Ensure all existing tests pass",
|
|
"Verify fix addresses original issue",
|
|
"Run pre-commit checks",
|
|
"Confirm GitHub workflows would pass"
|
|
],
|
|
"feature": [
|
|
"Understand requirements and acceptance criteria",
|
|
"Design implementation approach",
|
|
"Create test cases (unit, integration, e2e as appropriate)",
|
|
"Implement feature",
|
|
"Verify feature meets acceptance criteria",
|
|
"Ensure performance and efficiency",
|
|
"Ensure code follows project standards",
|
|
"Run pre-commit checks",
|
|
"Confirm GitHub workflows would pass"
|
|
]
|
|
},
|
|
"qualityChecks": {
|
|
"frontend": [
|
|
"Run unit tests: yarn run test:unit",
|
|
"Run type checking: yarn run check-types",
|
|
"Run linting: yarn run lint",
|
|
"Run cypress tests: npx cypress run",
|
|
"Check for cyclic dependencies: CI workflow"
|
|
],
|
|
"backend": [
|
|
"Run unit tests",
|
|
"Run integration tests",
|
|
"Run spotless check",
|
|
"Verify no resource leaks"
|
|
],
|
|
"general": [
|
|
"Verify no sensitive data is included",
|
|
"Ensure proper error handling",
|
|
"Check performance impact",
|
|
"Ensure backwards compatibility"
|
|
]
|
|
},
|
|
"gitWorkflow": {
|
|
"branchNaming": {
|
|
"bugFix": "fix/fix-name",
|
|
"feature": "feature/feature-name"
|
|
},
|
|
"commitConventions": "Descriptive commit messages with issue reference",
|
|
"semanticPR": {
|
|
"enabled": true,
|
|
"titleFormat": "type(scope): description",
|
|
"validTypes": [
|
|
"feat", "fix", "docs", "style", "refactor",
|
|
"perf", "test", "build", "ci", "chore", "revert"
|
|
],
|
|
"scopeRequired": false,
|
|
"titleValidation": true,
|
|
"commitsValidation": false
|
|
}
|
|
}
|
|
},
|
|
"incrementalLearning": {
|
|
"enabled": true,
|
|
"patterns": [
|
|
"**/*.java",
|
|
"**/*.ts",
|
|
"**/*.tsx",
|
|
"**/*.yml",
|
|
"**/*.yaml",
|
|
"**/*.md",
|
|
"**/*.json"
|
|
],
|
|
"storage": {
|
|
"codePatterns": true,
|
|
"testPatterns": true,
|
|
"buildPatterns": true,
|
|
"workflowPatterns": true
|
|
}
|
|
},
|
|
"testing": {
|
|
"frontend": {
|
|
"unit": {
|
|
"framework": "jest",
|
|
"command": "yarn run test:unit"
|
|
},
|
|
"integration": {
|
|
"framework": "cypress",
|
|
"command": "npx cypress run --spec <spec path> --browser chrome"
|
|
}
|
|
},
|
|
"backend": {
|
|
"unit": {
|
|
"framework": "junit",
|
|
"patterns": ["**/*Test.java"]
|
|
},
|
|
"integration": {
|
|
"framework": "junit",
|
|
"patterns": ["**/*IntegrationTest.java"]
|
|
}
|
|
}
|
|
},
|
|
"preCommit": {
|
|
"hooks": [
|
|
"Type checking",
|
|
"Linting",
|
|
"Unit tests",
|
|
"No sensitive data"
|
|
]
|
|
},
|
|
"cicd": {
|
|
"workflows": [
|
|
"client-build.yml",
|
|
"server-build.yml",
|
|
"ci-test-limited.yml",
|
|
"client-unit-tests.yml",
|
|
"server-integration-tests.yml"
|
|
]
|
|
}
|
|
} |