Make GitHub's homepage actually usable. Pin your most-used repos, customize the sidebar, and stop wasting time navigating.
Built with plain HTML, CSS, and JavaScript. No frameworks, no auth, no bullshit.
- ✅ Pin repositories to the sidebar
- ✅ Quick access with one click
- ✅ Simple edit modal
- ✅ Uses GitHub's native styling
- ✅ Works on any browser (Chrome, Firefox, Edge, etc.)
This is for personal use - just load it unpacked.
git clone https://github.com/haydencassar/github-ui-extension.git
cd github-ui-extension
npm install
npm run buildChrome/Edge:
- Go to
chrome://extensions/(oredge://extensions/) - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the
dist/chrome-mv3folder
Firefox:
- Go to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select any file in the
dist/firefox-mv2folder
- Go to github.com
- Look for "📌 Pinned Repositories" in the left sidebar
- Click "Edit" and add repos like:
facebook/react,microsoft/vscode - Done!
git pull
npm run build
# Reload extension in browsernpm run dev # Chrome with hot reload
npm run dev:firefox # Firefox with hot reload- CLI message bus for local process integration
- Project grouping
- Drag-and-drop reordering
- Integration with coding agents
- Framework: WXT - Cross-platform web extension framework
- Languages: Plain JavaScript, HTML, CSS
- Storage: Browser Storage API
- No dependencies, no auth, no tracking
MIT - Do whatever you want with it.
Built out of frustration with GitHub's UI. Open source because why not.
- Visit GitHub.com - The extension only activates on GitHub pages
- Look for the "📌 Pinned Repositories" section in the left sidebar
- Click "Edit" to add repositories in the format:
owner/repo(e.g.,facebook/react) - Save - Your pinned repos will appear and persist across sessions
The extension is built with WXT, a modern web extension framework that provides:
- ✅ Cross-browser compatibility (Chrome, Firefox, Edge, etc.)
- ✅ TypeScript support
- ✅ Hot reload during development
- ✅ Optimized builds
github-ui-extension/
├── entrypoints/
│ ├── content.ts # Main content script (UI injection)
│ └── background.ts # Background service worker (future message bus)
├── public/ # Static assets (icons, etc.)
├── wxt.config.ts # WXT configuration
├── package.json
└── README.md
The extension is designed to support a local message bus for CLI integration:
┌─────────────────────┐
│ Chrome Extension │
│ (UI Layer) │
└──────────┬──────────┘
│
│ Message Bus (WebSocket/Native Messaging)
│
┌──────────┴──────────┐
│ Local CLI Process │
│ (Node.js Service) │
└──────────┬──────────┘
│
├─── GitHub CLI (gh)
├─── Git Operations
└─── AI Coding Agents
This will enable:
- Programmatic repo management via CLI
- Real-time updates from git operations
- Integration with coding agents (GitHub Copilot, etc.)
- Automated workflow triggers
- Framework: WXT - Next-gen web extension framework
- Language: TypeScript
- Storage: Chrome Storage API
- Styling: Inline styles using GitHub's CSS variables
# Chrome
npm run build
npm run zip
# Firefox
npm run build:firefox
npm run zip:firefox- Keep it simple and readable
- Use TypeScript for type safety
- Follow GitHub's design patterns
- Minimal dependencies
Contributions welcome! This is an open-source project built to make GitHub better for everyone.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- ✅ Open Source: All code is public and auditable
- ✅ No Data Collection: Zero analytics or tracking
- ✅ Local Storage Only: All data stays in your browser
- ✅ Minimal Permissions: Only requests necessary GitHub access
- ✅ No External Servers: Everything runs locally
MIT License - See LICENSE file for details
- Project grouping functionality
- Drag-and-drop reordering
- Custom icons/colors per repo
- Local WebSocket server
- GitHub CLI integration
- Command-line repo management
- Coding agent message bus
- Real-time git status
- Branch/PR indicators
- Chrome Web Store publication
- Firefox Add-ons publication
- Full documentation
- Video tutorials
Found a bug? Have a feature request?
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with frustration and coffee ☕ because GitHub's default UI needed some love.
Made by developers, for developers. Let's make GitHub usable again! 🚀