PromucFlow_constructor/.cursor/settings.json
vivek-appsmith d176e40726
refactor: restructure .cursor directory for improved organization and clarity (#40196)
# 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.
2025-04-11 12:04:33 +05:30

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"
]
}
}