|
1 | | -# Auto-reload trigger: 1757005886 |
2 | | -# Context-Aware Rules (Cursor Optimized) |
3 | | -# Context: AGILE |
4 | | -# Total Rules: 2 |
5 | | -# Message: @agile we need experts for the cursor ide |
6 | | -# Timestamp: 04.09.2025 19:11 |
| 1 | +# Auto-reload trigger: 1758896462 |
| 2 | +# Context-Aware Rules (Working System) |
| 3 | +# Context: DOCUMENTATION |
| 4 | +# Total Rules: 7 |
| 5 | +# Generated from: @docs history test... |
| 6 | +# Timestamp: 26.09.2025 16:21 |
7 | 7 |
|
8 | 8 |
|
9 | 9 | # === safety_first_principle === |
| 10 | +--- |
| 11 | +alwaysApply: true |
| 12 | +autoFix: true |
| 13 | +category: foundational-axiomatic |
| 14 | +contexts: |
| 15 | +- ALL |
| 16 | +dependencies: [] |
| 17 | +description: Safety First Principle - axiomatic layer rule |
| 18 | +enforcement: blocking |
| 19 | +formalLayer: axiomatic |
| 20 | +globs: |
| 21 | +- '**/*' |
| 22 | +languageGames: |
| 23 | +- safety_consensus_building |
| 24 | +- harm_prevention |
| 25 | +linguisticFramework: foundational |
| 26 | +logicalType: 0 |
| 27 | +priority: critical |
| 28 | +tags: |
| 29 | +- axiomatic |
| 30 | +- foundational |
| 31 | +- type_0 |
| 32 | +- priority_1 |
| 33 | +- safety_consensus_building |
| 34 | +- harm_prevention |
| 35 | +tier: '1' |
| 36 | +--- |
| 37 | + |
10 | 38 | # Safety First Principle |
11 | | -**CRITICAL**: Always prioritize safety over speed, convenience, or automation. |
12 | | -Core: If we shoot ourselves in the foot, we are not efficient. |
| 39 | + |
| 40 | +**CRITICAL**: Always prioritize safety over speed, convenience, or automation. If we shoot ourselves in the foot, we are not efficient. |
| 41 | + |
| 42 | +## Core Principle |
| 43 | + |
| 44 | +**"Safety First, Efficiency Second"** |
| 45 | + |
| 46 | +Every development decision, automation, script, or process must be evaluated for safety before implementation. The cost of fixing disasters far exceeds the time saved by unsafe shortcuts. |
| 47 | + |
| 48 | +## Safety Requirements |
| 49 | + |
| 50 | +### 1. **No Automatic File Moving** |
| 51 | +**MANDATORY**: Never automatically move, rename, or delete files without explicit human approval |
| 52 | +```python |
| 53 | +# FORBIDDEN: Automatic file operations |
| 54 | +def organize_files(): |
| 55 | + for file in files: |
| 56 | + move_file(file, new_location) # DANGEROUS |
| 57 | + |
| 58 | +# REQUIRED: Safe validation only |
| 59 | +def validate_file_organization(): |
| 60 | + issues = find_organization_issues() |
| 61 | + return generate_fix_suggestions(issues) # SAFE |
| 62 | +``` |
| 63 | + |
| 64 | +### 2. **No Destructive Operations** |
| 65 | +**MANDATORY**: All destructive operations must require explicit confirmation |
| 66 | +```python |
| 67 | +# FORBIDDEN: Silent destructive operations |
| 68 | +def cleanup(): |
| 69 | + delete_all_temp_files() # DANGEROUS |
| 70 | + |
| 71 | +# REQUIRED: Safe with confirmation |
| 72 | +def safe_cleanup(): |
| 73 | + temp_files = find_temp_files() |
| 74 | + if confirm_deletion(temp_files): |
| 75 | + delete_files(temp_files) |
| 76 | + else: |
| 77 | + print("Cleanup cancelled - safety first") |
| 78 | +``` |
| 79 | + |
| 80 | +### 3. **Validation Before Action** |
| 81 | +**MANDATORY**: Always validate before taking any action |
| 82 | +```python |
| 83 | +# REQUIRED: Validate first |
| 84 | +def safe_operation(): |
| 85 | + # 1. Validate current state |
| 86 | + if not validate_current_state(): |
| 87 | + raise SafetyException("Invalid state detected") |
| 88 | + |
| 89 | + # 2. Check prerequisites |
| 90 | + if not check_prerequisites(): |
| 91 | + raise SafetyException("Prerequisites not met") |
| 92 | + |
| 93 | + # 3. Perform operation |
| 94 | + perform_operation() |
| 95 | + |
| 96 | + # 4. Validate result |
| 97 | + if not validate_result(): |
| 98 | + raise SafetyException("Operation failed validation") |
| 99 | +``` |
| 100 | + |
| 101 | +### 4. **Rollback Capability** |
| 102 | +**MANDATORY**: Every operation must have a clear rollback path |
| 103 | +```python |
| 104 | +# REQUIRED: Always provide rollback |
| 105 | +def safe_database_update(): |
| 106 | + # 1. Create backup |
| 107 | + backup = create_backup() |
| 108 | + |
| 109 | + # 2. Perform update |
| 110 | + try: |
| 111 | + perform_update() |
| 112 | + validate_update() |
| 113 | + except Exception as e: |
| 114 | + # 3. Rollback on failure |
| 115 | + rollback_from_backup(backup) |
| 116 | + raise SafetyException(f"Update failed, rolled back: {e}") |
| 117 | +``` |
| 118 | + |
| 119 | +### 5. **Platform-Safe Commands** |
| 120 | +**MANDATORY**: Always use platform-appropriate commands to prevent system failures |
| 121 | +```python |
| 122 | +import platform |
| 123 | + |
| 124 | +# REQUIRED: Platform detection and safe commands |
| 125 | +def get_safe_command(operation: str) -> str: |
| 126 | + """Get platform-safe command.""" |
| 127 | + system = platform.system() |
| 128 | + |
| 129 | + if system == "Windows": |
| 130 | + commands = { |
| 131 | + "list_files": "Get-ChildItem", |
| 132 | + "test_file": "Test-Path", |
| 133 | + "read_file": "Get-Content", |
| 134 | + "search_text": "Select-String" |
| 135 | + } |
| 136 | + else: # Linux/macOS |
| 137 | + commands = { |
| 138 | + "list_files": "ls", |
| 139 | + "test_file": "test -f", |
| 140 | + "read_file": "cat", |
| 141 | + "search_text": "grep" |
| 142 | + } |
| 143 | + |
| 144 | + return commands.get(operation, operation) |
| 145 | + |
| 146 | +# FORBIDDEN: Using wrong platform commands |
| 147 | +def unsafe_command(): |
| 148 | + subprocess.run("ls utils/*.py") # FAILS on Windows |
| 149 | + |
| 150 | +# REQUIRED: Platform-safe commands |
| 151 | +def safe_command(): |
| 152 | + system = platform.system() |
| 153 | + if system == "Windows": |
| 154 | + cmd = "Get-ChildItem -Path 'utils' -Filter '*.py'" |
| 155 | + else: |
| 156 | + cmd = "ls utils/*.py" |
| 157 | + subprocess.run(cmd, shell=True) |
| 158 | +``` |
| 159 | + |
| 160 | +### 6. **Safe Git Operations** |
| 161 | +**MANDATORY**: Use safe git patterns with validation and rollback capability |
| 162 | +```python |
| 163 | +# REQUIRED: Safe git workflow with validation |
| 164 | +def safe_git_commit_and_push(commit_message: str): |
| 165 | + """Safe git operations with validation and rollback.""" |
| 166 | + try: |
| 167 | + # 1. Validate working directory state |
| 168 | + status_result = subprocess.run(['git', 'status', '--porcelain'], |
| 169 | + capture_output=True, text=True) |
| 170 | + if not status_result.stdout.strip(): |
| 171 | + print("No changes to commit") |
| 172 | + return False |
| 173 | + |
| 174 | + # 2. Safe three-command sequence |
| 175 | + subprocess.run(['git', 'add', '.'], check=True) |
| 176 | + subprocess.run(['git', 'commit', '-m', commit_message], check=True) |
| 177 | + subprocess.run(['git', 'push'], check=True) |
| 178 | + |
| 179 | + return True |
| 180 | + |
| 181 | + except subprocess.CalledProcessError as e: |
| 182 | + print(f"Git operation failed: {e}") |
| 183 | + # Allow user to decide recovery action |
| 184 | + return False |
| 185 | + |
| 186 | +# FORBIDDEN: Destructive git operations without confirmation |
| 187 | +def unsafe_git_reset(): |
| 188 | + subprocess.run(['git', 'reset', '--hard', 'HEAD~1']) # DANGEROUS |
| 189 | + |
| 190 | +# REQUIRED: Safe git operations with confirmation |
| 191 | +def safe_git_reset(): |
| 192 | + print("⚠️ WARNING: This will discard uncommitted changes") |
| 193 | + confirmation = input("Type 'YES' to confirm git reset: ") |
| 194 | + if confirmation == "YES": |
| 195 | + subprocess.run(['git', 'reset', '--hard', 'HEAD~1']) |
| 196 | + else: |
| 197 | + print("Git reset cancelled - safety first") |
| 198 | +``` |
| 199 | + |
| 200 | +## Safety Patterns |
| 201 | + |
| 202 | +### 1. **Read-Only by Default** |
| 203 | +```python |
| 204 | +# REQUIRED: Start with read-only operations |
| 205 | +def safe_analysis(): |
| 206 | + # Read and analyze only |
| 207 | + data = read_data() |
| 208 | + analysis = analyze_data(data) |
| 209 | + return generate_report(analysis) # No modifications |
| 210 | +``` |
| 211 | + |
| 212 | +### 2. **Dry-Run Mode** |
| 213 | +```python |
| 214 | +# REQUIRED: Always support dry-run |
| 215 | +def safe_operation(dry_run=True): |
| 216 | + if dry_run: |
| 217 | + return simulate_operation() |
| 218 | + else: |
| 219 | + return perform_actual_operation() |
| 220 | +``` |
| 221 | + |
| 222 | +### 3. **Explicit Confirmation** |
| 223 | +```python |
| 224 | +# REQUIRED: Always require explicit confirmation for dangerous operations |
| 225 | +def dangerous_operation(): |
| 226 | + print("⚠️ WARNING: This operation will delete files") |
| 227 | + print("Files to be deleted:", list_files_to_delete()) |
| 228 | + |
| 229 | + confirmation = input("Type 'YES' to confirm: ") |
| 230 | + if confirmation != "YES": |
| 231 | + print("Operation cancelled - safety first") |
| 232 | + return False |
| 233 | + |
| 234 | + return perform_deletion() |
| 235 | +``` |
| 236 | + |
| 237 | +## Safety Checklist |
| 238 | + |
| 239 | +Before any operation, verify: |
| 240 | + |
| 241 | +- [ ] **No automatic file moving/deletion** |
| 242 | +- [ ] **Destructive operations require explicit confirmation** |
| 243 | +- [ ] **Validation performed before action** |
| 244 | +- [ ] **Rollback path exists** |
| 245 | +- [ ] **Dry-run mode available** |
| 246 | +- [ ] **Read-only analysis first** |
| 247 | +- [ ] **Explicit confirmation for dangerous operations** |
| 248 | +- [ ] **Platform-appropriate commands used (Windows vs Unix)** |
| 249 | +- [ ] **Git operations validated before execution** |
| 250 | +- [ ] **Safe git workflow: add, commit, push sequence** |
| 251 | + |
| 252 | +## Implementation Examples |
| 253 | + |
| 254 | +### Safe File Operations |
| 255 | +```python |
| 256 | +def safe_file_operation(): |
| 257 | + # 1. Analyze current state |
| 258 | + current_files = scan_directory() |
| 259 | + |
| 260 | + # 2. Generate recommendations (read-only) |
| 261 | + recommendations = analyze_file_organization(current_files) |
| 262 | + |
| 263 | + # 3. Present options to user |
| 264 | + print("File organization recommendations:") |
| 265 | + for rec in recommendations: |
| 266 | + print(f"- {rec}") |
| 267 | + |
| 268 | + # 4. Wait for explicit approval |
| 269 | + if user_approves(): |
| 270 | + perform_approved_operations() |
| 271 | + else: |
| 272 | + print("Operation cancelled - safety first") |
| 273 | +``` |
| 274 | + |
| 275 | +### Safe Database Operations |
| 276 | +```python |
| 277 | +def safe_database_operation(): |
| 278 | + # 1. Create backup |
| 279 | + backup = create_database_backup() |
| 280 | + |
| 281 | + # 2. Validate operation |
| 282 | + if not validate_operation_parameters(): |
| 283 | + raise SafetyException("Invalid parameters") |
| 284 | + |
| 285 | + # 3. Perform operation with rollback |
| 286 | + try: |
| 287 | + result = perform_database_operation() |
| 288 | + validate_result(result) |
| 289 | + return result |
| 290 | + except Exception as e: |
| 291 | + rollback_from_backup(backup) |
| 292 | + raise SafetyException(f"Operation failed: {e}") |
| 293 | +``` |
| 294 | + |
| 295 | +## Safety Enforcement |
| 296 | + |
| 297 | +This rule is **ALWAYS ACTIVE** and applies to: |
| 298 | + |
| 299 | +- All file operations |
| 300 | +- All database operations |
| 301 | +- All system modifications |
| 302 | +- All automation scripts |
| 303 | +- All deployment operations |
| 304 | +- All configuration changes |
| 305 | +- **All shell commands and terminal operations** |
| 306 | +- **All git operations and version control** |
| 307 | + |
| 308 | +### **Platform Command Safety** |
| 309 | +**MANDATORY**: Always use correct commands for the target platform |
| 310 | + |
| 311 | +**Windows Systems**: Use PowerShell commands |
| 312 | +- `Get-ChildItem` instead of `ls` |
| 313 | +- `Test-Path` instead of `test -f` |
| 314 | +- `Get-Content` instead of `cat` |
| 315 | +- `Select-String` instead of `grep` |
| 316 | + |
| 317 | +**Unix/Linux Systems**: Use bash/shell commands |
| 318 | +- `ls`, `cat`, `grep`, `test` work as expected |
| 319 | + |
| 320 | +### **Git Operation Safety** |
| 321 | +**MANDATORY**: Always use safe git patterns |
| 322 | + |
| 323 | +**Safe Git Workflow**: Always use validated sequence |
| 324 | +- `git add .` (stage all changes) |
| 325 | +- `git commit -m "message"` (commit with descriptive message) |
| 326 | +- `git push` (push to remote) |
| 327 | + |
| 328 | +**Destructive Git Operations**: Require explicit confirmation |
| 329 | +- `git reset --hard` (discards changes) |
| 330 | +- `git rebase -i` (rewrites history) |
| 331 | +- `git force push` (overwrites remote) |
| 332 | + |
| 333 | +**Remember**: It's better to be slow and safe than fast and sorry. Safety first, always. |
| 334 | + |
| 335 | + |
| 336 | + |
| 337 | +# === intelligent_context_aware_rule_system === |
| 338 | +# Rule not found: intelligent_context_aware_rule_system |
| 339 | +Rule file missing or unreadable. |
| 340 | + |
| 341 | + |
| 342 | +# === core_rule_application_framework === |
| 343 | +# Rule not found: core_rule_application_framework |
| 344 | +Rule file missing or unreadable. |
| 345 | + |
| 346 | + |
| 347 | +# === user_controlled_success_declaration_rule === |
| 348 | +# Rule not found: user_controlled_success_declaration_rule |
| 349 | +Rule file missing or unreadable. |
| 350 | + |
| 351 | + |
| 352 | +# === scientific_communication_rule === |
| 353 | +# Rule not found: scientific_communication_rule |
| 354 | +Rule file missing or unreadable. |
| 355 | + |
| 356 | + |
| 357 | +# === streamlined_git_operations_rule === |
| 358 | +# Rule not found: streamlined_git_operations_rule |
| 359 | +Rule file missing or unreadable. |
13 | 360 |
|
14 | 361 |
|
15 | | -# === agile_strategic_coordination === |
16 | | -# Agile Strategic Coordination |
17 | | -**CRITICAL**: Transform every request into professionally managed agile work. |
18 | | -Core: Agile coordination, not delegation. Strategic orchestration, not message routing. |
| 362 | +# === documentation_live_updates_rule === |
| 363 | +# Rule not found: documentation_live_updates_rule |
| 364 | +Rule file missing or unreadable. |
19 | 365 |
|
0 commit comments