Skip to content

Commit 92767cb

Browse files
committed
Sync ROADMAP, branding cleanup, README polish
1 parent 276adf4 commit 92767cb

4 files changed

Lines changed: 98 additions & 2 deletions

File tree

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
<!-- codex-branding:start -->
2+
<p align="center"><img src="icon.png" width="128" alt="User Script Hunt"></p>
3+
4+
<p align="center">
5+
<img alt="Version" src="https://img.shields.io/badge/version-preview-58A6FF?style=for-the-badge">
6+
<img alt="License" src="https://img.shields.io/badge/license-MIT-4ade80?style=for-the-badge">
7+
<img alt="Platform" src="https://img.shields.io/badge/platform-Web%20App-58A6FF?style=for-the-badge">
8+
</p>
9+
<!-- codex-branding:end -->
10+
111
# ScriptHunt
212

313
![Version](https://img.shields.io/badge/version-0.0.4-blue)

ROADMAP.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Roadmap
2+
3+
Forward-looking plans for ScriptHunt — zero-dependency, single-file HTML web app that searches Greasy Fork, Sleazy Fork, GitHub, and OpenUserJS in parallel. v0.0.4 today.
4+
5+
## Planned Features
6+
7+
### Sources
8+
- Add: GitHub Gists, GitLab snippets, userstyles.world (CSS), Chrome Web Store extensions
9+
- Add: AMO (Firefox addons), Tampermonkey script catalog, BuiltWith-style "detect what scripts this site has"
10+
- Source auth: optional GitHub token + OAuth device flow so authenticated searches get 5000 req/h instead of 60
11+
12+
### Search
13+
- Full-text query across `@description`, `@name`, `@match` with highlighted matches
14+
- Filter panel: license, min rating, install count range, updated within N months, has/lacks `@grant` types
15+
- Sort: daily installs, weekly installs, updated date, rating, author reputation
16+
- Saved queries pinned to sidebar
17+
- URL deep-linking for filters (`?q=reddit&src=gf,gh&sort=installs&since=90d`)
18+
19+
### Results & Install
20+
- Expand a card to see source preview with syntax highlighting (Prism inline, no build step)
21+
- `@match` matrix — show which of the user's URL inputs each script actually targets
22+
- One-click install via `raw.githubusercontent.com` / `greasyfork.org/scripts/N/.user.js` redirects
23+
- Clipboard copy for install URL + QR code for mobile
24+
- Dedup across sources (name + author) — current behavior expanded with author-alias normalization
25+
26+
### Performance & Offline
27+
- Service worker cache of static HTML + last-N searches for offline browse
28+
- IndexedDB of the user's install history to show "already installed"
29+
- Background revalidation — stale-while-revalidate on source fetches
30+
31+
### Trust
32+
- Flag dangerous `@grant` combinations
33+
- Author reputation score (account age, total installs, fork count)
34+
- Source code diff when a script has an update since last visit
35+
- Malicious-pattern scanner (hardcoded exfil URLs, crypto miners, eval-of-remote-fetch)
36+
37+
## Competitive Research
38+
39+
- **Greasy Fork native search**: baseline — lacks cross-source merge and dedup. We win there.
40+
- **UserScript Finder** (sibling project): in-page companion to ScriptHunt. Keep feature parity so users can pick either.
41+
- **awesome-userscripts repos on GitHub**: community lists, curated. Ingest as a "curated" source with editorial labels.
42+
- **Chrome Web Store / AMO search**: browser extensions are the main alternative to userscripts. Surface them side-by-side so users pick the right tool.
43+
44+
## Nice-to-Haves
45+
46+
- RSS feed of "new scripts for this domain" users can subscribe to
47+
- Browser-extension companion that auto-opens ScriptHunt on any new domain you visit
48+
- "Kit" concept — curated bundles (YouTube Kit, Reddit Kit) that users install with one click
49+
- Script-version watcher — notify when a tracked script updates
50+
- Embed widget (`<iframe>` mode) for blogs to show scripts relevant to their topic
51+
- Side-by-side source diff between two scripts that claim to do the same thing
52+
53+
## Open-Source Research (Round 2)
54+
55+
### Related OSS Projects
56+
- https://github.com/greasyfork-org/greasyfork — upstream GF (OpenAPI-ish endpoints, scripts.json)
57+
- https://github.com/OpenUserJs/OpenUserJS.org — OpenUserJS source + API
58+
- https://github.com/ish4ra/greasyforksearch — multi-site aggregation reference
59+
- https://github.com/ChinaGodMan/UserScripts — Google CSE advanced-operator patterns
60+
- https://github.com/F9y4ng/GreasyFork-Scripts — search-engine-assistant UX ideas
61+
- https://github.com/awesome-scripts/awesome-userscripts — seed taxonomy / curation
62+
- https://github.com/violentmonkey/violentmonkey — install-handoff target
63+
- https://github.com/Tampermonkey/tampermonkey — install-handoff target
64+
- https://github.com/nextapps-de/flexsearch — zero-dep in-browser full-text index (fits single-file HTML)
65+
- https://github.com/krisk/Fuse — fuzzy search library (smaller footprint than flexsearch)
66+
67+
### Features to Borrow
68+
- `scripts.json` bulk-fetch then client-side FlexSearch index — no backend, fits single-file deploy (greasyfork-org API)
69+
- Fuse.js fuzzy match for typos / synonyms (smaller than flexsearch, simpler)
70+
- Domain-match filter ("scripts that run on `*.youtube.com`") using GF's `applies-to` metadata
71+
- Install-count / rating / updated-at sortable columns backed by GF stats (greasyfork-org)
72+
- OpenUserJS federation via its `?output=json` endpoint (OpenUserJS)
73+
- Google Custom Search Engine fallback for GitHub-hosted scripts (ChinaGodMan pattern)
74+
- "Similar scripts" column using tag co-occurrence from awesome-userscripts graph
75+
- Install-handoff via clicking `install` navigates to `*.user.js` raw URL — Tampermonkey/Violentmonkey capture automatically
76+
- Embed widget (`<iframe>` mode) already in roadmap — implement as separate HTML shell rendering filtered view
77+
- RSS/Atom feed per search — "new scripts matching X" (GF already offers per-script RSS; aggregate client-side)
78+
79+
### Patterns & Architectures Worth Studying
80+
- Static-first + client-side indexing: ship a nightly-built JSON of the top N scripts, index in-browser
81+
- Source-adapter layer with unified `ScriptResult` shape: `{ id, source, name, author, appliesTo[], installs, updatedAt, rawUrl }`
82+
- GitHub Pages + GitHub Actions nightly rebuild cron — zero hosting cost for always-fresh index
83+
- IndexedDB cache of last N searches with TTL, using Service Worker for offline access (PWA pattern)
84+
- Shareable query URL (`?q=...&source=gf,ouj&domain=youtube.com`) for linking results

icon.png

1.04 MB
Loading

0 commit comments

Comments
 (0)