|
1 | | -# Auto-reload trigger: 1756992089 |
2 | | -# Context-Aware Rules (Working System) |
3 | | -# Context: DEFAULT |
4 | | -# Total Rules: 6 |
5 | | -# Generated from: General development work... |
6 | | -# Timestamp: 04.09.2025 15:21 |
| 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 |
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 | | - |
38 | 10 | # Safety First Principle |
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. |
| 11 | +**CRITICAL**: Always prioritize safety over speed, convenience, or automation. |
| 12 | +Core: If we shoot ourselves in the foot, we are not efficient. |
355 | 13 |
|
356 | 14 |
|
357 | | -# === streamlined_git_operations_rule === |
358 | | -# Rule not found: streamlined_git_operations_rule |
359 | | -Rule file missing or unreadable. |
| 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. |
360 | 19 |
|
0 commit comments