- Swift 55.5%
- HTML 35.4%
- JavaScript 9.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
deploy / deploy (push) Successful in 1m0s
deploy every change to main |
||
| .agents/skills | ||
| .forgejo/workflows | ||
| data | ||
| src | ||
| .firebaserc | ||
| .gitignore | ||
| build.js | ||
| firebase.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| skills-lock.json | ||
Prompt Library (static site)
Self-contained static browser site for browsing ~1,076 ChatGPT prompts.
No server, no dependencies — just open index.html in a browser.
Live site: https://prompts-directory.web.app/ (Firebase Hosting)
Data source: Superhuman AI — ChatGPT Prompt Library All prompt data was scraped from that site; this repo only adds the browsing UI.
Files
src/page-template.html— HTML/CSS/JS template with a/*__DATA__*/placeholderdata/prompts.json— scraped prompt data (source of truth for the build)build.js— build script: readsdata/prompts.json, injects into template, runs sanity checks on the outputpublic/index.html— the built site (data embedded inline, ~1.75MB)
Build
Requires Node.js.
npm run build
build.js parses data/prompts.json, keeps only the fields the UI needs
(id, title, category, subcategory, summary, promptTemplate),
escapes </ so embedded prompts can't break out of the inline <script> tag,
and writes the result into the template placeholder as public/index.html.
Every build runs sanity checks (single script-close tag, data injected,
complete output, no log leakage) and fails non-zero if any check fails.
Deploy
npm run deploy # builds, then firebase deploy --only hosting
Firebase Hosting serves the public/ directory (see firebase.json).
CI deploy (Forgejo Actions)
.forgejo/workflows/deploy.yaml deploys on every push to main. It
authenticates with a service account key stored in the
FIREBASE_SERVICE_ACCOUNT repo secret. The account needs the
Firebase Hosting Admin role. Manage service accounts (create keys, rotate,
revoke) at https://console.cloud.google.com/iam-admin/serviceaccounts.
Data pipeline (how prompts.json was made)
- Scrape the source site's JS data chunks (
prompt-data-v2-*.js, 21 files) - Concatenate and evaluate to normalize
- Extract to
data/prompts.json
If the source site updates, re-scrape and re-run the build.
UI notes
- Category chips + word-AND fuzzy search (title + summary)
- 150-card render cap with "Show more" pagination (keeps DOM light)
- Copy button per card (clipboard API with fallback)
- Dark theme, no external assets, works offline
Credits
Prompt data © the original authors at Superhuman AI — ChatGPT Prompt Library. This project is a browsable mirror with attribution; not affiliated with the source.