https://github.com/ernivani/my-code-activity-ext
VS Code extension that automatically tracks coding activity and commits to GitHub, helping developers maintain an accurate record of their coding sessions.
https://github.com/ernivani/my-code-activity-ext
automation coding-activity developer-tools github-api productivity time-tracking typescript vscode-extension
Last synced: 3 months ago
JSON representation
VS Code extension that automatically tracks coding activity and commits to GitHub, helping developers maintain an accurate record of their coding sessions.
- Host: GitHub
- URL: https://github.com/ernivani/my-code-activity-ext
- Owner: ernivani
- License: mit
- Created: 2024-12-25T01:10:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-03T19:27:44.000Z (about 1 year ago)
- Last Synced: 2025-01-03T19:40:28.160Z (about 1 year ago)
- Topics: automation, coding-activity, developer-tools, github-api, productivity, time-tracking, typescript, vscode-extension
- Language: TypeScript
- Homepage:
- Size: 103 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# My Code Activity Extension
[](https://marketplace.visualstudio.com/items?itemName=ernicani.my-code-activity-ext)
[](https://marketplace.visualstudio.com/items?itemName=ernicani.my-code-activity-ext)
[](https://marketplace.visualstudio.com/items?itemName=ernicani.my-code-activity-ext)
Track your coding activity automatically and build a comprehensive history of your development journey. This VS Code extension seamlessly records your coding sessions and commits them to a GitHub repository, helping you maintain a detailed log of your programming activities.
## ✨ Key Features
- **🔄 Enhanced Activity Tracking**
- Smart change detection and consolidation
- Function-level modification tracking
- Intelligent duplicate filtering
- Language-aware code analysis
- Automatic commit generation
- **📊 Interactive Dashboard**
- Real-time activity visualization
- Daily/Weekly/Monthly views
- Project distribution charts
- Language usage breakdown
- Activity heatmaps
- Dark/Light theme support
- **🤖 AI-Powered Insights**
- Generate meaningful commit messages using AI
- Local LLM support via Ollama for privacy
- Context-aware messages based on code changes
- Function-level change detection
- Smart change consolidation
- **🔐 Secure & Private**
- Secure GitHub authentication
- Support for custom Git repositories
- Support for GitHub Enterprise
- Full control over your data
- Local data processing
- **⚡ Developer Experience**
- One-click GitHub sign-in
- Automatic change tracking
- Real-time statistics
- Customizable settings
- Minimal setup needed
## 🚀 Visual Analytics Dashboard
The extension now includes a powerful web-based dashboard for visualizing your coding activity. Access it by:
1. Clicking the "Code Tracking" status bar item in VS Code
2. Using the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and searching for "Code Activity: Open Dashboard"
3. The dashboard will open in your default browser at `http://localhost:3000`
### 📊 Interactive Analytics
- Real-time activity tracking with daily/weekly/monthly views
- Project distribution visualization with doughnut charts
- Language usage breakdown with time percentages
- Hourly activity heatmap showing peak coding times
### 🌈 Dashboard Features
- Modern, GitHub-inspired interface
- Dark/Light theme support matching VS Code preferences
- Responsive design for all screen sizes
- Real-time data updates
- Export capabilities (coming soon)
### 📈 Available Charts
- Activity timeline with trend analysis
- Project distribution pie charts
- Language usage breakdown
- Hourly activity heatmap
- Detailed statistics cards
## 🔐 Authentication Options
The extension now supports two authentication methods:
### 1. GitHub Authentication
1. Open the Command Palette
2. Run "Code Activity: Sign in with GitHub"
3. Follow the browser authentication flow
4. Your activity will be tracked to a private GitHub repository
### 2. Custom Token & Repository
1. Set up your custom Git repository
2. Open VS Code settings
3. Configure `codeTracker.customRemoteUrl` with your repository URL
4. Run "Code Activity: Set Custom Token" from the Command Palette
5. Enter your Git access token
6. The extension will use your custom repository for tracking
## 🚀 Example Usage
Here's an example of the enhanced activity summary that gets generated:
# Activity Summary
## Overall Statistics
| Stat | Value |
| ---------------------- | ------------------------------------ |
| **Lines Added** (➕) | 3,847 |
| **Lines Removed** (➖) | 1,256 |
| **Net Change** (↕) | +2,591 |
| **Active Time** (⌚) | 6 hours 45 minutes |
| **Functions Modified** | 24 |
| **Languages Used** | TypeScript, SCSS, SVG |
## Code Changes
### Modified Files
- **src/features/dashboard/components/AnalyticsChart.tsx** (+856, -234)
- Functions: updateChartData, calculateMetrics
- **src/api/activityTracker.ts** (+745, -122)
- Functions: trackChanges, aggregateStats
- **src/hooks/useActivityMetrics.ts** (+523, -89)
- Functions: useMetrics, processData
## Visualizations
### By File Type (Lines Changed)
```mermaid
pie showData
title Lines changed by file type
".tsx" : 1090
".ts" : 2147
".scss" : 523
".svg" : 254
".md" : 323
".json" : 343
```
### By Hour (Activity Heatmap)
```mermaid
pie showData
title Coding activity by hour (count of changes)
"09h" : 450
"10h" : 785
"11h" : 923
"13h" : 654
"14h" : 589
"15h" : 446
```
## 🚀 Getting Started
1. Install the extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=ernicani.my-code-activity-ext)
2. Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
3. Run `Sign in with GitHub` to authenticate
4. Start coding! The extension will automatically track your activity
## ⚙️ Configuration
Access settings through VS Code's settings (Ctrl+,):
\`\`\`json
{
// Minutes between activity commits
"codeTracker.commitInterval": 5,
// Custom Git repository URL (for non-GitHub tracking)
"codeTracker.customRemoteUrl": "https://your-git-server.com/user/repo.git",
// Git branch name for tracking data
"codeTracker.branchName": "main",
// Enable AI-generated commit messages
"codeTracker.enableAiCommits": false,
// Ollama server URL
"codeTracker.ollamaUrl": "localhost:11434",
// Ollama model for commit messages
"codeTracker.ollamaModel": "codellama"
}
\`\`\`
### AI Commit Messages
The extension can generate meaningful commit messages using AI:
1. Install [Ollama](https://ollama.ai/) on your system
2. Pull the codellama model: `ollama pull codellama`
3. Enable AI commits in VS Code settings
4. The extension will now generate context-aware commit messages
Example AI-generated commit message:
\`\`\`
feat(tracking): update dashboard components and analytics
- Modified functions: updateChartData, calculateMetrics
- Files: AnalyticsChart.tsx, activityTracker.ts
- Activity duration: 15 minutes
- Function changes: 2 added, 1 modified
\`\`\`
## 📊 Enhanced Tracking Details
The extension now tracks:
- **Code Changes**
- Lines added/removed
- Function-level modifications
- Language-specific changes
- Project context
- **Time Analytics**
- Active coding time
- Time per project
- Peak activity hours
- Language usage time
- **Project Metrics**
- Project-specific statistics
- Language distribution
- Most modified files
- Function change frequency
## 🔧 System Requirements
- VS Code 1.75.0 or higher
- Git installed on your system
- GitHub account (or custom Git repository)
- Internet connection for syncing
- Ollama (optional, for AI commit messages)
## 🤝 Contributing
We welcome contributions! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) guide for details on:
- Development setup and workflow
- Code style guidelines
- Pull request process
- Testing requirements
- Available scripts and commands
- Extension configuration
- Community guidelines
Before contributing:
1. Fork and clone the repository
2. Install dependencies: `npm install`
3. Create a feature branch
4. Make your changes following our guidelines
5. Submit a pull request
For detailed instructions, see [CONTRIBUTING.md](CONTRIBUTING.md).
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🔗 Links
- [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=ernicani.my-code-activity-ext)
- [GitHub Repository](https://github.com/ernivani/my-code-activity-ext)
- [Issue Tracker](https://github.com/ernivani/my-code-activity-ext/issues)
---
**Note**: Your activity data is stored in a Git repository that you control. The extension never shares your coding activity without your explicit permission.