🕌 CodeTune - Islamic Coding Companion for VS Code
Islamic Coding Companion
CodeTune transforms your VS Code into a spiritual coding environment, providing authentic Islamic content and reminders that help maintain faith and focus during development sessions.
✨ Smart Islamic Integration Features
🤖 Intelligent Islamic Reminders System
- 🧠 Context-Aware Content: Smart scheduling based on prayer times with Morning/Evening Azkar
- 📿 Authentic Islamic Content: 500+ verified Adia, Hadis, and Quranic wisdom texts
- ⏰ Time-Based Spirituality: Automatically shows appropriate content during Islamic prayer periods
- 🎯 Personalized Experience: Customizable intervals (5min to 4hrs) with working hours filter
- 🌅🌆 Seasonal Azkar: Traditional morning (Fajr-Sunrise) and evening (Asr-Maghrib) invocations
🕌 Advanced Islamic Calendar & Prayer System
- 📅 Live Hijri Date: Real-time Islamic calendar with Arabic numerals display
- ⏰ Smart Prayer Countdown: Precise astronomical calculations for next prayer timing
- 🌍 Location-Aware: Automatic timezone detection with Mecca-based calculations
- 🔔 Prayer Notifications: Optional alerts at prayer times (respects working hours setting)
🎯 Advanced Islamic Reminders
- Morning Azkar: Authenticated supplications shown after Fajr until sunrise (Fajr - Isha prayer time)
- Evening Azkar: Traditional invocations displayed after Asr until Maghrib (Asr - Maghrib prayer time)
- Time-Based Content: Intelligent system shows appropriate azkar only during Islamic prayer periods
- Multiple Content Types: Islamic prayers (Adia), Hadis, Quranic wisdom, Morning & Evening Azkar
- Smart Scheduling: Working hours restriction + time-aware reminders
🎵 Premium Quran Experience
- 15+ High-Quality Reciters:
- ⭐ Mishary Rashid Alafasy (Default - Premium voice quality)
- ⭐ Abdul Rahman Al-Sudais (Grand Mosque Imam)
- ⭐ Abdul Basit Abdul Samad (Legendary, standard of excellence)
- ⭐ Mahmoud Khalil Al-Hussary (Classical style, multiple variations)
- ⭐ Muhammad Siddiq Al-Minshawy (Beautiful recitation styles)
- ⭐ Maher Al Muaiqly (Lively and energetic)
- ⭐ Ali bin Abdulrahman Al-Hudhaify (Spiritual depth)
- ⭐ Saood bin Ibraaheem Ash-Shuraym (Modern clarity)
- ⭐ Ahmed Ibn Ali Al-Ajamy (Traditional precision)
- ⭐ Muhammad Ayyoub (Contemplative style)
- Abdullah Basfar, Abu Bakr Ash-Shatri, Hani Ar-Rifai, Ibrahim Akhdar
🎨 Smart Settings System
- Activity Bar Integration: Settings appear directly in VS Code activity bar
- Auto-Save Technology: Back button automatically saves - no separate "Save" button needed
- Settings Migration: Old preferences automatically upgraded to new format
- Persistent Preferences: All settings survive VS Code restarts
- Visual Confirmation: Success notifications for all configuration changes
📅 Islamic Calendar & Prayer Times
- Real-time Updates: Prayer countdown updates every second
- Accurate Calculations: Astronomical prayer time calculations for Mecca coordinates
- Hijri Date: Current Islamic date with Arabic numerals
- Smart Notifications: Prayer time alerts with appropriate Islamic context
🎛️ Professional Audio Experience
- Crystal-Clear Streaming: Direct CDN integration with optimized audio quality
- Independent Volume Control: Separate from VS Code system volume
- Immediate Audio Switching: Change reciters instantly during playback
- Complete Surah Access: All 114 Surahs available with instant streaming
📊 Quran Listening Statistics
- Real-Time Tracking: Automatic counting of listening sessions (only actual playback)
- Comprehensive Metrics: Total sessions, daily, weekly, and monthly statistics
- Beautiful Visual Display: Purple-themed statistics card with responsive design
- Persistent Data: Statistics survive VS Code restarts and extension updates
- Reset Functionality: Optional reset with confirmation dialog
- Smart Date Tracking: Intelligent daily/weekly/monthly calculation
🤖 Smart Auto-Reading Quran Reader ⭐ NEW
- 🚀 Auto-Page Turner: Intelligent system automatically advances to next page when scrolling reaches bottom
- ⚡ Multi-Speed Reading: Four reading speeds - Slow (0.5x), Normal (1x), Fast (1.5x), Very Fast (2x)
- 📖 Auto-Surah Progression: Automatically advances to next Surah after completion
- 🛡️ User Consent Protection: Prompts for confirmation before advancing to different Surahs
- 🎮 Interactive Controls: Play/Pause toggle with animated button and speed selection
- 🔄 Cross-Session Continuity: Remembers reading position and speed preferences
- ⌨️ Keyboard Integration: Spacebar toggles auto-reading, full keyboard navigation support
🎊 Intelligent Welcome Experience
- 🎯 Smart First-Time Setup: Intelligent welcome panel shown to first-time users
- ⏰ Timed Display: Welcome message appears for first 3 days and maximum 3 shows
- 🎨 Beautiful Onboarding: Guided introduction to Islamic features and settings
- 🌍 Localized Content: Welcome experience adapts to user's language preference
- ⚙️ Quick Access: Direct links to settings and external resources from welcome panel
🚀 Installation
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "CodeTune"
- Click Install
- Reload VS Code if prompted
- Activity Bar: Look for the 🕌 Islamic Information panel
📖 Usage
🕌 Activity Bar Islamic Information
🕌 Islamic Information
├── Hijri Date: 10 Rabi' al-thani 1447 AH
├── Next Prayer: Fajr in 01:32:15
└── Quran Player Ready
Click the 🕌 Islamic Information card to:
- View Islamic Date: Real-time Hijri calendar date
- Prayer Countdown: Live countdown to next prayer (updates every second)
- Prayer Alerts: Visual notifications at prayer times
- Open Quran Player: Immediate access to Islamic audio content
📿 Advanced Islamic Reminders System
Receive intelligent, time-aware spiritual reminders:
☀️ Morning Azkar (Fajr - Sunrise)
🌅 Morning Azkar
"سبِّحِ اسمَ رَبِّكَ الأعلى"
"Glory be to the name of your Lord, the Most High"
Source: Surah Al-A'la, Verse 1
- Timing: Automatically displayed after Fajr prayer until sunrise
- Content: 5 authenticated morning supplications for spiritual awakening
- Arabic + English: Live translations while you code
🌆 Evening Azkar (Asr - Maghrib)
🌆 Evening Azkar
"الحَمْدُلِلَّهِ فِي السَّمَاءِ وَالأرْضِ"
"All praise is due to Allah in the heavens and the earth"
Source: Authentic Islamic tradition
- Timing: Automatically shown after Asr prayer until Maghrib
- Content: 5 traditional evening invocations for gratitude and reflection
- Spiritual Closure: Evening spiritual practice integrated into coding schedule
🕌 Regular Islamic Reminders
- Adia (Islamic Prayers): Authentic supplications from religious authorities
- Hadis: Teachings and sayings of Prophet Muhammad ﷺ
- Islamic Wisdom: Quranic verses and scholarly insights
- Interval Control: 5 minutes to 4 hours between spiritual moments
Example Islamic Reminder:
🕌 Islamic Wisdom
"Indeed, in the creation of the heavens and the earth..."
- Surah Al-Baqarah, Verse 164
Reflection: Consider the majesty of creation during your development work.
🎵 Premium Quran Player
Step-by-Step Usage:
- Access: Click the Islamic Information card or use Command Palette
- Browse Suwar: Scroll through all 114 Surahs of the Holy Quran
- Select Reciter: Choose from 15+ premium Islamic scholars and reciters
- Volume Control: Independent volume adjustment for Quran audio
- Instant Playback: Crystal-clear streaming begins immediately
Featured Reciters:
- ⭐ Mishary Rashid Alafasy: Youthful clarity, perfect articulation
- ⭐ Abdul Rahman Al-Sudais: Powerful Grand Mosque Imam voice
- ⭐ Abdul Basit Abdul Samad: Legendary precision and spiritual depth
- ⭐ Mahmoud Khalil Al-Hussary: Classical style with regular and mujawwad variations
- ⭐ Muhammad Siddiq Al-Minshawy: Beautiful traditional rhythm
- Plus 10 more premium reciters with unique spiritual qualities
Audio Features:
- Real-Time Volume: Independent Quran volume control
- Seek Functionality: Jump to any part of Surah
- Instant Switching: Change reciters mid-playback
- High-Quality Streaming: Optimized audio from global CDN
⚙️ Smart Settings System
Access Settings: Click the ⚙️ icon in the Islamic Information panel
Quran Settings Panel:
🎵 Quran Reciter Selection:
├── Mishary Rashid Alafasy ⭐
├── Abdul Rahman Al-Sudais ⭐
├── Abdul Basit Abdul Samad ⭐
├── Mahmoud Khalil Al-Hussary (regular/mujawwad)
├── Muhammad Siddiq Al-Minshawy (regular/mujawwad)
├── Maher Al Muaiqly ⭐
├── Ali bin Abdulrahman Al-Hudhaify ⭐
├── Saood bin Ibraaheem Ash-Shuraym ⭐
└── Plus 7 additional premium reciters
Islamic Reminders Settings:
- 📿 Enable Islamic Reminders: Master toggle for all spiritual content
- ⏰ Reminder Interval: 5 minutes to 4 hours between messages
- 🔄 Reminder Types:
- Adia (Islamic Prayers)
- Ahadis (Prophet's Sayings)
- Islamic Wisdom
- 🌅 Morning Azkar (Fajr-Sunrise) ⭐ NEW
- 🌆 Evening Azkar (Asr-Maghrib) ⭐ NEW
- ⏳ Working Hours Only: Restrict to typical work schedules
Auto-Save Technology:
- No Save Button Needed: Back button automatically commits changes
- Visual Confirmation: Success notifications for every setting change
- Cross-Session Persistence: Settings survive VS Code restarts
- Migration Support: Old configurations automatically upgraded
🎯 Commands & Shortcuts
| Command |
Shortcut |
Description |
codeTune.playQuran |
Ctrl+Shift+Q |
Start Quran recitation |
codeTune.stop |
Ctrl+Shift+S |
Stop current playback |
codeTune.openSettings |
Settings in activity bar |
Open Quran settings panel |
⌨️ Keyboard Navigation
- Space: Play/Pause audio
- Arrow Keys: Navigate between audio controls
- Escape: Close modal windows
- Ctrl+Arrow Up/Down: Volume adjustment
⚙️ Configuration
Islamic Reminders Settings
| Setting |
Description |
Default |
codeTune.enableReminders |
Enable Islamic spiritual reminders |
true |
codeTune.reminderInterval |
Time between reminders (minutes) |
30 |
codeTune.showAdia |
Display Islamic prayers |
true |
codeTune.showAhadis |
Show Prophet's teachings |
true |
codeTune.showWisdom |
Islamic wisdom content |
true |
codeTune.showMorningAzkar |
Morning invocations (NEW) |
true |
codeTune.showEveningAzkar |
Evening supplications (NEW) |
true |
codeTune.workingHoursOnly |
Business hours restriction |
false |
Quran Player Settings
| Setting |
Description |
Default |
quranPlayer.reciter |
Default Quran reciter selection |
ar.alafasy |
quranPlayer.volume |
Quran audio volume level |
70% |
Technical Details
Prayer Time Calculations
- Methodology: Astronomical calculations using simplified Islamic astronomical principles
- Reference Location: Mecca coordinates (21.3891°N, 39.8579°E)
- Update Frequency: Real-time countdown with 1-second precision
Islamic Calendar
- System: Traditional lunar Islamic calendar
- Display: "DD Arabic-Month YYYY AH" format
- Calculation: Approximate astronomical lunar cycles
Audio System
- Source: Global Islamic Network CDN (cdn.islamic.network)
- Formats: MP3 streaming with multiple quality options
- Codecs: Standard web-compatible audio formats
- Caching: Optimized streaming for smooth playback
🔧 Development
Prerequisites
- Node.js 16+ (latest LTS recommended)
- VS Code 1.74+
Setup & Building
Clone the repository
git clone https://github.com/kareem2099/codetune.git
cd codetune
Install dependencies
npm install
Compile TypeScript and assets
npm run compile
Bundle for production
npm run bundle
Package extension
npm run package
Project Architecture
src/
├── extension.ts Main extension activation & commands
├── file/
│ └── quranPlayer.ts Quran audio system & CDN integration
├── logic/
│ ├── islamicReminders.ts Advanced reminder scheduling system
│ ├── activityBarView.ts VS Code activity bar integration
│ └── islamicCalendar.ts Prayer times & Hijri calculations
└── ui/
├── activityBar.html/js Main Islamic interface
├── settingsActivityBar.html/js Integrated settings panel
└── localization.js Arabic/English translation system
Backend Services & APIs
- Prayer Time API: Custom server with Aladhan API integration for accurate prayer calculations
- Hijri Calendar API: Islamic calendar services with timezone support
- Location Intelligence: Automatic timezone detection and location-based prayer times
- Caching Layer: Optimized API responses with intelligent caching
CDN Dependencies
- Quran Audio: Islamic Network CDN (cdn.islamic.network)
- Quran API: AlQuran Cloud API for metadata and text content
- Prayer Data: Aladhan API for prayers and Islamic calendar
🐛 Troubleshooting
Quran Reciter Not Changing
Issue: Audio still plays with same reciter after selection
Solution: Settings are now automatically saved. Restart VS Code or check for extension updates.
Islamic Reminders Not Appearing
Issue: No spiritual content during coding sessions
Solutions:
- Enable reminders in settings panel
- Set appropriate reminder interval (5-240 minutes)
- Verify content types are selected (Adia, Hadis, Wisdom, Morning/Evening Azkar)
- Check if working hours restriction is enabled
Prayer Times Inaccurate
Issue: Timing doesn't match local prayer times
Solutions:
- Extension uses Mecca coordinates for consistency
- Verify system timezone settings
- Prayer calculations are astronomical (not accounting for daylight saving)
Audio Not Playing
Issue: No sound or "Failed to load" errors
Solutions:
- Ensure internet connection for streaming
- Check Quran player volume settings
- Try different reciter selection
- Restart VS Code if persistent
Settings Not Saving
Issue: Configuration resets when reopening settings
Solutions:
- Use back button - automatically saves
- Check for console errors in Developer Tools
- Reset extension settings if persistent
🤝 Contributing
We welcome contributions that enhance the Islamic coding experience:
- Fork & Create Feature Branch
- Follow Islamic Guidelines: Ensure content authenticity and appropriateness
- Add Comprehensive Tests: For audio, reminders, and UI features
- Update Documentation: Keep README and CHANGELOG current
- Submit Pull Request: Clear description of spiritual/enhancement value
Contribution Areas
- 🕌 Islamic Content: Authentic additions to morning/evening azkar
- 🎵 Audio Features: Enhanced Quran player capabilities
- 🌍 Localization: New languages and Islamic dialects
- 🎨 UI/UX: Improved Islamic-themed interfaces
🏗️ Version History
Version 0.0.4 - Complete System Rewrite 🚀
- 🎵 Premium Quran Player: 15+ world-class reciters with instant switching
- ⚙️ Activity Bar Settings: Full settings integration (no separate windows)
- 🌅🌆 Time-Based Azkar: Morning (Fajr-Sunrise) & Evening (Asr-Maghrib) spiritual sessions
- 🔄 Auto-Save Technology: Back button automatically commits all settings
- 🎯 Settings Migration: Legacy configurations automatically upgraded
- � Independent Volume Control: Dedicated Quran audio adjustments
Version 0.0.3 - Islamic Reminders System
- Basic Islamic reminders framework
- Prayer time calculations
- Hijri date display
- Foundation for advanced features
Version 0.0.2 - Core Architecture
- VS Code activity bar integration
- Basic Quran player foundation
- Settings infrastructure
- Localization framework
Version 0.0.1 - Initial Release
- Basic extension structure
- Hello world functionality
- Development environment setup
📊 Performance Metrics
- Memory Usage: <50MB average during operation
- Bundle Size: <2MB production build
- Audio Streaming: Optimized CDN integration
- UI Responsiveness: <100ms interaction response
- Startup Time: <5 seconds cold start
📞 Support & Community
Getting Help
- Troubleshooting Guide: Check this README's troubleshooting section
- Islamic Content Verification: All spiritual content sourced from authenticated Islamic authorities
- GitHub Issues: Detailed bug reports with VS Code version and console logs
- Performance Issues: Include Developer Tools profiling data
Islamic Authentication
- Content Sources: Quranic verses, authentic Hadis collections
- Scholarly Review: Morning/Evening Azkar from traditional Islamic sources
- Cultural Respect: Designed with Muslim developers' needs in mind
Development Support
- Extension API Documentation: Standard VS Code extension development
- Audio CDN Integration: Islamic Network standards
- Prayer Time Calculations: Astronomical Islamic principles
📝 License & Attribution
License: MIT License (commercial and personal use permitted)
Religious Attribution:
- All Islamic content sourced from authentic Islamic authorities
- Reciters credited with proper Islamic scholarly recognition
- Developed with respect for Islamic principles and values
🙏 Spiritual Acknowledgment
"And whoever fears Allah -
He will make for him a way out and will provide for him from where he does not expect."
Surah At-Talaq, Verse 2-3
May this extension help you maintain faith, focus, and productivity in your development journey.
Developed with ❤️ for the global Muslim developer community
[🕌 Allahu Akbar - Allah is the Greatest]