https://github.com/wallentx/github-gist-enhanced-search
A Chrome extension for better GitHub Gist search
https://github.com/wallentx/github-gist-enhanced-search
chrome extension gist github search
Last synced: about 2 months ago
JSON representation
A Chrome extension for better GitHub Gist search
- Host: GitHub
- URL: https://github.com/wallentx/github-gist-enhanced-search
- Owner: wallentx
- License: mit
- Created: 2026-03-10T16:54:02.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-21T20:27:16.000Z (3 months ago)
- Last Synced: 2026-03-31T09:52:29.879Z (3 months ago)
- Topics: chrome, extension, gist, github, search
- Language: JavaScript
- Homepage:
- Size: 173 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
GitHub Gist Enhanced Search
A Chrome extension to search your gists with a GitHub-style centered search overlay and qualifier suggestions.

## What it does
On supported `gist.github.com` pages, the extension replaces the in-header search interaction with a centered GitHub-style search overlay and:
- documented gist qualifiers from GitHub Docs
- helper expansion for `@me` to `user:`
- autocomplete for common `language:` values
- autocomplete for common `extension:` values
- keyboard navigation with arrow keys, `Enter`, and `Escape`
- theme-aware styling that follows the user's current GitHub theme
The extension only activates when the page appears to be logged in.
## Supported pages
The extension binds to gist search inputs across `https://gist.github.com/*` when the user is logged in, including the home page, user gist listings, and gist search result pages.
## Project layout
- `src/extension/`: source files for the Chrome extension
- `dist/extension/`: clean build artifact to load unpacked locally or upload to the Chrome Web Store
- `tests/`: Playwright regression suite that runs against the built extension bundle
- `docs/`: implementation notes captured from live GitHub behavior
- `.github/workflows/`: CI, release, and Chrome Web Store publishing automation
## Build the extension
```bash
npm install
npm run build
```
This writes the publishable unpacked extension bundle to `dist/extension/`.
## Quality checks
```bash
npm run lint
npm run format:check
npm test
```
To run the full local gate that mirrors CI:
```bash
npm run check
```
## Pre-commit hooks
This repo uses `husky` and `lint-staged`. After `npm install`, the `pre-commit` hook is installed automatically and will:
- run `eslint --fix` on staged JavaScript files
- run `prettier --write` on staged JavaScript, CSS, JSON, Markdown, and YAML files
The hook is intentionally fast and does not run Playwright. The full regression suite stays in CI.
## Install locally
1. Run `npm run build`
2. Open `chrome://extensions`
3. Enable `Developer mode`
4. Click `Load unpacked`
5. Select `dist/extension`
## Run tests
```bash
npm test
```
For local interactive debugging:
```bash
npm run test:headed
```
In CI, the same suite can run under Xvfb against the built bundle:
```bash
xvfb-run -a npm test
```
## Release publishing
The release workflow packages `dist/github-gist-enhanced-search.zip`, uploads it to the GitHub release, and can publish it to the Chrome Web Store with [`puzzlers-labs/chrome-webstore-publish`](https://github.com/puzzlers-labs/chrome-webstore-publish).
Chrome Web Store publishing requires:
- repository variable `CWS_EXTENSION_ID`
- repository secret `CWS_CLIENT_ID`
- repository secret `CWS_CLIENT_SECRET`
- repository secret `CWS_REFRESH_TOKEN`
The workflow skips the publish step when those values are absent. The first Chrome Web Store publish still has to be done manually.
## Notes
The qualifier list is based on the official GitHub Docs page for searching gists:
- `user:`
- `anon:true`
- `NOT`
- `fork:only`
- `filename:`
- `language:`
- `extension:`
- `stars:>`
- `size:>`