Customization - johnpeterman72/CursorRIPER GitHub Wiki

Customization

The CursorRIPER Framework is designed to be adaptable to different projects and developer preferences. This page explains how to customize the framework to suit your needs.

Customization Overview

Customization is managed through the .cursor/rules/customization.mdc file, which contains user-defined settings that override default framework behavior.

flowchart TD
    core[core.mdc] --> state[state.mdc]
    state --> workflow{Current Workflow}
    workflow -->|START| start[start-phase.mdc]
    workflow -->|RIPER| riper[riper-workflow.mdc]
    start --> memory[Memory Bank]
    riper --> memory
    memory --> custom[customization.mdc]
    
    style custom fill:#ffd700,stroke:#ff8c00

User Preferences

Response Style

Control how verbose the AI's responses are:

RESPONSE_VERBOSITY: "BALANCED"

Options:

  • "CONCISE" - Brief, to-the-point responses
  • "BALANCED" - Moderate detail (default)
  • "DETAILED" - Comprehensive, thorough explanations

Example use case: Set to "CONCISE" when you're experienced with the framework and want faster interactions, or "DETAILED" when onboarding new team members.

Code Style Preferences

Specify your preferred coding style:

CODE_STYLE_PREFERENCES: "tabs, camelCase, 80-char line limit"

This setting is free-form text that informs the AI about your coding style preferences. Include information about:

  • Indentation (tabs vs. spaces)
  • Naming conventions
  • Line length limits
  • Brace style
  • Comment style

Example use case: Ensure consistent code generation that matches your project's existing style guide.

Explanation Level

Control how much explanation is provided with code:

EXPLANATION_LEVEL: "MEDIUM"

Options:

  • "MINIMAL" - Just the code with basic comments
  • "MEDIUM" - Code with contextual explanations (default)
  • "COMPREHENSIVE" - Detailed explanations of all aspects

Example use case: Set to "COMPREHENSIVE" when implementing complex algorithms or when team members need to understand the implementation details thoroughly.

Mode Behavior

Mode Transition Suggestions

Allow the AI to suggest mode transitions:

SUGGEST_MODE_TRANSITIONS: true

When enabled, the AI will suggest when it might be appropriate to transition to a different mode based on the current context and conversation.

Example use case: Enable this for new users to help them learn the appropriate workflow.

Automatic Mode Transitions

Allow the AI to automatically transition between modes:

AUTO_MODE_TRANSITION: false

When enabled, the AI can automatically transition between modes (except to EXECUTE, which always requires explicit authorization).

Example use case: Enable for experienced users who want a more streamlined workflow without explicitly commanding mode changes.

Plan Question Count

Set the number of clarifying questions to ask in PLAN mode:

PLAN_QUESTION_COUNT: 5

Higher values result in more detailed planning but require more interaction before implementation begins.

Example use case: Increase for complex, critical components; decrease for simple, routine tasks.

Memory Management

Automatic Memory Updates

Control whether memory files are automatically updated:

AUTO_UPDATE_MEMORY: true

When enabled, the AI will automatically update memory files after significant changes.

Example use case: Enable for consistent documentation; disable if you prefer to manually control when memory files are updated.

Memory Update Frequency

Control when memory files are updated:

MEMORY_UPDATE_FREQUENCY: "AFTER_COMPLETION"

Options:

  • "AFTER_EVERY_RESPONSE" - Update after each AI response
  • "AFTER_COMPLETION" - Update after completing significant tasks (default)
  • "MANUAL_ONLY" - Only update when explicitly requested

Example use case: Set to "AFTER_EVERY_RESPONSE" for critical projects where continuous documentation is essential.

Required Memory Files

Specify which memory files must exist for the framework to function:

REQUIRED_MEMORY_FILES: ["projectbrief.md", "activeContext.md", "progress.md"]

The framework will ensure these files exist and will create them if they're missing.

Example use case: Add custom memory files to this list if your project requires specialized documentation.

Archive Behavior

Automatic Archive of START Phase

Control whether the START phase is automatically archived upon completion:

AUTO_ARCHIVE_START_PHASE: true

When enabled, the START phase will be automatically archived after completion.

Example use case: Disable if you want to keep the START phase configuration accessible for reference.

Backup Frequency

Control how often memory bank backups are created:

BACKUP_FREQUENCY: "DAILY"

Options:

  • "NEVER" - No automatic backups
  • "DAILY" - Once per day (default)
  • "WEEKLY" - Once per week
  • "BEFORE_CHANGES" - Before any significant changes

Example use case: Set to "BEFORE_CHANGES" for extra safety during critical development phases.

Backup Retention

Control how many backup sets to retain:

KEEP_BACKUP_COUNT: 5

The framework will delete older backups when this limit is exceeded.

Example use case: Increase for projects with strict documentation requirements.

Advanced Customization

Command Aliases

Create shortcuts for mode transition commands:

CUSTOM_COMMANDS: {
  "/r": "/research",
  "/i": "/innovate",
  "/p": "/plan",
  "/e": "/execute",
  "/rev": "/review"
}

Example use case: Define shorter commands for frequently used modes.

Mode Extensions

Add custom behaviors to specific modes:

RESEARCH_MODE_EXTENSIONS: ["Generate code comments", "Document API endpoints"]
INNOVATE_MODE_EXTENSIONS: ["Create architecture diagrams", "Evaluate performance impacts"]
PLAN_MODE_EXTENSIONS: ["Conduct security review", "Assess backward compatibility"]
EXECUTE_MODE_EXTENSIONS: ["Generate unit tests", "Document implementation details"]
REVIEW_MODE_EXTENSIONS: ["Check code style compliance", "Verify documentation matches code"]

These extensions add specific behaviors to each mode without changing the core functionality.

Example use case: Add project-specific requirements to standard modes.

Custom Phases and Workflows

Define additional project phases beyond the standard ones:

CUSTOM_PHASES: ["DESIGN", "TESTING", "DEPLOYMENT"]

Create custom workflows for specific project types:

CUSTOM_WORKFLOWS: [
  {
    "name": "DATA_MIGRATION",
    "steps": ["Analyze", "Map", "Transform", "Validate", "Deploy"]
  }
]

Example use case: Create specialized workflows for specific types of projects or development activities.

Documentation Preferences

Documentation Format

Set the format for generated documentation:

DOCUMENTATION_STYLE: "MARKDOWN"

Options include "MARKDOWN", "HTML", "ASCIIDOC", etc.

Code Comments

Control whether to include detailed comments in generated code:

INCLUDE_CODE_COMMENTS: true

When enabled, the AI will include detailed comments in generated code.

Code Block Language Tags

Control whether to include language tags in code blocks:

CODE_BLOCK_LANGUAGE_TAGS: true

When enabled, the AI will include language tags in markdown code blocks.

AI Output Format

Mode Declaration Format

Customize how mode declarations appear in responses:

MODE_DECLARATION_FORMAT: "[MODE: {mode}]"

The {mode} placeholder will be replaced with the current mode name.

Progress Indicator Format

Customize how progress indicators appear in responses:

PROGRESS_INDICATOR_FORMAT: "[{current_step}/{total_steps}]"

The placeholders will be replaced with the current step and total steps.

Project Structure Customization

Project Type

Identify the type of project for specialized handling:

PROJECT_TYPE: "DEFAULT"

This can be used to activate specialized templates and workflows.

Custom Folder Structure

Define custom folder structures for project scaffolding:

CUSTOM_FOLDER_STRUCTURE: {
  "src": ["components", "services", "utils"],
  "docs": ["api", "guides"],
  "tests": ["unit", "integration", "e2e"]
}

Example use case: Define standardized project structures for different project types.

Technology Presets

Define predefined technology stacks for quick selection:

TECHNOLOGY_PRESETS: {
  "react-express-mongo": {
    "frontend": "React with TypeScript",
    "backend": "Express.js",
    "database": "MongoDB",
    "testing": "Jest and Cypress"
  }
}

Example use case: Quickly set up common technology combinations during the START phase.

Applying Customizations

  1. Edit .cursor/rules/customization.mdc directly
  2. Set values according to your preferences
  3. The framework will load these settings automatically in the next session

For dynamic changes during a session, you can use:

Please update the customization to use RESPONSE_VERBOSITY: "DETAILED"

The AI will temporarily apply this change for the current session.

Complete Example

Here's a complete customization example for a React development project:

# CursorRIPER Framework - Customization

## USER PREFERENCES
RESPONSE_VERBOSITY: "DETAILED"
CODE_STYLE_PREFERENCES: "2-space indentation, functional components, airbnb style guide"
EXPLANATION_LEVEL: "COMPREHENSIVE"

## Mode Behavior
SUGGEST_MODE_TRANSITIONS: true
AUTO_MODE_TRANSITION: false
PLAN_QUESTION_COUNT: 7

## Memory Management
AUTO_UPDATE_MEMORY: true
MEMORY_UPDATE_FREQUENCY: "AFTER_COMPLETION"
REQUIRED_MEMORY_FILES: ["projectbrief.md", "activeContext.md", "progress.md", "components.md"]

## Archive Behavior
AUTO_ARCHIVE_START_PHASE: true
BACKUP_FREQUENCY: "DAILY"
KEEP_BACKUP_COUNT: 10

## Command Aliases
CUSTOM_COMMANDS: {
  "/r": "/research",
  "/i": "/innovate",
  "/p": "/plan",
  "/e": "/execute",
  "/rev": "/review",
  "/c": "/create-component"
}

## Mode Extensions
RESEARCH_MODE_EXTENSIONS: ["Document React component APIs"]
PLAN_MODE_EXTENSIONS: ["Create component diagrams", "Plan prop interfaces"]
EXECUTE_MODE_EXTENSIONS: ["Generate component tests", "Create Storybook stories"]

## Project Structure
PROJECT_TYPE: "REACT"
CUSTOM_FOLDER_STRUCTURE: {
  "src": ["components", "hooks", "services", "utils", "contexts", "types"],
  "docs": ["components", "architecture"],
  "tests": ["unit", "integration"]
}

CursorRIPER: Adaptive development, persistent intelligence.