Contributing - johnpeterman72/CursorRIPER GitHub Wiki
Contributing to CursorRIPER Framework
We welcome contributions to the CursorRIPER Framework! This page explains how to contribute effectively.
Getting Started
Prerequisites
Before contributing, make sure you have:
- Cursor IDE installed
- Git installed
- Basic understanding of the framework
- GitHub account
Development Setup
-
Fork the Repository
- Visit https://github.com/johnpeterman72/CursorRIPER
- Click the "Fork" button in the top right
-
Clone Your Fork
git clone https://github.com/YOUR-USERNAME/CursorRIPER.git cd CursorRIPER
-
Add Upstream Remote
git remote add upstream https://github.com/johnpeterman72/CursorRIPER.git
-
Create a Branch
git checkout -b feature/your-feature-name
Development Workflow
Framework Structure
The framework consists of these main components:
CursorRIPER/
├── .cursor/
│ ├── rules/
│ │ ├── core.mdc # Core framework definitions
│ │ ├── state.mdc # State tracking
│ │ ├── start-phase.mdc # Project initialization
│ │ ├── riper-workflow.mdc # Main workflow
│ │ └── customization.mdc # User preferences
│ └── cursorignore # File exclusion patterns
├── memory-bank/ # Memory bank templates
│ ├── projectbrief.md
│ ├── systemPatterns.md
│ ├── techContext.md
│ ├── activeContext.md
│ └── progress.md
└── docs/ # Documentation
├── setup-guide.md
├── workflow-guide.md
└── memory-bank-guide.md
Making Changes
When making changes to the framework:
-
Update Documentation
- Ensure documentation reflects your changes
- Update version numbers in affected files
- Add comments explaining complex logic
-
Follow Conventions
- Use consistent formatting
- Follow existing naming conventions
- Maintain the established file structure
-
Testing Changes
- Test in a real project environment
- Verify functionality in all modes
- Test transitions between phases
- Validate memory bank updates
Contribution Guidelines
Types of Contributions
We welcome these types of contributions:
- Bug fixes: Addressing issues in the framework
- Feature enhancements: Adding new capabilities
- Documentation improvements: Making docs clearer or more complete
- Example additions: Adding new usage examples
- Workflow improvements: Enhancing the RIPER process
Contribution Process
-
Find or Create an Issue
- Check existing issues first
- Create a new issue if none exists
- Discuss approach before making significant changes
-
Make Your Changes
- Create a focused branch addressing one issue
- Make minimal necessary changes
- Add clear comments
- Update version numbers and last_updated dates
-
Submit a Pull Request
- Push your changes to your fork
- Create a pull request against the main repository
- Reference the issue in your PR
- Provide a clear description of changes
-
Code Review
- Respond to feedback
- Make requested changes
- Be patient during the review process
Pull Request Checklist
Before submitting a PR, check:
- All framework files are consistent with each other
- Documentation updated to reflect changes
- Version numbers updated in changed files
- Changes tested in a real project
- All transitions and modes still work
- Memory bank handling functions correctly
- Issue referenced in PR description
Coding Standards
MDC File Standards
For MDC files (framework rules):
-
YAML Frontmatter
--- description: "CursorRIPER Framework - Component" globs: alwaysApply: true/false version: "1.0.0" date_created: "YYYY-MM-DD" last_updated: "YYYY-MM-DD" framework_component: "component_name" priority: "critical/high/medium/low" scope: "always_load/initialization/development_maintenance/optional" ---
-
File Structure
# Title - Version ## AI PROCESSING INSTRUCTIONS [Instructions for AI] ## SECTION NAME [Section content] ## ANOTHER SECTION [Section content] --- *Footer information*
-
Version Numbering
- MAJOR.MINOR.PATCH format
- Increment PATCH for minor changes
- Increment MINOR for feature additions
- Increment MAJOR for breaking changes
Markdown Standards
For documentation and memory bank files:
-
File Structure
# Title *Version: 1.0* *Created: [DATE]* *Last Updated: [DATE]* ## Section 1 Content ## Section 2 Content --- *Footer information*
-
Formatting
- Use ATX headers (# for H1, ## for H2, etc.)
- Use asterisks for emphasis (italic, bold)
- Use backticks for inline code
- Use fenced code blocks with language identifiers
- Use lists with consistent indentation
- Use consistent line breaks between sections
-
Diagrams
- Use Mermaid for diagrams
- Include text descriptions for accessibility
- Keep diagrams simple and focused
Development Guidelines
Framework Component Development
When creating or modifying framework components:
-
Core Principles
- Maintain mode separation
- Ensure state consistency
- Preserve safety protocols
- Keep memory bank integrity
-
Component Relations
- Consider how components interact
- Maintain dependency chain
- Avoid circular dependencies
- Document relationships
-
Testing Strategy
- Test with various project types
- Test edge cases and transitions
- Test with empty and populated memory banks
- Test customization options
Documentation Development
When working on documentation:
-
User Perspective
- Write from user's perspective
- Provide clear examples
- Explain "why" along with "how"
- Cover both basic and advanced usage
-
Organization
- Use consistent headers
- Group related content
- Provide navigation aids
- Include cross-references
-
Examples
- Provide complete, working examples
- Cover common use cases
- Show context (not just isolated snippets)
- Explain expected outcomes
Review Process
Review Criteria
Pull requests are reviewed based on:
-
Functionality
- Does it work as expected?
- Does it maintain framework integrity?
- Does it handle edge cases?
-
Quality
- Is the code clear and well-structured?
- Is documentation complete and accurate?
- Are standards followed consistently?
-
Compatibility
- Does it maintain backward compatibility?
- Does it work with existing components?
- Does it follow framework principles?
Review Timeline
- Initial review typically within 1 week
- Allow time for revisions and follow-up reviews
- Final decision made after all issues addressed
Release Process
Version Numbering
The framework uses semantic versioning:
- MAJOR.MINOR.PATCH
- MAJOR: Breaking changes
- MINOR: New features, non-breaking
- PATCH: Bug fixes, minor improvements
Release Checklist
Before a new release:
-
Update Version Numbers
- Update in all affected files
- Update in documentation
-
Update Documentation
- Add release notes
- Update installation instructions
- Update compatibility information
-
Final Testing
- Test upgrade from previous version
- Test with various project types
- Verify all modes and transitions
-
Create Release
- Tag version in git
- Create GitHub release
- Include detailed release notes
Communication
Where to Get Help
If you need help while contributing:
-
GitHub Issues
- Create a new issue with the "question" label
- Be specific about what you're trying to do
-
GitHub Discussions
- Post in the Discussions tab for broader topics
- Share ideas and get community feedback
-
Documentation
- Check existing documentation first
- Reference specific sections in questions
Code of Conduct
We expect all contributors to:
- Be respectful and inclusive
- Focus on constructive feedback
- Help maintain a welcoming community
- Support new contributors
Recognition
Contributors are recognized in:
-
Contributors List
- Added to CONTRIBUTORS.md
- Listed in GitHub repository
-
Release Notes
- Mentioned for significant contributions
- Linked to merged pull requests
-
Documentation
- Acknowledged for documentation improvements
- Credited for examples and guides
Thank you for contributing to the CursorRIPER Framework! Your efforts help make AI-assisted development more structured, safe, and effective.
CursorRIPER: Adaptive development, persistent intelligence.