Cursor rule
.cursor/rules/ripersigma103.mdcuse these rules for every chat
Cursor rules
Quality
40/100
Scores the file, not the repository.Length
1,680 words
25 headings · 0 code blocksRepository
206
— · pushed 397 days agoLast changed
3 days ago
First indexed 3 days ago.1234567# CursorRIPER♦Σ 1.0.3 -(code protect + context + permissions)89## 📚 Path & Index Definitions10📂 = "/memory-bank/"11📦 = "/memory-bank/backups/"1213𝕋 = [read_files, ask_questions, observe_code, document_findings,14 suggest_ideas, explore_options, evaluate_approaches,15 create_plan, detail_specifications, sequence_steps,16 implement_code, follow_plan, test_implementation,17 validate_output, verify_against_plan, report_deviations]1819𝕄 = [📂projectbrief.md, 📂systemPatterns.md,20 📂techContext.md, 📂activeContext.md,21 📂progress.md, 📂protection.md]2223## 🔐 CRUD Permission System2425ℙ = {C: create, R: read, U: update, D: delete}2627ℙ(Ω₁) = {R: ✓, C: ✗, U: ✗, D: ✗} // Research mode28ℙ(Ω₂) = {R: ✓, C: ~, U: ✗, D: ✗} // Innovate mode (~: conceptual only)29ℙ(Ω₃) = {R: ✓, C: ✓, U: ~, D: ✗} // Plan mode (~: plan changes only)30ℙ(Ω₄) = {R: ✓, C: ✓, U: ✓, D: ~} // Execute mode (~: limited scope)31ℙ(Ω₅) = {R: ✓, C: ✗, U: ✗, D: ✗} // Review mode3233𝕆ᵣₑₐₗ = {modify_files, write_code, delete_content, refactor}34𝕆ᵥᵢᵣₜᵤₐₗ = {suggest_ideas, explore_concepts, evaluate_approaches}35𝕆ₒᵦₛₑᵣᵥₑ = {read_files, analyze_content, identify_patterns}3637𝕊(Ω₁) = {𝕆ₒᵦₛₑᵣᵥₑ: ✓, 𝕆ᵥᵢᵣₜᵤₐₗ: ~, 𝕆ᵣₑₐₗ: ✗} // Research38𝕊(Ω₂) = {𝕆ₒᵦₛₑᵣᵥₑ: ✓, 𝕆ᵥᵢᵣₜᵤₐₗ: ✓, 𝕆ᵣₑₐₗ: ✗} // Innovate39𝕊(Ω₃) = {𝕆ₒᵦₛₑᵣᵥₑ: ✓, 𝕆ᵥᵢᵣₜᵤₐₗ: ✓, 𝕆ᵣₑₐₗ: ~} // Plan40𝕊(Ω₄) = {𝕆ₒᵦₛₑᵣᵥₑ: ✓, 𝕆ᵥᵢᵣₜᵤₐₗ: ~, 𝕆ᵣₑₐₗ: ✓} // Execute41𝕊(Ω₅) = {𝕆ₒᵦₛₑᵣᵥₑ: ✓, 𝕆ᵥᵢᵣₜᵤₐₗ: ~, 𝕆ᵣₑₐₗ: ✗} // Review4243## Ω RIPER Modes with Permission Enforcement4445Ω₁ = 🔍R ⟶ ℙ(Ω₁) ⟶ +𝕋[0:3] -𝕋[4:15] ⟶ [MODE: RESEARCH]+findings46 ↪ 🔄(/research, /r) ⟶ update(𝕄[2,3]) ⟶ enforce_permissions(𝕊(Ω₁))4748Ω₂ = 💡I ⟶ ℙ(Ω₂) ⟶ +𝕋[4:6] -𝕋[8:15] ⟶ [MODE: INNOVATE]+possibilities49 ↪ 🔄(/innovate, /i) ⟶ update(𝕄[3]) ⟶ enforce_permissions(𝕊(Ω₂))5051Ω₃ = 📝P ⟶ ℙ(Ω₃) ⟶ +𝕋[7:9] -𝕋[10:15] ⟶ [MODE: PLAN]+checklist₁₋ₙ52 ↪ 🔄(/plan, /p) ⟶ update(𝕄[3,4]) ⟶ enforce_permissions(𝕊(Ω₃))5354Ω₄ = ⚙️E ⟶ ℙ(Ω₄) ⟶ +𝕋[10:12] -[improve,create,deviate] ⟶ [MODE: EXECUTE]+progress55 ↪ 🔄(/execute, /e) ⟶ update(𝕄[3,4]) ⟶ enforce_permissions(𝕊(Ω₄))5657Ω₅ = 🔎RV ⟶ ℙ(Ω₅) ⟶ +𝕋[13:15] -[modify,improve] ⟶ [MODE: REVIEW]+{✅|⚠️}58 ↪ 🔄(/review, /rev) ⟶ update(𝕄[3,4]) ⟶ enforce_permissions(𝕊(Ω₅))5960## 🛡️ Code Protection System6162Ψ = [PROTECTED, GUARDED, INFO, DEBUG, TEST, CRITICAL]6364Ψ_behavior_summary = {65 Ω₁: identify ∧ document(Ψ),66 Ω₂: respect_boundaries(Ψ) ∧ propose_alternatives,67 Ω₃: plan_around(Ψ) ∧ request_permission(Ψ.GUARDED),68 Ω₄: enforce_protection(Ψ) ∧ follow_guidelines,69 Ω₅: verify_integrity(Ψ) ∧ report_violations70}7172## 📎 Context Reference System7374Γ = [FILES, FOLDERS, CODE, DOCS, RULES, GIT, NOTEPADS, PINNED]7576Γ_symbols = {77 Γ₁: 📄 @Files,78 Γ₂: 📁 @Folders,79 Γ₃: 💻 @Code,80 Γ₄: 📚 @Docs,81 Γ₅: 📏 @Cursor Rules,82 Γ₆: 🔄 @Git,83 Γ₇: 📝 @Notepads,84 Γ₈: 📌 #Files85}8687## Mode-Context Mapping8889MΓ = {90 Ω₁: [Γ₄, Γ₂, Γ₆], // RESEARCH: docs, folders, git91 Ω₂: [Γ₃, Γ₄, Γ₇], // INNOVATE: code, docs, notepads92 Ω₃: [Γ₁, Γ₂, Γ₅], // PLAN: files, folders, rules93 Ω₄: [Γ₃, Γ₁, Γ₈], // EXECUTE: code, files, pinned94 Ω₅: [Γ₃, Γ₁, Γ₆] // REVIEW: code, files, git95}9697Γ_behavior = {98 add_context(type, name) = {99 verify_exists(name),100 update_context_list(𝕄[3], type, name),101 set_context_status(name, "active")102 },103 clear_context() = {104 backup_context(),105 reset_context_list(𝕄[3])106 },107 context_for_mode(mode) = {108 mode_contexts = MΓ[mode],109 apply_mode_context(mode_contexts)110 }111}112113## Protection-Context Integration114115PΓ = {116 Ψ₁ + Γ₃: 🔒💻, // Protected code117 Ψ₂ + Γ₃: 🛡️💻, // Guarded code118 Ψ₃ + Γ₃: ℹ️💻, // Info code119 Ψ₄ + Γ₃: 🐞💻, // Debug code120 Ψ₅ + Γ₃: 🧪💻, // Test code121 Ψ₆ + Γ₃: ⚠️💻 // Critical code122}123124## Permission-Context Integration125126ℙΓ = {127 ℙ(Ω₁) + Γ₁: 📄🔍, // Research file context128 ℙ(Ω₂) + Γ₃: 💻💡, // Innovate code context129 ℙ(Ω₃) + Γ₂: 📁📝, // Plan folder context130 ℙ(Ω₄) + Γ₃: 💻⚙️, // Execute code context131 ℙ(Ω₅) + Γ₁: 📄🔎 // Review file context132}133134## 🚫 Violation Detection135136Ξ(op, Ω) = op ∈ 𝕊(Ω) ? allow(op) : block(op) ∧ log_violation(op, Ω)137138## 🔄 Violation Response139140𝕍(Ω, op) = {141 log_violation(op, Ω),142 create_backup(),143 revert_to_safe_mode(),144 notify_violation(op, Ω)145}146147revert_to_safe_mode() = transition(current_mode → Ω₃) // Plan is safest fallback148149## Π Project Phases150151Π₁ = 🌱UNINITIATED ⟶ framework_installed ∧ ¬project_started152Π₂ = 🚧INITIALIZING ⟶ START_active ∧ setup_ongoing153Π₃ = 🏗️DEVELOPMENT ⟶ main_development ∧ RIPER_active154Π₄ = 🔧MAINTENANCE ⟶ long_term_support ∧ RIPER_active155156Π_transitions = {157 Π₁→Π₂: 🔄"/start",158 Π₂→Π₃: ✅completion(START_phase),159 Π₃↔Π₄: 🔄user_request160}161162## 🏁 START Phase (Π₂)163164S₁₋₆ = [requirements, technology, architecture, scaffolding, environment, memory]165166START_process = {167 S₀: create_directory(📂),168 S₁: gather(requirements) ⟶ create(𝕄[0]),169 S₂: select(technologies) ⟶ update(𝕄[2]),170 S₃: define(architecture) ⟶ create(𝕄[1]),171 S₄: scaffold(project) ⟶ create(directories),172 S₅: setup(environment) ⟶ update(𝕄[2]),173 S₆: initialize(memory) ⟶ create(𝕄[0:5])174}175176## 📑 Memory Templates177178Σ_templates = {179 σ₁: """# σ₁: Project Brief\n*v1.0 | Created: {DATE} | Updated: {DATE}*\n*Π: {PHASE} | Ω: {MODE}*\n\n## 🏆 Overview\n[Project description]\n\n## 📋 Requirements\n- [R₁] [Requirement 1]\n...""",180181 σ₂: """# σ₂: System Patterns\n*v1.0 | Created: {DATE} | Updated: {DATE}*\n*Π: {PHASE} | Ω: {MODE}*\n\n## 🏛️ Architecture Overview\n[Architecture description]\n...""",182183 σ₃: """# σ₃: Technical Context\n*v1.0 | Created: {DATE} | Updated: {DATE}*\n*Π: {PHASE} | Ω: {MODE}*\n\n## 🛠️ Technology Stack\n- 🖥️ Frontend: [Technologies]\n...""",184185 σ₄: """# σ₄: Active Context\n*v1.0 | Created: {DATE} | Updated: {DATE}*\n*Π: {PHASE} | Ω: {MODE}*\n\n## 🔮 Current Focus\n[Current focus]\n\n## 📎 Context References\n- 📄 Active Files: []\n- 💻 Active Code: []\n- 📚 Active Docs: []\n- 📁 Active Folders: []\n- 🔄 Git References: []\n- 📏 Active Rules: []\n\n## 📡 Context Status\n- 🟢 Active: []\n- 🟡 Partially Relevant: []\n- 🟣 Essential: []\n- 🔴 Deprecated: []\n...""",186187 σ₅: """# σ₅: Progress Tracker\n*v1.0 | Created: {DATE} | Updated: {DATE}*\n*Π: {PHASE} | Ω: {MODE}*\n\n## 📈 Project Status\nCompletion: 0%\n...""",188189 σ₆: """# σ₆: Protection Registry\n*v1.0 | Created: {DATE} | Updated: {DATE}*\n*Π: {PHASE} | Ω: {MODE}*\n\n## 🛡️ Protected Regions\n[Protected code registry]\n\n## 📜 Protection History\n[History and changes]\n\n## ✅ Approvals\n[Modification approvals]\n\n## ⚠️ Permission Violations\n[Violation logs]""",190191 symbols: """# 🔣 Symbol Reference Guide\n*v1.0 | Created: {DATE} | Updated: {DATE}*\n\n## 📁 File Symbols\n- 📂 = /memory-bank/\n..."""192}193194Φ_memory = {195 create_template(template, params) = template.replace({PLACEHOLDERS}, params),196 initialize() = {197 ensure_directory(📂),198 create_file(𝕄[0], create_template(Σ_templates.σ₁, {DATE: now(), PHASE: current_phase, MODE: current_mode})),199 create_file(𝕄[1], create_template(Σ_templates.σ₂, {DATE: now(), PHASE: current_phase, MODE: current_mode})),200 create_file(𝕄[2], create_template(Σ_templates.σ₃, {DATE: now(), PHASE: current_phase, MODE: current_mode})),201 create_file(𝕄[3], create_template(Σ_templates.σ₄, {DATE: now(), PHASE: current_phase, MODE: current_mode})),202 create_file(𝕄[4], create_template(Σ_templates.σ₅, {DATE: now(), PHASE: current_phase, MODE: current_mode})),203 create_file(𝕄[5], create_template(Σ_templates.σ₆, {DATE: now(), PHASE: current_phase, MODE: current_mode})),204 create_file(📂symbols.md, create_template(Σ_templates.symbols, {DATE: now()}))205 }206}207208## 🧰 Memory System209210Σ_memory = {211 σ₁ = 📋𝕄[0] ⟶ requirements ∧ scope ∧ criteria,212 σ₂ = 🏛️𝕄[1] ⟶ architecture ∧ components ∧ decisions,213 σ₃ = 💻𝕄[2] ⟶ stack ∧ environment ∧ dependencies,214 σ₄ = 🔮𝕄[3] ⟶ focus ∧ changes ∧ next_steps ∧ context_references,215 σ₅ = 📊𝕄[4] ⟶ status ∧ milestones ∧ issues,216 σ₆ = 🛡️𝕄[5] ⟶ protected_regions ∧ history ∧ approvals ∧ violations217}218219Σ_update(mode) = {220 Ω₁: σ₃ += technical_details, σ₄ = current_focus, set_context(MΓ[Ω₁]), enforce_permissions(𝕊(Ω₁)),221 Ω₂: σ₄ += potential_approaches, σ₂ += design_decisions, set_context(MΓ[Ω₂]), enforce_permissions(𝕊(Ω₂)),222 Ω₃: σ₄ += planned_changes, σ₅ += expected_outcomes, set_context(MΓ[Ω₃]), enforce_permissions(𝕊(Ω₃)),223 Ω₄: σ₅ += implementation_progress, σ₄ += step_completion, set_context(MΓ[Ω₄]), enforce_permissions(𝕊(Ω₄)),224 Ω₅: σ₅ += review_findings, σ₄ += review_status, set_context(MΓ[Ω₅]), enforce_permissions(𝕊(Ω₅))225}226227## Σ_context System228229Σ_context = {230 active_references: [],231 status_map: {},232 add_reference(type, name, status = "active") = {233 active_references.push({type, name, added: now()}),234 status_map[name] = status,235 update_file(𝕄[3], format_context_section())236 },237 remove_reference(name) = {238 active_references = active_references.filter(ref => ref.name !== name),239 delete status_map[name],240 update_file(𝕄[3], format_context_section())241 },242 clear_references() = {243 backup_context_refs(),244 active_references = [],245 status_map = {},246 update_file(𝕄[3], format_empty_context())247 },248 set_status(name, status) = {249 status_map[name] = status,250 update_file(𝕄[3], format_context_section())251 },252 context_for_mode(mode) = {253 backup_context_refs(),254 clear_references(),255 for context_type in MΓ[mode] {256 add_reference(context_type, "auto:" + mode, "essential")257 }258 },259 format_context_section() = generate_context_markdown()260}261262## Σ_permission System263264Σ_permission = {265 check_permission(operation, mode) = {266 op_category = get_operation_category(operation),267 return 𝕊(mode)[op_category] === "✓" || 𝕊(mode)[op_category] === "~"268 },269270 enforce_permissions(mode_permissions) = {271 current_permissions = mode_permissions,272 update_allowed_operations(current_permissions),273 log_permission_change()274 },275276 handle_violation(operation, mode) = {277 severity = calculate_severity(operation, mode),278 log_violation_to_registry(operation, mode, severity),279 if (severity === "CRITICAL" || severity === "HIGH") {280 Σ_backup.create_backup(),281 safe_transition(mode, Ω₃)282 } else {283 notify_violation(operation, mode, severity)284 }285 },286287 check_operation_allowed(operation) = {288 if (!check_permission(operation, current_mode)) {289 handle_violation(operation, current_mode),290 return false291 }292 return true293 },294295 calculate_severity(operation, mode) = {296 if (operation ∈ 𝕆ᵣₑₐₗ && mode ∈ [Ω₁, Ω₂, Ω₅]) return "CRITICAL",297 if (operation ∈ 𝕆ᵣₑₐₗ && mode === Ω₃) return "HIGH",298 if (operation ∈ 𝕆ᵥᵢᵣₜᵤₐₗ && mode ∈ [Ω₁, Ω₅]) return "MEDIUM",299 return "LOW"300 }301}302303## Σ_backup System304305Σ_backup = {306 backup_format = "YYYY-MM-DD_HH-MM-SS",307 create_backup() = copy_files(𝕄, 📦 + timestamp(backup_format)),308 backup_context() = {309 ctx_backup = {refs: Σ_context.active_references, status: Σ_context.status_map}310 write_json(📦 + "context_" + timestamp(backup_format) + ".json", ctx_backup)311 },312 emergency_backup() = {313 create_backup(),314 write_json(📦 + "emergency_" + timestamp(backup_format) + ".json", {315 mode: current_mode,316 context: Σ_context.active_references,317 permissions: current_permissions318 })319 }320}321322## 🔍 Context Commands323324Φ_context_commands = {325 !af(file) = Σ_context.add_reference(Γ₁, file), // Add file reference326 !ad(folder) = Σ_context.add_reference(Γ₂, folder), // Add folder reference327 !ac(code) = Σ_context.add_reference(Γ₃, code), // Add code reference328 !adoc(doc) = Σ_context.add_reference(Γ₄, doc), // Add documentation reference329 !ar(rule) = Σ_context.add_reference(Γ₅, rule), // Add rule reference330 !ag(git) = Σ_context.add_reference(Γ₆, git), // Add git reference331 !an(notepad) = Σ_context.add_reference(Γ₇, notepad), // Add notepad reference332 !pf(file) = Σ_context.add_reference(Γ₈, file), // Pin file to context333 !cs(ref, status) = Σ_context.set_status(ref, status), // Set context status334 !cr(ref) = Σ_context.remove_reference(ref), // Remove context reference335 !cc = Σ_context.clear_references(), // Clear all context references336 !cm = Σ_context.context_for_mode(current_mode) // Set context for current mode337}338339## 🔐 Permission Commands340341Φ_permission_commands = {342 !ckp = show_current_permissions(), // Check permissions for current mode343 !pm(operation) = check_operation_permitted(operation), // Check if operation is permitted344 !sp(mode) = show_mode_permissions(mode), // Show permissions for specified mode345 !vm(operation) = suggest_appropriate_mode(operation) // Verify mode appropriate for operation346}347348## ⚠️ Safety Protocols349350Δ₁ = destructive_op(x) ⟶ warn ∧ confirm ∧ Σ_backup.create_backup()351Δ₂ = phase_transition(Πₐ→Πᵦ) ⟶ verify ∧ Σ_backup.create_backup() ∧ update352Δ₃ = reinit_attempt ∧ ¬Π₁ ⟶ warn ∧ confirm("CONFIRM RE-INITIALIZATION") ∧ Σ_backup.create_backup()353Δ₄ = error(x) ⟶ report("Framework issue: " + x) ∧ suggest_recovery(x)354Δ₅ = context_change() ⟶ Σ_backup.backup_context() ∧ update_context_references()355Δ₆ = permission_violation(op) ⟶ Σ_permission.handle_violation(op, current_mode)356357## 📂 File System Operations358359Φ_file = {360 ensure_directory(path) = path_exists(path) ? noop : create_directory(path),361 init() = ensure_directory(📂) ∧ ensure_directory(📦),362 check_files() = ∀file ∈ 𝕄, check_exists(file)363}364365## 📊 Context Operations366367Φ_context = {368 expand(Γₙ) = get_full_context(Γₙ), // Expand context reference369 filter(Γₙ, criteria) = filter_context_by(Γₙ, criteria), // Filter context370 persist(Γₙ, 📂) = save_context_to_memory(Γₙ, 📂), // Save context371 retrieve(Γₙ, 📂) = load_context_from_memory(Γₙ, 📂), // Load context372 rank(Γₙ, relevance) = prioritize_context(Γₙ, relevance) // Prioritize context373}374375## 🔄 Mode Transition with Permissions376377Φ_mode_transition = {378 transition(mode_a, mode_b) = {379 Σ_backup.create_backup(),380 verify_completion(mode_a),381 set_mode(mode_b),382 enforce_permissions(𝕊(mode_b)),383 update_context(MΓ[mode_b]),384 log_transition(mode_a, mode_b)385 },386387 verify_completion(mode) = {388 if (has_ongoing_operations(mode)) {389 warn_incomplete_operations(),390 confirm_transition()391 }392 },393394 enforce_permissions(mode) = {395 Σ_permission.enforce_permissions(𝕊(mode))396 }397}398399## 🔗 Extended Cross-References400401χ_refs = {402 standard: "[↗️σ₁:R₁]", // Standard cross-reference403 with_context: "[↗️σ₁:R₁|Γ₃]", // Cross-reference with context404 context_only: "[Γ₃:ClassA]", // Context reference405 protection_context: "[Ψ₁+Γ₃:validate()]", // Protection with context406 permission_context: "[ℙ(Ω₁):read_only]" // Permission reference407}408
Also in johnpeterman72/CursorRIPER.sigma
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| johnpeterman72/CursorRIPER.sigma.cursor/rules/enterprise.mdc · 206 | Cursor rules | securitydeploymentdocs | 54/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/bmad-roles.mdc · 206 | Cursor rules | securitydeployment | 54/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/codeprotection.mdc · 206 | Cursor rules | do-notagent-behaviour | 55/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/cursorriper-sigma-mcp.mdc · 206 | Cursor rules | setuptestapideployment+2 | 76/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-docker.mdc · 206 | Cursor rules | securitydeployment | 54/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-filesystem.mdc · 206 | Cursor rules | performance | 48/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-github.mdc · 206 | Cursor rules | setupgitdeployment | 50/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-puppeteer.mdc · 206 | Cursor rules | testdeployment | 66/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/mcp-websearch.mdc · 206 | Cursor rules | deploymentdo-not | 61/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/prd-system.mdc · 206 | Cursor rules | archdatabaseperformancedeployment | 58/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/quality-gates.mdc · 206 | Cursor rules | deployment | 54/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma-mcp.mdc · 206 | Cursor rules | setuptestdatabaseapi+3 | 55/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma1.mdc · 206 | Cursor rules | performance | 48/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma101codeprotect.mdc · 206 | Cursor rules | performance | 48/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma102.mdc · 206 | Cursor rules | performance | 48/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma104.mdc · 206 | Cursor rules | securityperformance | 40/100 | 3 days ago | |
| johnpeterman72/CursorRIPER.sigma.cursor/rules/ripersigma105.mdc · 206 | Cursor rules | securityperformance | 40/100 | 3 days ago |
Diff against .cursor/rules/enterprise.mdc Diff against .cursor/rules/bmad-roles.mdc Diff against .cursor/rules/codeprotection.mdc Diff against .cursor/rules/cursorriper-sigma-mcp.mdc Diff against .cursor/rules/mcp-docker.mdc Diff against .cursor/rules/mcp-filesystem.mdc Diff against .cursor/rules/mcp-github.mdc Diff against .cursor/rules/mcp-puppeteer.mdc Diff against .cursor/rules/mcp-websearch.mdc Diff against .cursor/rules/prd-system.mdc Diff against .cursor/rules/quality-gates.mdc Diff against .cursor/rules/ripersigma-mcp.mdc Diff against .cursor/rules/ripersigma1.mdc Diff against .cursor/rules/ripersigma101codeprotect.mdc Diff against .cursor/rules/ripersigma102.mdc Diff against .cursor/rules/ripersigma104.mdc Diff against .cursor/rules/ripersigma105.mdc
