stackscout builds Stack Scout, the public-facing tools destination for curated builder tools, services, APIs, MCPs, and CLIs.
This repo remains the GitHub Pages implementation base, but the visible product is no longer a simple internal "Tools Hub" brochure. The private operational console stays outside this public repo.
- This repo is public-facing only.
- Local launchers, operations state, and review artefacts belong in the private local surface, not this repo.
- Public content must stay safe for GitHub Pages and public browsing.
- Do not rely on
.gitignorealone to protect private data. Public output is generated from an allowlisted shared source layer.
Stack Scout uses a shared source layer inside this repo:
content/stackscout/site-source.jsoncontent/stackscout/tools-source.jsoncontent/stackscout/updates-source.json
These source files drive:
- public manifests in
data/ - generated static pages across the public site
- an optional private preview export when
STACKSCOUT_PRIVATE_EXPORT_DIRorSTACKSCOUT_PRIVATE_EXPORT_FILEis set locally
npm run build:siteThis regenerates:
index.htmlcatalog/categories/updates/radar/collections/method/tools/<slug>/data/*.jsonsitemap.xml
npm run checknpm run check also runs the no-publish launch-safety gate:
npm run verify:launchThat gate scans generated public output for local Windows paths and private surface markers, confirms the public file set exists, checks .gitignore still excludes local notes and env files, and verifies the service-worker.js cache name is not older than the generated issue date.
GitHub Pages does not support custom response headers such as a Netlify _headers file. Keep browser hardening inside static HTML, conservative client code, and dependency-free scripts unless the site moves to a host that can set CSP/HSTS-style headers.
Before a public refresh, bump CACHE_NAME in service-worker.js when generated public content advances. The launch-safety gate fails if the cache date is older than the visible issue date.
npm run refresh:siteThis runs the site build, runs checks, and optionally writes private refresh status when STACKSCOUT_PRIVATE_STATUS_DIR is set locally.
For unattended Windows refreshes without visible terminal focus theft, use a local-only launcher outside this public repo and set the optional private export/status environment variables there.
HomeTop toolsTool DetailCategoriesWireRadarCollectionsSources & method
- editorial signal-desk shell rather than a generic directory layout
- shareable catalog filters via URL query state
- public dossier pages for every tracked tool
- source-linked updates and visible freshness dates
- clearly labelled
Stack Scout Labsubset for in-house tools - installable static PWA shell for repeat visits
- Stack Scout is curated ecosystem first.
- Our own tools are a clearly labelled
Stack Scout Labsubset, not the whole point of the site. - Public verdicts use editorial badges, not fake numeric scoring.
- Update items should prefer official release notes, changelogs, docs, blogs, and first-party repositories.
- The catalog now keeps filter state in the URL so filtered views can be shared directly.
.autolab/is internal AutoResearch support and remains untracked..env*files are local-only except.env.example..local/and*.local.mdare working notes and remain ignored.