TaskClock AI
 
 
 
 

TaskClock AI is an advanced VSCode extension for intelligent time tracking and project management. Track your active work time, manage costs, and boost productivity with automatic project detection and comprehensive reporting.
✨ Features
� eCore Time Tracking**
- ⚡ Automatic Project Detection: Instantly detects and switches between projects
- 🕒 Smart Time Tracking: Tracks only active work time, ignores idle periods
- 🔄 Auto Start/Stop: Automatically starts/stops timers when opening/closing projects
- ⏸️ Idle Detection: Auto-pauses during inactivity, resumes when you return
- 📊 Real-time Updates: Live timer display in status bar and sidebar
💰 Advanced Cost Management
- 💵 Multi-Currency Support: 11 currencies including USD, EUR, GBP, JPY, IRR, IRT
- 🇮🇷 Iranian Currency Support: Full support for Rial (﷼) and Toman (تومان)
- 📈 Real-time Cost Calculation: See earnings as you work
- 💼 Project-based Rates: Set different hourly rates for each project
- 🎯 Session Cost Tracking: Track cost for current work session
🎨 Modern User Interface
- 📱 Beautiful Sidebar: Clean, modern project list with real-time updates
- 📊 Status Bar Integration: Live timer and cost display
- 🎯 Smart Project Management: Visual indicators for active/inactive projects
- 💰 One-click Rate Setting: Easy hourly rate configuration
- 🔔 Smart Notifications: Contextual feedback and confirmations
🛡️ Enterprise-grade Reliability
- 💾 Atomic Data Storage: Crash-safe data persistence
- 🔄 Automatic Backups: Multiple backup layers for data protection
- 📦 Data Migration: Seamless upgrades with version management
- 🔍 Data Validation: Built-in corruption detection and recovery
- ⚡ Performance Optimized: Minimal resource usage
🚀 Quick Start
Installation
- Download the latest .vsixfile from Releases
- Open VSCode → Extensions (Ctrl+Shift+X)
- Click ...→ Install from VSIX...
- Select the downloaded file
First Use
- Open a project - TaskClock automatically detects it
- Set hourly rate - Click 💰 button in sidebar
- Start tracking - Timer starts automatically or click Start
- Monitor progress - Watch real-time cost in status bar
📖 Usage Guide
🎯 Automatic Mode (Recommended)
- Auto-detection: Projects detected automatically when opened
- Smart switching: Seamlessly switches between projects
- Idle handling: Auto-pauses during breaks, resumes when back
👤 Manual Mode
- Full control: Start/stop timers manually
- Project selection: Choose which projects to track
- Override automation: Take control when needed
💰 Cost Tracking
Set Hourly Rate:
1. Click 💰 button next to project
2. Enter rate (e.g., 50 for $50/hour or 500000 for 500,000 Rial)
3. Select currency (USD, EUR, IRR, IRT, etc.)
4. Watch real-time earnings in status bar!
📊 Supported Currencies
| Currency | Symbol | Example Display | 
| USD | $ | $125.50 | 
| EUR | € | €98.75 | 
| GBP | £ | £87.25 | 
| IRR (Rial) | ﷼ | ۱۲۵٬۰۰۰ ﷼ | 
| IRT (Toman) | تومان | ۱۲٬۵۰۰ تومان | 
| JPY | ¥ | ¥12550 | 
| And 5 more... |  |  | 
🎮 Commands
| Command | Shortcut | Description | 
| TaskClock: Start Timer | - | Start tracking current project | 
| TaskClock: Stop Timer | - | Stop active timer | 
| TaskClock: Set Hourly Rate | - | Configure project hourly rate | 
| TaskClock: Show Cost Stats | - | View cost statistics | 
| TaskClock: Toggle Auto-tracking | - | Switch between auto/manual mode | 
| TaskClock: Open Sidebar | - | Open TaskClock sidebar | 
🏗️ Architecture
Core Components
- TimerManager: Session-based time tracking with state management
- ProjectDetector: Intelligent project detection and monitoring
- CostTracker: Multi-currency cost calculation engine
- StorageManager: Enterprise-grade data persistence
- ActivityMonitor: Smart idle detection and auto-pause
Data Flow
Project Detection → Timer Management → Cost Calculation → UI Updates → Data Storage
🔧 Configuration
Settings (via Command Palette)
- Auto-tracking Mode: Enable/disable automatic project detection
- Idle Timeout: Configure inactivity detection (default: 10 minutes)
- Default Currency: Set preferred currency for new projects
- Notifications: Control extension notifications
Manual Configuration
Settings are stored in your workspace and automatically synchronized.
📊 What's New in v1.0.0
✨ Major Features
- 🚀 Complete rewrite with modern architecture
- 💰 Advanced cost tracking with 11 currencies
- 🇮🇷 Full Iranian Rial/Toman support with Persian numerals
- ⚡ Automatic project detection and switching
- 🛡️ Enterprise-grade data reliability
- 🎨 Modern, responsive UI design
🔧 Technical Improvements
- 📦 Atomic data operations with automatic backups
- 🔄 Seamless data migration system
- ⚡ Optimized performance and memory usage
- 🧪 Comprehensive error handling and recovery
- 📱 Real-time UI updates with event-driven architecture
🛠️ Development
Setup
git clone https://github.com/masoudv/TaskClockAI.git
cd TaskClockAI
npm install
Testing
# Run extension in development mode
code . 
# Press F5 to launch Extension Development Host
Building
# Package extension
vsce package
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
Areas for Contribution
- 🌍 Additional currency support
- 📊 Advanced reporting features
- 🎨 UI/UX improvements
- 🧪 Test coverage expansion
- 📚 Documentation improvements
📈 Roadmap
🎯 Next Release (v1.1.0)
- 📊 Advanced reporting and analytics
- 📤 Data export (CSV, JSON, PDF)
- 🎨 Customizable UI themes
- 📱 Better mobile workspace support
🚀 Future Releases
- 🤖 AI-powered time estimation
- ☁️ Cloud synchronization
- 👥 Team collaboration features
- 📊 Advanced analytics dashboard
🐛 Known Issues
- Temp directories (like .vite/deps_temp_*) are now properly filtered
- Cost display requires hourly rate to be set per project
- Some edge cases with multi-workspace setups (being addressed)
📄 License
MIT License - see LICENSE file for details.
👨💻 Author
Masoud Vatankhah
⭐ Support
If you find TaskClock AI helpful, please:
- ⭐ Star this repository
- 🐛 Report issues on GitHub Issues
- 💡 Suggest features via Discussions
- 📢 Share with fellow developers