371 lines
10 KiB
Markdown
371 lines
10 KiB
Markdown
# Cursor Rules Implementation Guide
|
|
|
|
This guide provides a comprehensive implementation strategy for enhancing your Cursor rules system based on the [PageAI tutorial](https://pageai.pro/blog/cursor-rules-tutorial) and analysis of your existing rules.
|
|
|
|
## Current State Assessment
|
|
|
|
### ✅ **Strengths of Your Current System**
|
|
|
|
Your Trax project already demonstrates **advanced Cursor rules implementation**:
|
|
|
|
1. **Comprehensive Coverage**: 19 rule files covering all major aspects
|
|
2. **Domain Expertise**: Specialized rules for audio processing, database patterns, testing
|
|
3. **Production-Ready**: Rules reflect real-world experience and battle-tested patterns
|
|
4. **Self-Improving**: `self_improve.mdc` enables continuous rule evolution
|
|
5. **Cross-Referencing**: Rules reference each other using `mdc:` links
|
|
6. **Taskmaster Integration**: Complete workflow management integration
|
|
|
|
### 🎯 **Areas for Enhancement**
|
|
|
|
1. **Automation**: Manual rule creation can be automated
|
|
2. **Pattern Recognition**: Systematic analysis of codebase patterns
|
|
3. **Rule Quality Metrics**: Track effectiveness and usage
|
|
4. **Template System**: Standardized templates for new rules
|
|
5. **Maintenance Workflow**: Systematic rule updates and deprecation
|
|
|
|
## Implementation Roadmap
|
|
|
|
### Phase 1: Foundation (Week 1)
|
|
|
|
#### 1.1 **Set Up Automation Tools**
|
|
|
|
```bash
|
|
# Make scripts executable
|
|
chmod +x scripts/generate_rules.sh
|
|
chmod +x scripts/generate_cursor_rules.py
|
|
|
|
# Test the rule generator
|
|
./scripts/generate_rules.sh --analyze
|
|
```
|
|
|
|
#### 1.2 **Create Rule Templates Directory**
|
|
|
|
```bash
|
|
# Create templates directory
|
|
mkdir -p .cursor/rules/templates
|
|
|
|
# Copy template file
|
|
cp .cursor/rules/templates/rule-templates.mdc .cursor/rules/templates/
|
|
```
|
|
|
|
#### 1.3 **Update Existing Rules**
|
|
|
|
Review and update your existing rules to ensure they follow the enhanced structure:
|
|
|
|
```bash
|
|
# Analyze current rules
|
|
./scripts/generate_rules.sh --analyze
|
|
|
|
# Generate missing rules for specific directories
|
|
./scripts/generate_rules.sh --generate src --type python
|
|
./scripts/generate_rules.sh --generate tests --type testing
|
|
```
|
|
|
|
### Phase 2: Automation (Week 2)
|
|
|
|
#### 2.1 **Implement Pattern Recognition**
|
|
|
|
The `generate_cursor_rules.py` script analyzes your codebase to identify:
|
|
|
|
- **Import patterns** across files
|
|
- **Function definition** conventions
|
|
- **Error handling** approaches
|
|
- **Testing patterns** and structures
|
|
- **Naming conventions** used consistently
|
|
|
|
#### 2.2 **Create Rule Generation Workflow**
|
|
|
|
```bash
|
|
# Generate rules for a new feature
|
|
./scripts/generate_rules.sh --generate src/services --type python
|
|
|
|
# Generate rules for a new framework
|
|
./scripts/generate_rules.sh --generate src/web --type javascript
|
|
|
|
# Force update existing rules
|
|
./scripts/generate_rules.sh --generate --force src
|
|
```
|
|
|
|
#### 2.3 **Integrate with Development Workflow**
|
|
|
|
Add rule generation to your development process:
|
|
|
|
```bash
|
|
# Add to your pre-commit hooks
|
|
echo "./scripts/generate_rules.sh --analyze" >> .git/hooks/pre-commit
|
|
|
|
# Add to your CI/CD pipeline
|
|
# scripts/generate_rules.sh --generate --type python src
|
|
```
|
|
|
|
### Phase 3: Quality Assurance (Week 3)
|
|
|
|
#### 3.1 **Implement Rule Quality Metrics**
|
|
|
|
Track rule effectiveness:
|
|
|
|
- **Application frequency**: How often rules are applied
|
|
- **Error reduction**: Impact on preventing common mistakes
|
|
- **Developer feedback**: Satisfaction scores
|
|
- **Code review mentions**: References in PR reviews
|
|
|
|
#### 3.2 **Create Rule Maintenance Schedule**
|
|
|
|
```bash
|
|
# Weekly rule analysis
|
|
./scripts/generate_rules.sh --analyze
|
|
|
|
# Monthly rule updates
|
|
./scripts/generate_rules.sh --generate --force src tests
|
|
|
|
# Quarterly rule audit
|
|
# Review and deprecate outdated rules
|
|
```
|
|
|
|
#### 3.3 **Establish Rule Review Process**
|
|
|
|
1. **New Rule Creation**:
|
|
- Use templates from `.cursor/rules/templates/`
|
|
- Generate initial content with automation
|
|
- Review and customize for project specifics
|
|
- Test with actual code examples
|
|
|
|
2. **Rule Updates**:
|
|
- Monitor usage patterns
|
|
- Gather developer feedback
|
|
- Update based on new patterns
|
|
- Maintain backward compatibility
|
|
|
|
3. **Rule Deprecation**:
|
|
- Identify unused or outdated rules
|
|
- Document migration paths
|
|
- Remove deprecated rules
|
|
- Update references
|
|
|
|
### Phase 4: Advanced Features (Week 4)
|
|
|
|
#### 4.1 **Implement Rule Dependencies**
|
|
|
|
Create rule hierarchies and dependencies:
|
|
|
|
```markdown
|
|
# In rule files, reference other rules
|
|
Follow [python-patterns.mdc](mdc:.cursor/rules/python-patterns.mdc) for basic Python conventions.
|
|
See [testing-patterns.mdc](mdc:.cursor/rules/testing-patterns.mdc) for test structure.
|
|
```
|
|
|
|
#### 4.2 **Create Domain-Specific Rule Sets**
|
|
|
|
Organize rules by domain:
|
|
|
|
```
|
|
.cursor/rules/
|
|
├── foundational/
|
|
│ ├── cursor_rules.mdc
|
|
│ ├── self_improve.mdc
|
|
│ └── project-structure.mdc
|
|
├── language/
|
|
│ ├── python-patterns.mdc
|
|
│ ├── typescript-patterns.mdc
|
|
│ └── javascript-patterns.mdc
|
|
├── domain/
|
|
│ ├── audio-processing.mdc
|
|
│ ├── database-registry.mdc
|
|
│ └── real-file-testing.mdc
|
|
├── workflow/
|
|
│ ├── taskmaster/
|
|
│ ├── tdd.mdc
|
|
│ └── backend-first.mdc
|
|
└── templates/
|
|
└── rule-templates.mdc
|
|
```
|
|
|
|
#### 4.3 **Implement Rule Versioning**
|
|
|
|
Track rule changes and versions:
|
|
|
|
```markdown
|
|
---
|
|
description: Python development patterns and conventions
|
|
globs: **/*.py
|
|
alwaysApply: false
|
|
version: 1.2.0
|
|
lastUpdated: 2024-01-15
|
|
---
|
|
|
|
# Python Development Rules v1.2.0
|
|
|
|
## Changelog
|
|
- v1.2.0: Added async/await patterns
|
|
- v1.1.0: Updated import organization
|
|
- v1.0.0: Initial version
|
|
```
|
|
|
|
## Best Practices Implementation
|
|
|
|
### 1. **Rule Content Guidelines**
|
|
|
|
- **Be Specific**: Rules should be actionable and specific
|
|
- **Use Real Examples**: Include actual code from your codebase
|
|
- **Provide Context**: Explain when and why to apply rules
|
|
- **Include Anti-Patterns**: Show what NOT to do
|
|
- **Cross-Reference**: Link to related rules and documentation
|
|
|
|
### 2. **Rule Organization**
|
|
|
|
- **Group by Domain**: Organize rules by functionality
|
|
- **Use Consistent Naming**: Follow kebab-case for filenames
|
|
- **Maintain Hierarchy**: Create rule dependencies and relationships
|
|
- **Version Control**: Track rule changes and updates
|
|
|
|
### 3. **Rule Maintenance**
|
|
|
|
- **Regular Reviews**: Schedule periodic rule audits
|
|
- **Feedback Collection**: Gather developer input on rule effectiveness
|
|
- **Pattern Monitoring**: Watch for new patterns that need rules
|
|
- **Deprecation Process**: Systematically remove outdated rules
|
|
|
|
### 4. **Integration with Workflows**
|
|
|
|
- **Development Process**: Integrate rule generation into your workflow
|
|
- **Code Reviews**: Reference rules in PR reviews
|
|
- **Onboarding**: Use rules for new team member training
|
|
- **Documentation**: Keep rules synchronized with project docs
|
|
|
|
## Usage Examples
|
|
|
|
### Example 1: Adding a New Feature
|
|
|
|
```bash
|
|
# 1. Create feature branch
|
|
git checkout -b feature/new-audio-processor
|
|
|
|
# 2. Generate rules for the new feature
|
|
./scripts/generate_rules.sh --generate src/services/audio --type python
|
|
|
|
# 3. Review and customize generated rules
|
|
# Edit .cursor/rules/audio-patterns.mdc
|
|
|
|
# 4. Implement feature following rules
|
|
# Code implementation...
|
|
|
|
# 5. Update rules based on implementation
|
|
./scripts/generate_rules.sh --generate --force src/services/audio
|
|
```
|
|
|
|
### Example 2: Framework Migration
|
|
|
|
```bash
|
|
# 1. Analyze current patterns
|
|
./scripts/generate_rules.sh --analyze
|
|
|
|
# 2. Generate rules for new framework
|
|
./scripts/generate_rules.sh --generate src/web --type typescript
|
|
|
|
# 3. Create migration rules
|
|
# Create .cursor/rules/migration-patterns.mdc
|
|
|
|
# 4. Implement migration
|
|
# Follow migration rules...
|
|
|
|
# 5. Update rules post-migration
|
|
./scripts/generate_rules.sh --generate --force src
|
|
```
|
|
|
|
### Example 3: Team Onboarding
|
|
|
|
```bash
|
|
# 1. Generate comprehensive rule set
|
|
./scripts/generate_rules.sh --generate src tests scripts
|
|
|
|
# 2. Create onboarding documentation
|
|
# Reference rules in onboarding docs
|
|
|
|
# 3. Train team on rule usage
|
|
# Demonstrate rule application
|
|
|
|
# 4. Collect feedback
|
|
# Gather input on rule effectiveness
|
|
```
|
|
|
|
## Monitoring and Metrics
|
|
|
|
### 1. **Rule Usage Tracking**
|
|
|
|
Monitor how often rules are applied:
|
|
|
|
```bash
|
|
# Weekly rule usage report
|
|
./scripts/generate_rules.sh --analyze --metrics
|
|
```
|
|
|
|
### 2. **Effectiveness Metrics**
|
|
|
|
Track rule impact:
|
|
|
|
- **Error Reduction**: Compare error rates before/after rule implementation
|
|
- **Code Quality**: Measure code review feedback
|
|
- **Development Speed**: Track implementation time improvements
|
|
- **Team Satisfaction**: Regular surveys on rule usefulness
|
|
|
|
### 3. **Continuous Improvement**
|
|
|
|
Use metrics to improve rules:
|
|
|
|
```bash
|
|
# Monthly rule optimization
|
|
./scripts/generate_rules.sh --optimize
|
|
|
|
# Quarterly comprehensive review
|
|
./scripts/generate_rules.sh --audit
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
1. **Rule Not Applying**:
|
|
- Check `globs` pattern in frontmatter
|
|
- Verify `alwaysApply` setting
|
|
- Ensure rule file is in correct location
|
|
|
|
2. **Generated Rules Too Generic**:
|
|
- Customize templates with project-specific examples
|
|
- Add domain-specific patterns
|
|
- Include real code examples from your codebase
|
|
|
|
3. **Rule Conflicts**:
|
|
- Review rule priorities
|
|
- Check for overlapping `globs` patterns
|
|
- Resolve conflicts through rule hierarchy
|
|
|
|
4. **Performance Issues**:
|
|
- Limit rule complexity
|
|
- Use specific `globs` patterns
|
|
- Avoid overly broad `alwaysApply` rules
|
|
|
|
### Getting Help
|
|
|
|
- **Rule Templates**: Use `.cursor/rules/templates/rule-templates.mdc`
|
|
- **Automation Scripts**: Use `scripts/generate_rules.sh`
|
|
- **Analysis Tools**: Use `--analyze` flag for insights
|
|
- **Documentation**: Reference this guide and PageAI tutorial
|
|
|
|
## Conclusion
|
|
|
|
Your current Cursor rules system is already highly sophisticated and production-ready. This implementation guide provides a framework for:
|
|
|
|
1. **Automating rule creation** to reduce manual effort
|
|
2. **Systematic pattern recognition** to identify new rules
|
|
3. **Quality assurance** to ensure rule effectiveness
|
|
4. **Continuous improvement** to evolve with your codebase
|
|
|
|
The enhanced system builds on your existing strengths while adding automation and systematic processes for rule management. This approach ensures your rules remain relevant, effective, and maintainable as your project evolves.
|
|
|
|
## References
|
|
|
|
- [PageAI Cursor Rules Tutorial](https://pageai.pro/blog/cursor-rules-tutorial)
|
|
- [Your Existing Rules Analysis](./CURSOR_RULES_ANALYSIS.md)
|
|
- [Rule Templates](./.cursor/rules/templates/rule-templates.mdc)
|
|
- [Automation Scripts](./scripts/generate_rules.sh)
|