Checked against the live site and the repo itself — not against the repo's own guideline files, per your instruction.
All 130+ tools are 100% client-side — there's no REST API behind them
Checked the QR Generator directly: it states plainly that nothing typed is sent to a server, and builds the code on-device with the qrcodejs library. Same pattern on every tool page checked. There's no request/response cycle here to document as a traditional API.
The repo's own "Link Status Report" is out of date
README.md lists 80 /html-code-library/ URLs as 404, dated 2026-07-14. I opened /html-code-library/html-bold/ directly — it loads fine, with a live tool, a browser-compatibility table, and related-page links. That report is nearly a month stale. I'm treating live pages as ground truth, not that file, for the rest of this project.
The Code Library's live pages point at a different repo
/html-code-library/html-bold/ links to github.com/bayzed123/smartgen-horizon as its source — not SmartGenQR.oi, the repo you sent. Before I document the Code Library specifically, I need to know which repo is actually deployed, so the docs point at real source.
Three tool counts, three answers
Homepage: 131+. /tools/ page meta: 57+. Footer: "HTML Code Library (80+)". Adding the 49 standalone tools I found on /tools/ to the library's ~80 snippet pages lands close to 131 — so that's likely the real number — but worth standardizing on one figure across the site.
docs.smartgentools.com reads like unfilled template
It's live — 68 pages — but its "API Reference" and "SDKs" sections (JavaScript, Python, PHP, Java, Go) look like the default starter content that ships with your SmartGen Docs generator, not documentation of your actual client-side tools. I won't carry that structure into the real docs — see the Approach tab.
URL pattern isn't consistent
Most tools live at smartgentools.com/tool-name/. Three — CPM ROI Calculator, Color Palette Extractor, EMI Calculator — live at smartgentools.com/tools/tool-name/ instead. Flagged in the checklist so the contextual internal links you asked for don't 404.
A REST-style reference (auth, endpoints, rate limits) doesn't describe a tool that makes zero server calls. Here's the split I'd suggest instead.
CHATBOT_README.md), and backend/smartgen-platforms are the only parts of the repo that plausibly call a real server. I haven't opened those three yet — they're the ones worth true endpoint-style docs (auth, request/response, error codes), pending your confirmation on scope.Confirm the live repo for the Code Library — SmartGenQR.oi or smartgen-horizon — so internal links and source references point at the right place.
Confirm scope on the 3 backend candidates — do the SEO Audit Tool, chatbot, and backend/smartgen-platforms actually call a server? That decides whether they get REST-style docs or the same Technical Reference as everything else.
Approve or adjust the template on the next tab — happy to add category-specific fields (a Formula field for calculators, a Legal/ToS note for generators) as separate reusable prompts, matching how you wanted the build prompts split up.
I work the checklist in batches, verifying each live page before writing — not from the repo's existing guideline files.
One shape, applied to every client-side tool, so 130 pages read as one coherent reference instead of 130 one-offs.
- Name & purpose
- Tool name plus a one-line statement of what it does.
- Category
- Which of the site's existing groupings it sits in (Developer & Technical, SEO & Content, etc.) — keeps navigation and cross-links consistent.
- How it processes data
- The client-side technique or library involved, and an explicit "nothing leaves your browser" statement where true — this is the one line every tool page should share.
- Inputs
- Every field the tool takes, field-by-field, pulled from the live form — not assumed.
- Output
- Format, dimensions or size, and what happens on download or copy.
- Constraints & edge cases
- The caveats that matter before someone relies on the output — the QR page's own "reality check" section is the right model.
- Embed / reuse notes
- Filled in once I've read the tool's actual source — flagging this honestly rather than guessing at a JS API that may not exist.
- Related tools
- 2–4 real internal links to tools that pair naturally — the contextual linking you asked for, done the way qr-generator already does it.
- Live page
- Direct link to the working tool.
- Screenshot
- Auto-captured — see the Screenshots tab.
- Last verified
- Date I last checked the live page against this entry — so nothing here goes stale the way the Link Status Report did.
The template above, filled out for one real tool — written from the live page, not the repo's marketing copy.
QR Code Generator
- Purpose
- Builds a scannable QR code from 13 input types — URL/text, WiFi, vCard, WhatsApp, email, SMS, phone, location, event, PayPal, app-store link, crypto address, social profile.
- Processing
- 100% client-side. Renders the matrix on-device using the open-source
qrcodejslibrary — nothing typed is sent to a server before the code appears. - Inputs
- Varies by type (e.g. WiFi: SSID, password, encryption — WPA/WPA2, WEP, or none). Optional: center logo image, foreground hex color.
- Output
- 220×220px PNG, downloaded directly from the browser. No watermark, no account.
- Constraints
- Static only — the destination is locked at creation, no scan tracking. Error correction fixed at level H (~30% recoverable) to tolerate a logo capped at ~20% of code width. Low-contrast colors are the most common cause of scan failure.
- Embed / reuse
- Not yet filled in — needs a read of the actual source file to describe any reusable function, not the marketing page.
- Related tools
- UTM Builder (tag a destination URL before generating), WhatsApp Link Generator (link-only version of the WhatsApp type), Color Palette Extractor (match a brand hex exactly).
- Live page
- smartgentools.com/qr-generator ↗
Every tool I could confirm live, grouped the way your own site groups them, plus the 4 sitewide systems. Progress saves automatically in this document.
Loading checklist…
Straight answer first: I can't run Playwright myself. My code environment has no live internet access, so I can't open your pages or capture anything from them directly.
A script that fits your existing setup
You're already running GitHub Actions for the changelog and Pages deploy, and using pnpm. This drops into the same pattern: a Playwright script plus a scheduled workflow that screenshots every live tool page and commits the images automatically — no manual screenshotting, and it stays current as pages change.
// Reads a { slug, url } list and screenshots each live page. // Point TOOLS at your real assets/js/search-data.js TOOLS_INDEX once confirmed. const { chromium } = require('playwright'); const fs = require('fs'); const path = require('path'); const OUT_DIR = path.join(__dirname, '..', 'docs-assets', 'screenshots'); const TOOLS = require('../data/doc-tools-list.json'); // [{ slug, url }, ...] (async () => { fs.mkdirSync(OUT_DIR, { recursive: true }); const browser = await chromium.launch(); const page = await browser.newPage({ viewport: { width: 1280, height: 800 } }); for (const tool of TOOLS) { try { await page.goto(tool.url, { waitUntil: 'networkidle', timeout: 30000 }); await page.screenshot({ path: path.join(OUT_DIR, `${tool.slug}.png`), fullPage: true }); console.log(`saved: ${tool.slug}`); } catch (err) { console.error(`failed: ${tool.slug} — ${err.message}`); } } await browser.close(); })();
name: Update doc screenshots
on:
workflow_dispatch: {}
schedule:
- cron: '0 3 * * 1' # weekly, Monday 03:00 UTC
jobs:
screenshot:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm install playwright && npx playwright install --with-deps chromium
- run: node scripts/capture-doc-screenshots.js
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "docs: refresh tool screenshots"
file_pattern: docs-assets/screenshots/*.png
Swap data/doc-tools-list.json for the real path once you confirm it — your own README points to assets/js/search-data.js and its TOOLS_INDEX array as the canonical tool list, which is the right source to generate this from rather than maintaining a second list by hand.