- ๐จ Beautiful Visual Display - GitHub-style contribution graph right on your desktop
- ๐ Dark/Light Themes - Switch between themes to match your preference
- ๐ง Minimal Configuration - Just add your GitHub username and token
- ๐ฑ Always Accessible - System tray integration for quick access
- ๐ฑ๏ธ Draggable Window - Position it anywhere on your screen
- ๐พ Persistent Settings - Your preferences are saved automatically
- ๐ Offline Detection - Smart handling of online/offline states
- ๐ Real-time Updates - Fetches the latest contribution data
- Go to the Releases page
- Download the appropriate version for your system:
- Linux:
.debor.AppImage
- Linux:
# Clone the repository
git clone https://github.com/mohammad-hassani/github-contributions.git
cd github-contributions
# Install dependencies
npm install
# Run the application
npm start- Right-click on the app window and select "Settings"
- Enter your GitHub username
- Create a GitHub Personal Access Token:
- Go to GitHub Settings > Developer settings > Personal access tokens
- Click "Generate new token (classic)"
- No scopes needed - just create a simple token
- Copy and paste the token into the app
- Choose your preferred theme (Light/Dark)
- Click Save
The app displays your contribution graph in a compact, draggable window.
- Right-click anywhere on the app to open the context menu
- Left-click and drag to move the window around
- System tray icon - Click to show/hide the app
- Settings panel - Configure username, token, and theme
- Open - Show and focus the app window
- Settings - Open the configuration panel
- Close - Exit the application
- Node.js (v16 or higher)
- npm or yarn
# Clone the repository
git clone https://github.com/mohammad-hassani/github-contributions.git
cd github-contributions
# Install dependencies
npm install
# Run in development mode
npm start# Build for Linux
npm run build
# Build specific formats
npm run build:deb # Linux .deb package
npm run build:appimage # Linux .AppImage
npm run release # Build and publish to GitHubgithub-contributions/
โโโ main.js # Electron main process
โโโ renderer.js # Frontend logic and API calls
โโโ index.html # UI structure and styling
โโโ icon.png # Application icon
โโโ package.json # Dependencies and build config
โโโ README.md # This file
The app requires a GitHub Personal Access Token for API access:
- Visit GitHub Settings > Tokens
- Click "Generate new token (classic)"
- Give it a descriptive name (e.g., "Contributions Tracker")
- No scopes required - the app only needs public access
- Click "Generate token"
- Copy the token and paste it in the app settings
- Settings are stored locally using
localStorage - Window position and size are automatically saved
- All data remains on your local machine
Q: App shows "No contribution data found"
- Verify your GitHub username is correct
- Ensure your token is valid and not expired
- Check your internet connection
Q: App window disappears
- Check the system tray for the app icon
- Right-click the tray icon and select "Open"
Q: Token authentication fails
- Generate a new token from GitHub settings
- Ensure no extra spaces when pasting the token
- Verify the token hasn't expired
Q: App won't start
- Try running with
--no-sandboxflag:electron . --no-sandbox - Ensure you have proper display server permissions (Linux)
- Check that Node.js and Electron dependencies are properly installed
To enable debug logging:
- Open developer tools with
F12(if enabled) - Check the browser console for API responses and errors
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and test thoroughly
- Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature-name - Open a Pull Request
- Add contribution streak counter
- Support for multiple GitHub accounts
- Customizable color themes
- Export contribution data
- Notification for new contributions
- Integration with GitHub Actions
This project is licensed under the ISC License - see the LICENSE file for details.
- Electron - Cross-platform desktop app framework
- GitHub GraphQL API - For fetching contribution data
- The open-source community for inspiration and tools
If you encounter any issues or have suggestions:
- ๐ Report a bug
- ๐ก Request a feature
- ๐ง Email: hasani9821.mh@gmail.com
Made with โค๏ธ by Mohammad Hassani
โญ Star this repo if it helped you track your GitHub journey!