-
-
Notifications
You must be signed in to change notification settings - Fork 46
Framework Components
The CursorRIPER Framework consists of several interconnected components that work together to provide a structured approach to AI-assisted development. This page explains each component in detail.
The framework is built on a modular architecture with these main components:
flowchart TD
Core[core.mdc] --> State[state.mdc]
State --> Phase{PROJECT_PHASE}
Phase -->|UNINITIATED/INITIALIZING| Start[start-phase.mdc]
Phase -->|DEVELOPMENT/MAINTENANCE| RIPER[riper-workflow.mdc]
Start --> Memory[Memory Bank]
RIPER --> Memory
Memory --> Custom[customization.mdc]
These files define the framework's behavior and are processed by Cursor's AI:
The foundation of the framework that:
- Defines the framework's core principles
- Establishes loading order for other components
- Sets up command parsing
- Implements safety protocols
- Defines the memory bank structure
Tracks the current state of the project:
- PROJECT_PHASE (UNINITIATED, INITIALIZING, DEVELOPMENT, MAINTENANCE)
- RIPER_CURRENT_MODE (NONE, RESEARCH, INNOVATE, PLAN, EXECUTE, REVIEW)
- START_PHASE_STATUS and START_PHASE_STEP
- Timestamps and version information
- Defines allowed state transitions
Guides the project initialization process through these steps:
- Requirements Gathering
- Technology Selection
- Architecture Definition
- Project Scaffolding
- Environment Setup
- Memory Bank Initialization
Defines the five RIPER modes and their behaviors:
- RESEARCH: Information gathering only
- INNOVATE: Brainstorming approaches
- PLAN: Creating detailed specifications
- EXECUTE: Implementing planned changes
- REVIEW: Validating implementation
Allows users to customize framework behavior:
- Response style preferences
- Mode behavior settings
- Memory management options
- Custom commands and aliases
- Documentation format preferences
The START phase is a one-time preprocessing phase that runs at the beginning of a new project or major component.
- Project initialization and scaffolding
- Setting up the memory bank with baseline information
- Establishing project structure and requirements
flowchart TD
Start[BEGIN START PHASE] --> Req[Requirements Gathering]
Req --> Tech[Technology Selection]
Tech --> Arch[Architecture Definition]
Arch --> Scaffold[Project Scaffolding]
Scaffold --> Setup[Environment Setup]
Setup --> Memory[Memory Bank Initialization]
Memory --> End[TRANSITION TO RIPER]
- Step-by-step guided setup
- Template-based file creation
- Automatic state transitions
- Protection against re-initialization
- Comprehensive documentation generation
The RIPER workflow is the core operational component used during development and maintenance phases.
- Providing a structured approach to development
- Preventing unintended modifications
- Maintaining context across sessions
- Ensuring thorough planning before implementation
- Purpose: Information gathering ONLY
- Permitted: Reading files, asking clarifying questions, understanding code structure
- Forbidden: Suggestions, implementations, planning, or any hint of action
- Output Format: Begin with [MODE: RESEARCH], then ONLY observations and questions
- Purpose: Brainstorming potential approaches
- Permitted: Discussing ideas, advantages/disadvantages, seeking feedback
- Forbidden: Concrete planning, implementation details, or any code writing
- Output Format: Begin with [MODE: INNOVATE], then ONLY possibilities and considerations
- Purpose: Creating exhaustive technical specification
- Permitted: Detailed plans with exact file paths, function names, and changes
- Forbidden: Any implementation or code writing, even "example code"
- Output Format: Begin with [MODE: PLAN], then ONLY specifications and checklists
- Purpose: Implementing EXACTLY what was planned in Mode 3
- Permitted: ONLY implementing what was explicitly detailed in the approved plan
- Forbidden: Any deviation, improvement, or creative addition not in the plan
- Output Format: Begin with [MODE: EXECUTE], then ONLY implementation matching the plan
- Purpose: Ruthlessly validate implementation against the plan
- Permitted: Line-by-line comparison between plan and implementation
- Required: EXPLICITLY FLAG ANY DEVIATION, no matter how minor
- Output Format: Begin with [MODE: REVIEW], then systematic comparison and explicit verdict
The memory bank provides persistent context across coding sessions. It consists of several markdown files that store project information.
- projectbrief.md: Foundation document defining core requirements and goals
- systemPatterns.md: System architecture and key technical decisions
- techContext.md: Technologies used and development setup
- activeContext.md: Current work focus and next steps
- progress.md: What works, what's left to build, and known issues
For more details on the memory bank, see the Memory Bank System page.
The framework processes commands in two formats:
-
Full commands:
ENTER RESEARCH MODEENTER INNOVATE MODEENTER PLAN MODEENTER EXECUTE MODEENTER REVIEW MODEBEGIN START PHASE
-
Slash commands:
/research/innovate/plan/execute/review/start
Commands trigger state transitions and change the AI's behavior according to the specified mode.
The framework implements several safety measures:
-
Destructive Operation Protection:
- Warnings for potentially destructive operations
- Explicit confirmation requirement
- Automatic backups
-
Phase Transition Protection:
- Verification of transition requirements
- Memory bank snapshots before transitions
- State file updates
-
Re-initialization Protection:
- Detection of existing projects
- Warning and confirmation requirement
- Backup of existing memory files
- Learn how to use and manage the Memory Bank System
- Explore Customization options
- See real-world usage in Examples and Patterns
CursorRIPER: Adaptive development, persistent intelligence.
CursorRIPER Framework: Adaptive development, persistent intelligence. | Home | GitHub | © 2025 CursorRIPER Contributors | MIT License