Update REFDB_FORMAT.txt with all work since Nov 20th, delete random docs
DOCUMENTATION FIXES: 1. Updated REFDB_FORMAT.txt (THE developer documentation file): - Added [UPDATE_2025_12_02_PHP_OPTIMIZER] section - Documented all 4 new components (2,960 lines, 45 functions) - Complete workflow documentation for Option 4 - Metrics tracked, safety features, testing status - Future enhancements and git commit history - Added [UPDATE_2025_12_03_DOCUMENTATION] section - Established documentation policies - Established git commit policies (NO AI markers) - Clarified REFDB_FORMAT.txt is primary dev docs 2. Deleted docs/DEVELOPMENT_LOG.md (mistake - random file) ESTABLISHED POLICIES: - REFDB_FORMAT.txt = Developer documentation (update after EVERY change) - README.md = User documentation - NO random .md files in docs/ - NO AI attribution in commits - Update REFDB_FORMAT.txt after every significant change
This commit is contained in:
+163
-1
@@ -1058,9 +1058,171 @@ next_action_required:
|
|||||||
5. "Fix any issues found during validation"
|
5. "Fix any issues found during validation"
|
||||||
6. "Test real modules on validated servers"
|
6. "Test real modules on validated servers"
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# UPDATES SINCE 2025-11-20
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
[UPDATE_2025_12_02_PHP_OPTIMIZER]
|
||||||
|
# Major feature addition: PHP Configuration Optimizer
|
||||||
|
# 7 phases of development completed over 2 days
|
||||||
|
|
||||||
|
new_components:
|
||||||
|
lib/php-detector.sh: |
|
||||||
|
- 428 lines, 17 exported functions
|
||||||
|
- Detects PHP versions, binaries, and config files per domain
|
||||||
|
- Supports cPanel (ea-php, MultiPHP), InterWorx, Plesk, standalone
|
||||||
|
- Finds php.ini at 4 priority levels (.user.ini, home, pool, system)
|
||||||
|
- Locates PHP-FPM pool configs for all control panels
|
||||||
|
- Functions: detect_php_version_for_domain, find_php_ini, find_fpm_pool_config, etc.
|
||||||
|
|
||||||
|
lib/php-analyzer.sh: |
|
||||||
|
- 940 lines, 14 exported functions
|
||||||
|
- Analyzes PHP performance metrics and generates recommendations
|
||||||
|
- OPcache hit rate calculation with division-by-zero protection
|
||||||
|
- 7-day historical error log analysis for max_children issues
|
||||||
|
- Memory usage analysis per PHP-FPM process
|
||||||
|
- Process manager statistics (pm.max_children, start/min/max spare)
|
||||||
|
- Functions: get_opcache_stats, check_max_children_errors, recommend_max_children, etc.
|
||||||
|
|
||||||
|
lib/php-config-manager.sh: |
|
||||||
|
- 509 lines, 14 exported functions
|
||||||
|
- Backup/restore/modify PHP configurations safely
|
||||||
|
- Timestamped backups with metadata in /root/server-toolkit/backups/php/
|
||||||
|
- Graceful PHP-FPM reload for zero downtime
|
||||||
|
- sed-based configuration modification
|
||||||
|
- Functions: backup_user_php_configs, restore_from_backup, modify_fpm_pool_setting, reload_php_fpm, etc.
|
||||||
|
|
||||||
|
modules/performance/php-optimizer.sh: |
|
||||||
|
- 1,083 lines, interactive menu system
|
||||||
|
- 9 menu options for PHP analysis and optimization
|
||||||
|
- Option 4: Full apply workflow with auto-backup and rollback
|
||||||
|
- User confirmation required for ALL changes
|
||||||
|
- Auto-backup before modifications
|
||||||
|
- Graceful PHP-FPM reload (not restart)
|
||||||
|
- Verification and rollback instructions
|
||||||
|
|
||||||
|
menu_integration:
|
||||||
|
location: "Performance & Diagnostics → Option 9"
|
||||||
|
path: "Main Menu (4) → Performance & Diagnostics (9) → PHP Configuration Optimizer"
|
||||||
|
|
||||||
|
php_optimizer_options:
|
||||||
|
1: "Analyze All Domains - Server-wide PHP analysis"
|
||||||
|
2: "Analyze Single Domain - Per-domain analysis"
|
||||||
|
3: "Show OPcache Statistics - OPcache performance metrics"
|
||||||
|
4: "Optimize Domain - Main action menu with apply workflow"
|
||||||
|
5: "View PHP Error Logs - Error log viewer with filtering"
|
||||||
|
6: "PHP Version Summary - Version distribution report"
|
||||||
|
7: "Find Configuration Files - Config file discovery"
|
||||||
|
b: "Backup Configurations - Manual backup creation"
|
||||||
|
r: "Restore from Backup - Rollback capability"
|
||||||
|
q: "Quit"
|
||||||
|
|
||||||
|
option_4_workflow:
|
||||||
|
step_1: "Select domain from list"
|
||||||
|
step_2: "Display current configuration"
|
||||||
|
step_3: "Show recommendations with explanations"
|
||||||
|
step_4: "User confirms: Apply these recommendations? (y/n)"
|
||||||
|
step_5: "If yes: Create timestamped auto-backup"
|
||||||
|
step_6: "Apply changes to PHP-FPM pool config"
|
||||||
|
step_7: "User confirms: Restart PHP-FPM now? (y/n)"
|
||||||
|
step_8: "If yes: Gracefully reload PHP-FPM (zero downtime)"
|
||||||
|
step_9: "Verify PHP-FPM service is running"
|
||||||
|
step_10: "Display backup location for rollback"
|
||||||
|
|
||||||
|
metrics_tracked:
|
||||||
|
pm_settings:
|
||||||
|
- "pm.max_children - FPM process limit"
|
||||||
|
- "pm.start_servers - Initial processes"
|
||||||
|
- "pm.min_spare_servers - Minimum idle"
|
||||||
|
- "pm.max_spare_servers - Maximum idle"
|
||||||
|
- "pm.max_requests - Process recycling"
|
||||||
|
|
||||||
|
memory_settings:
|
||||||
|
- "memory_limit - PHP script memory cap"
|
||||||
|
- "upload_max_filesize - Upload size limit"
|
||||||
|
- "post_max_size - POST data limit"
|
||||||
|
|
||||||
|
timeout_settings:
|
||||||
|
- "max_execution_time - Script timeout"
|
||||||
|
- "max_input_time - Input parsing timeout"
|
||||||
|
|
||||||
|
opcache_settings:
|
||||||
|
- "opcache.memory_consumption - OPcache memory"
|
||||||
|
- "opcache.interned_strings_buffer - String buffer"
|
||||||
|
- "opcache.max_accelerated_files - Cached file limit"
|
||||||
|
- "opcache.enable - OPcache on/off"
|
||||||
|
- "opcache.revalidate_freq - Cache validation"
|
||||||
|
|
||||||
|
performance_metrics:
|
||||||
|
- "OPcache hit rate - hits / (hits + misses)"
|
||||||
|
- "max_children errors - 7-day frequency"
|
||||||
|
- "Active PHP-FPM processes - Current load"
|
||||||
|
- "Memory per process - Average consumption"
|
||||||
|
|
||||||
|
safety_features:
|
||||||
|
- "User confirmation required for ALL changes"
|
||||||
|
- "Auto-backup BEFORE any modifications"
|
||||||
|
- "Graceful reload (not restart) for zero downtime"
|
||||||
|
- "Verification that service is running"
|
||||||
|
- "Clear rollback instructions with backup location"
|
||||||
|
- "No automatic changes without explicit approval"
|
||||||
|
|
||||||
|
git_commits:
|
||||||
|
- "Phase 1: Create lib/php-detector.sh (detection functions)"
|
||||||
|
- "Phase 2: Create lib/php-analyzer.sh (analysis engine)"
|
||||||
|
- "Phase 3: Create modules/performance/php-optimizer.sh (main script)"
|
||||||
|
- "Phase 4: Implement backup/restore system with PHP-FPM restart"
|
||||||
|
- "Phase 5 & 6: Implement apply/action menu with auto-backup"
|
||||||
|
- "Phase 7: Integrate PHP Configuration Optimizer into main menu"
|
||||||
|
|
||||||
|
file_statistics:
|
||||||
|
total_lines: 2960
|
||||||
|
total_functions: 45
|
||||||
|
files_created: 4
|
||||||
|
control_panels_supported: 4
|
||||||
|
|
||||||
|
testing_status:
|
||||||
|
syntax_validation: "PASS (all files pass bash -n)"
|
||||||
|
logic_validation: "PASS (division-by-zero protection, error handling)"
|
||||||
|
path_resolution: "PASS (verified)"
|
||||||
|
menu_integration: "PASS (tested)"
|
||||||
|
live_server_testing: "PENDING"
|
||||||
|
|
||||||
|
future_enhancements:
|
||||||
|
- "MySQL Config Optimizer (similar system for MySQL/MariaDB)"
|
||||||
|
- "Redis/Memcached Setup (object caching setup scripts)"
|
||||||
|
- "Apache/Nginx Optimizer (web server tuning - revisit later)"
|
||||||
|
|
||||||
|
not_planned:
|
||||||
|
- "CDN integration (user declined)"
|
||||||
|
- "SSL/TLS optimizer (user declined)"
|
||||||
|
|
||||||
|
[UPDATE_2025_12_03_DOCUMENTATION]
|
||||||
|
# Documentation cleanup and standardization
|
||||||
|
|
||||||
|
changes:
|
||||||
|
- "Removed AI attribution from git commits (per user instructions)"
|
||||||
|
- "Updated README.md with PHP optimizer feature"
|
||||||
|
- "Created docs/DEVELOPMENT_LOG.md (MISTAKE - should use REFDB_FORMAT.txt)"
|
||||||
|
- "Deleted random docs files, consolidated into REFDB_FORMAT.txt"
|
||||||
|
- "Established: REFDB_FORMAT.txt is THE developer documentation file"
|
||||||
|
|
||||||
|
documentation_policy:
|
||||||
|
primary_file: "REFDB_FORMAT.txt (this file)"
|
||||||
|
user_docs: "README.md (for end users)"
|
||||||
|
no_random_files: "Do not create random .md files in docs/"
|
||||||
|
update_frequency: "After EVERY significant change"
|
||||||
|
|
||||||
|
git_commit_policy:
|
||||||
|
no_ai_markers: "Never add AI attribution to commits"
|
||||||
|
no_robot_emoji: "Never use 🤖 in commits"
|
||||||
|
no_coauthored: "Never add Co-Authored-By: Claude"
|
||||||
|
clear_messages: "Use clear, descriptive commit messages"
|
||||||
|
technical_details: "Include technical details and impact"
|
||||||
|
|
||||||
[END]
|
[END]
|
||||||
# This file is the primary developer reference document.
|
# This file is the primary developer reference document.
|
||||||
# README.md is for end users, this file is for developers.
|
# README.md is for end users, this file is for developers.
|
||||||
# Keep this updated after every significant change.
|
# Keep this updated after every significant change.
|
||||||
# Last updated: 2025-11-20 (Multi-panel validation complete)
|
# Last updated: 2025-12-03 (PHP optimizer complete, documentation cleanup)
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
@@ -1,258 +0,0 @@
|
|||||||
# Server Toolkit Development Log
|
|
||||||
|
|
||||||
**Purpose**: Comprehensive tracking of ALL development work, changes, and decisions
|
|
||||||
**Last Updated**: 2025-12-03
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## December 2-3, 2025: PHP Configuration Optimizer (Complete)
|
|
||||||
|
|
||||||
### Summary
|
|
||||||
Built comprehensive PHP configuration optimization system with 7 phases of development.
|
|
||||||
|
|
||||||
### Components Created
|
|
||||||
|
|
||||||
#### 1. lib/php-detector.sh (428 lines, 17 functions)
|
|
||||||
**Purpose**: Detect and locate all PHP configuration files across control panels
|
|
||||||
**Created**: December 2, 2025
|
|
||||||
|
|
||||||
**Functions**:
|
|
||||||
- `detect_php_version_for_domain()` - Detect PHP version per domain
|
|
||||||
- `detect_php_binary()` - Find PHP binary path
|
|
||||||
- `find_php_ini()` - Locate php.ini files (4 priority levels)
|
|
||||||
- `find_fpm_pool_config()` - Find PHP-FPM pool configs
|
|
||||||
- `find_all_php_configs()` - Comprehensive config discovery
|
|
||||||
- `get_opcache_config_file()` - Locate OPcache configs
|
|
||||||
- 11 additional detection functions
|
|
||||||
|
|
||||||
**Control Panel Support**:
|
|
||||||
- cPanel (ea-php, MultiPHP)
|
|
||||||
- InterWorx (SiteWorx)
|
|
||||||
- Plesk
|
|
||||||
- Standalone Apache
|
|
||||||
|
|
||||||
#### 2. lib/php-analyzer.sh (940 lines, 14 functions)
|
|
||||||
**Purpose**: Analyze PHP performance metrics and generate recommendations
|
|
||||||
**Created**: December 2, 2025
|
|
||||||
|
|
||||||
**Functions**:
|
|
||||||
- `get_opcache_stats()` - Extract OPcache statistics
|
|
||||||
- `calculate_opcache_hit_rate()` - Calculate hit percentage
|
|
||||||
- `check_max_children_errors()` - Scan 7-day error logs
|
|
||||||
- `analyze_php_memory_usage()` - Memory consumption analysis
|
|
||||||
- `get_process_manager_stats()` - PHP-FPM pm stats
|
|
||||||
- `recommend_max_children()` - Calculate optimal max_children
|
|
||||||
- `recommend_memory_limit()` - Calculate optimal memory_limit
|
|
||||||
- `recommend_opcache_settings()` - OPcache tuning recommendations
|
|
||||||
- 6 additional analysis functions
|
|
||||||
|
|
||||||
**Key Features**:
|
|
||||||
- 7-day historical error log analysis
|
|
||||||
- OPcache hit rate calculation with division-by-zero protection
|
|
||||||
- Intelligent max_children recommendations based on actual errors
|
|
||||||
- Memory limit optimization based on real usage patterns
|
|
||||||
|
|
||||||
#### 3. lib/php-config-manager.sh (509 lines, 14 functions)
|
|
||||||
**Purpose**: Backup, restore, and modify PHP configurations safely
|
|
||||||
**Created**: December 2, 2025
|
|
||||||
|
|
||||||
**Functions**:
|
|
||||||
- `backup_user_php_configs()` - Create timestamped backups with metadata
|
|
||||||
- `restore_from_backup()` - Restore from backup with verification
|
|
||||||
- `list_backups()` - Display all available backups
|
|
||||||
- `delete_backup()` - Remove backup directories
|
|
||||||
- `modify_fpm_pool_setting()` - Modify PHP-FPM pool settings via sed
|
|
||||||
- `modify_php_ini_setting()` - Modify php.ini settings
|
|
||||||
- `apply_fpm_pool_settings()` - Batch apply multiple settings
|
|
||||||
- `restart_php_fpm()` - Restart PHP-FPM service
|
|
||||||
- `reload_php_fpm()` - Graceful reload (zero downtime)
|
|
||||||
- `verify_php_fpm_running()` - Verify service status
|
|
||||||
- 4 additional configuration functions
|
|
||||||
|
|
||||||
**Backup System**:
|
|
||||||
- Location: `/root/server-toolkit/backups/php/`
|
|
||||||
- Format: Timestamped directories with metadata
|
|
||||||
- Preserves directory structure and permissions
|
|
||||||
- Tracks all backed up files with original paths
|
|
||||||
|
|
||||||
#### 4. modules/performance/php-optimizer.sh (1,083 lines)
|
|
||||||
**Purpose**: Interactive menu-driven PHP optimization tool
|
|
||||||
**Created**: December 2, 2025
|
|
||||||
|
|
||||||
**Menu Options**:
|
|
||||||
1. Analyze All Domains - Comprehensive server-wide analysis
|
|
||||||
2. Analyze Single Domain - Per-domain analysis
|
|
||||||
3. Show OPcache Statistics - OPcache performance metrics
|
|
||||||
4. Optimize Domain - **Main action menu with apply workflow**
|
|
||||||
5. View PHP Error Logs - Error log viewer with filtering
|
|
||||||
6. PHP Version Summary - Version distribution report
|
|
||||||
7. Find Configuration Files - Config file discovery tool
|
|
||||||
8. Backup Configurations (b) - Manual backup creation
|
|
||||||
9. Restore from Backup (r) - Rollback capability
|
|
||||||
0. Quit
|
|
||||||
|
|
||||||
**Option 4 Workflow** (Optimize Domain):
|
|
||||||
1. Select domain from list
|
|
||||||
2. Display current configuration
|
|
||||||
3. Show recommendations with explanations
|
|
||||||
4. Ask: "Apply these recommendations? (y/n)"
|
|
||||||
5. If yes: Create auto-backup (timestamped)
|
|
||||||
6. Apply changes to PHP-FPM pool config
|
|
||||||
7. Ask: "Restart PHP-FPM now? (y/n)"
|
|
||||||
8. If yes: Gracefully reload PHP-FPM (zero downtime)
|
|
||||||
9. Verify service is running
|
|
||||||
10. Display backup location for rollback
|
|
||||||
|
|
||||||
**Safety Features**:
|
|
||||||
- User confirmation required for ALL changes
|
|
||||||
- Auto-backup BEFORE any modifications
|
|
||||||
- Graceful reload (not restart) for zero downtime
|
|
||||||
- Verification that service is running after reload
|
|
||||||
- Clear rollback instructions with backup location
|
|
||||||
- No automatic changes without explicit approval
|
|
||||||
|
|
||||||
### Integration (December 3, 2025)
|
|
||||||
|
|
||||||
#### Main Menu Integration
|
|
||||||
**File**: `launcher.sh`
|
|
||||||
**Location**: Performance & Diagnostics → Option 9
|
|
||||||
|
|
||||||
**Menu Path**:
|
|
||||||
```
|
|
||||||
Main Menu
|
|
||||||
└─ (4) Performance & Diagnostics
|
|
||||||
└─ (9) PHP Configuration Optimizer
|
|
||||||
```
|
|
||||||
|
|
||||||
**Changes Made**:
|
|
||||||
- Added menu option 9: "PHP Configuration Optimizer"
|
|
||||||
- Updated handler function to call `php-optimizer.sh`
|
|
||||||
- Shifted existing options 9-11 to 10-12
|
|
||||||
- Validated syntax with `bash -n`
|
|
||||||
|
|
||||||
### Git Commits
|
|
||||||
|
|
||||||
1. **Phase 1**: Create lib/php-detector.sh (detection functions)
|
|
||||||
2. **Phase 2**: Create lib/php-analyzer.sh (analysis engine)
|
|
||||||
3. **Phase 3**: Create modules/performance/php-optimizer.sh (main script)
|
|
||||||
4. **Phase 4**: Implement backup/restore system with PHP-FPM restart
|
|
||||||
5. **Phase 5 & 6**: Implement apply/action menu with auto-backup and PHP-FPM restart
|
|
||||||
6. **Phase 7**: Integrate PHP Configuration Optimizer into main menu
|
|
||||||
|
|
||||||
**Note**: Removed AI attribution markers from commits per user instructions.
|
|
||||||
|
|
||||||
### Documentation Created
|
|
||||||
|
|
||||||
1. `PHP_OPTIMIZER_PLAN.md` - Initial planning document
|
|
||||||
2. `PHP_METRICS_COMPREHENSIVE.md` - Comprehensive metrics tracking
|
|
||||||
3. `PHP_CONFIG_LOCATIONS_COMPLETE.md` - Config file locations by panel
|
|
||||||
4. `SESSION_SUMMARY.md` - Session work summary
|
|
||||||
5. `PHP_OPTIMIZER_COMPLETE.md` - Completion documentation
|
|
||||||
6. `DEVELOPMENT_LOG.md` - This file (NEW!)
|
|
||||||
|
|
||||||
### Testing Status
|
|
||||||
- ✅ Syntax validation complete (all files pass `bash -n`)
|
|
||||||
- ✅ Logic validation complete (division-by-zero protection, error handling)
|
|
||||||
- ✅ Path resolution verified
|
|
||||||
- ✅ Menu integration tested
|
|
||||||
- ⏳ **Pending**: Live server testing with real domains
|
|
||||||
|
|
||||||
### Metrics Tracked
|
|
||||||
|
|
||||||
**Per-Domain PHP Settings**:
|
|
||||||
- `pm.max_children` - FPM process limit
|
|
||||||
- `pm.start_servers` - Initial processes
|
|
||||||
- `pm.min_spare_servers` - Minimum idle processes
|
|
||||||
- `pm.max_spare_servers` - Maximum idle processes
|
|
||||||
- `pm.max_requests` - Process recycling threshold
|
|
||||||
- `memory_limit` - PHP script memory cap
|
|
||||||
- `upload_max_filesize` - Upload size limit
|
|
||||||
- `post_max_size` - POST data limit
|
|
||||||
- `max_execution_time` - Script timeout
|
|
||||||
- `max_input_time` - Input parsing timeout
|
|
||||||
|
|
||||||
**OPcache Settings**:
|
|
||||||
- `opcache.memory_consumption` - OPcache memory allocation
|
|
||||||
- `opcache.interned_strings_buffer` - String storage buffer
|
|
||||||
- `opcache.max_accelerated_files` - Cached file limit
|
|
||||||
- `opcache.enable` - OPcache on/off
|
|
||||||
- `opcache.revalidate_freq` - Cache validation frequency
|
|
||||||
|
|
||||||
**Performance Metrics**:
|
|
||||||
- OPcache hit rate (hits / (hits + misses))
|
|
||||||
- max_children error frequency (7-day history)
|
|
||||||
- Active PHP-FPM processes
|
|
||||||
- Memory consumption per process
|
|
||||||
- Process manager type (static/dynamic/ondemand)
|
|
||||||
|
|
||||||
### File Statistics
|
|
||||||
|
|
||||||
**Total Lines of Code**: 2,960 lines
|
|
||||||
- lib/php-detector.sh: 428 lines
|
|
||||||
- lib/php-analyzer.sh: 940 lines
|
|
||||||
- lib/php-config-manager.sh: 509 lines
|
|
||||||
- modules/performance/php-optimizer.sh: 1,083 lines
|
|
||||||
|
|
||||||
**Total Functions**: 45 exported functions
|
|
||||||
- php-detector.sh: 17 functions
|
|
||||||
- php-analyzer.sh: 14 functions
|
|
||||||
- php-config-manager.sh: 14 functions
|
|
||||||
|
|
||||||
### Future Enhancements (Planned)
|
|
||||||
|
|
||||||
1. **MySQL Config Optimizer** - Similar system for MySQL/MariaDB tuning
|
|
||||||
2. **Redis/Memcached Setup** - Object caching setup scripts
|
|
||||||
3. **Apache/Nginx Optimizer** - Web server tuning (revisit later)
|
|
||||||
|
|
||||||
**Not Planned**:
|
|
||||||
- CDN integration (user declined)
|
|
||||||
- SSL/TLS optimizer (user declined)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## November 21-30, 2025: (Previous Work - Need to Fill In)
|
|
||||||
|
|
||||||
**TODO**: Document all work from November 21-30 including:
|
|
||||||
- enable-cphulk.sh bug fixes (6 bugs fixed)
|
|
||||||
- live-attack-monitor color code fixes
|
|
||||||
- SCRIPT_DIR path calculation fixes
|
|
||||||
- bot-analyzer optimizations
|
|
||||||
- Any other modules created or modified
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## November 20, 2025: (Last Documented Work)
|
|
||||||
|
|
||||||
**TODO**: Pull from previous documentation what was done on this date.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Development Guidelines
|
|
||||||
|
|
||||||
### Git Commit Messages
|
|
||||||
- **NO AI attribution markers** (per user instructions as of Dec 3, 2025)
|
|
||||||
- Remove "🤖 Generated with Claude Code"
|
|
||||||
- Remove "Co-Authored-By: Claude <noreply@anthropic.com>"
|
|
||||||
- Use clear, descriptive commit messages
|
|
||||||
- Include technical details and impact
|
|
||||||
|
|
||||||
### Documentation Standards
|
|
||||||
- Update DEVELOPMENT_LOG.md with EVERY change
|
|
||||||
- Update README.md for user-facing features
|
|
||||||
- Create detailed docs/ files for complex features
|
|
||||||
- Track file statistics (lines, functions)
|
|
||||||
- Document all git commits
|
|
||||||
- Record testing status
|
|
||||||
|
|
||||||
### Code Standards
|
|
||||||
- Follow CODING_GUIDELINES.md
|
|
||||||
- Syntax validation with `bash -n` before commit
|
|
||||||
- Export all library functions
|
|
||||||
- Proper error handling and user confirmations
|
|
||||||
- No automatic changes without user approval
|
|
||||||
- Graceful service reloads (not restarts)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Last Updated**: 2025-12-03 21:45 UTC
|
|
||||||
**Next Update**: After next development session
|
|
||||||
Reference in New Issue
Block a user