🇬🇧 English | 🇻🇳 Tiếng Việt | 🇯🇵 日本語
A cross-browser extension (Chrome & Firefox) that enhances GitHub's interface with productivity features.
- Wide Layout - Expands GitHub to full viewport width
- Table Expand - Expandable tables with persistent state
- Image Lightbox - Click images to view in fullscreen overlay
- GIF Picker - Insert GIFs in comments and issues
- Sidebar Toggle - Hide/show sidebar with button or
Alt+Mshortcut - Edit History - Enhanced diff viewer with split/unified/preview modes for comment edits
Install directly from the Chrome Web Store.
Install directly from Firefox Add-ons.
git clone https://github.com/lamngockhuong/github-flex.git
cd github-flex
pnpm install
pnpm buildThen load in your browser:
Chrome:
- Open
chrome://extensions/ - Enable Developer mode (top right)
- Click Load unpacked
- Select the
dist/chrome/folder
Firefox:
- Open
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on
- Select any file in the
dist/firefox/folder
pnpm dev # Build both browsers with watch mode
pnpm build # Production build for both browsers
pnpm build:chrome # Build Chrome only
pnpm build:firefox # Build Firefox only
pnpm lint # Check code style
pnpm lint:fix # Auto-fix issues
pnpm lint:firefox # Lint Firefox build with web-ext
pnpm test # Run testsWhen submitting a new version to Firefox Add-ons, Mozilla requires source code upload because we use esbuild to bundle. Create the source zip with:
zip -r github-flex-source.zip src/ scripts/ package.json pnpm-lock.yaml biome.json README.md LICENSE manifest.json- English (default)
- Vietnamese (Tiếng Việt)
- Japanese (日本語)
The extension automatically displays in the browser's language if supported.
- Manifest V3 (Chrome 88+, Firefox 112+)
- webextension-polyfill (cross-browser API compatibility)
- Vanilla JavaScript (ES Modules)
- esbuild (bundler)
- Biome (linter/formatter)
- Vitest (testing)
If you find this extension useful, consider supporting its development:
- Termote - Remote control CLI tools (Claude Code, GitHub Copilot, any terminal) from mobile/desktop via PWA
