Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion catalog/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,7 @@ <h3>SyncPad</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion categories/apis/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ <h3>Anthropic API</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion categories/clis/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ <h3>Wrangler</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion categories/desktop-apps/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ <h3>SyncPad</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion categories/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ <h3>Desktop Apps</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion categories/mcps/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ <h3>Playwright MCP</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion categories/web-apps/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ <h3>Strudel Studio</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion categories/web-services/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ <h3>Make</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion categories/websites/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ <h3>Hugging Face</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion collections/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ <h3>From the Stack Scout Lab</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../pwa.js"></script>
Expand Down
4 changes: 2 additions & 2 deletions data/categories-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "Stack Scout // Categories",
"generatedAt": "2026-06-04",
"updatedAt": "2026-06-04",
"generatedAt": "2026-06-06",
"updatedAt": "2026-06-06",
"categories": [
{
"slug": "websites",
Expand Down
4 changes: 2 additions & 2 deletions data/collections-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "Stack Scout // Collections",
"generatedAt": "2026-06-04",
"updatedAt": "2026-06-04",
"generatedAt": "2026-06-06",
"updatedAt": "2026-06-06",
"collections": [
{
"slug": "creator-stack",
Expand Down
4 changes: 2 additions & 2 deletions data/methodology-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "Stack Scout // Methodology",
"generatedAt": "2026-06-04",
"updatedAt": "2026-06-04",
"generatedAt": "2026-06-06",
"updatedAt": "2026-06-06",
"thesis": "Stack Scout is a public guide, not a benchmark lab. We badge selectively, update from official sources where possible, and avoid pretending every fast-moving tool deserves a fixed numeric score.",
"principles": [
{
Expand Down
2 changes: 1 addition & 1 deletion data/page-registry.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"title": "Stack Scout // Page Registry",
"generatedAt": "2026-06-04",
"generatedAt": "2026-06-06",
"pages": [
{
"key": "home",
Expand Down
4 changes: 2 additions & 2 deletions data/radar-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "Stack Scout // Radar",
"generatedAt": "2026-06-04",
"updatedAt": "2026-06-04",
"generatedAt": "2026-06-06",
"updatedAt": "2026-06-06",
"items": [
{
"title": "Azure MCP Server",
Expand Down
4 changes: 2 additions & 2 deletions data/tools-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "Stack Scout // Tools Manifest",
"generatedAt": "2026-06-04",
"updatedAt": "2026-06-04",
"generatedAt": "2026-06-06",
"updatedAt": "2026-06-06",
"summary": "Public-safe catalog for Stack Scout.",
"counts": {
"total": 14,
Expand Down
4 changes: 2 additions & 2 deletions data/updates-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "Stack Scout // Updates",
"generatedAt": "2026-06-04",
"updatedAt": "2026-06-04",
"generatedAt": "2026-06-06",
"updatedAt": "2026-06-06",
"summary": "Public-safe activity stream seeded from official or first-party sources.",
"items": [
{
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -833,7 +833,7 @@ <h3>From the Stack Scout Lab</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="./pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion method/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ <h2>Verdict language</h2>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion radar/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ <h3>GitHub skills ecosystem</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../pwa.js"></script>
Expand Down
16 changes: 16 additions & 0 deletions scripts/build-stackscout.js
Original file line number Diff line number Diff line change
Expand Up @@ -1273,6 +1273,21 @@ ${routes.map((route) => ` <url><loc>${PUBLIC_BASE_URL}${route}</loc></url>`).jo
`
}

function updateServiceWorkerCacheName() {
const serviceWorkerPath = 'service-worker.js'
const current = fs.readFileSync(path.join(ROOT_DIR, serviceWorkerPath), 'utf8')
const cacheNamePattern = /const CACHE_NAME = ['"]stackscout-\d{4}-\d{2}-\d{2}['"]/

if (!cacheNamePattern.test(current)) {
throw new Error('service-worker.js cache name was not updated; expected stackscout-YYYY-MM-DD declaration.')
}

const next = current.replace(cacheNamePattern, `const CACHE_NAME = 'stackscout-${GENERATED_AT}'`)
if (next !== current) {
writeFile(serviceWorkerPath, next)
}
}

function main() {
const privatePreviewExport = resolvePrivatePreviewExportPath()
const site = readJson('site-source.json')
Expand Down Expand Up @@ -1333,6 +1348,7 @@ function main() {
]

writeFile('sitemap.xml', buildSitemap(sitemapRoutes))
updateServiceWorkerCacheName()
console.log(
`Stack Scout build complete. Generated ${tools.length} tool pages, ${categories.length} category pages, and ${updates.length} updates.`,
)
Expand Down
7 changes: 4 additions & 3 deletions scripts/verify-launch-safety.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,10 @@ const REQUIRED_PUBLIC_FILES = [
]
const TEXT_EXTENSIONS = new Set(['.css', '.html', '.js', '.json', '.svg', '.txt', '.xml'])
const PRIVATE_PATTERNS = [
{ label: 'Windows drive path', pattern: /\b[A-Z]:[\\/][^\s"'<>)]*/i },
{ label: 'UNC path', pattern: /\\\\[A-Za-z0-9._-]+[\\/][^\s"'<>)]*/i },
{ label: 'local-only surface marker', pattern: /\b(?:tools-hub-local|LOCAL-ONLY|_local)\b/i },
{ label: 'Kol Windows user path', pattern: /\b[A-Z]:[\\/]Users[\\/](?:koltregaskes|kolin)[\\/][^\s"'<>)]*/i },
{ label: 'W drive estate path', pattern: /\bW:[\\/][^\s"'<>)]*/i },
{ label: 'estate UNC path', pattern: /\\\\(?:\?\\)?(?:nas_storage_1|MINI-PC|localhost|127\.0\.0\.1)[\\/][^\s"'<>)]*/i },
{ label: 'local-only surface marker', pattern: /\b(?:tools-hub-local|LOCAL-ONLY|_local)\b/ },
{ label: 'private operations wording', pattern: /\b(?:manager inbox|review evidence|session state)\b/i },
]
const REQUIRED_GITIGNORE_PATTERNS = ['.env', '.env.*', '*.local.md', '.local/', 'local-hub/']
Expand Down
2 changes: 1 addition & 1 deletion service-worker.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const CACHE_NAME = 'stackscout-2026-06-04'
const CACHE_NAME = 'stackscout-2026-06-06'
const APP_SHELL = [
'',
'index.html',
Expand Down
2 changes: 1 addition & 1 deletion tools/anthropic-api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ <h3>n8n</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/canvas-planner/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ <h3>SyncPad</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/gh-cli/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ <h3>Wrangler</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/github-mcp-server/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ <h3>Wrangler</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/hugging-face/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ <h3>GitHub MCP Server</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/make/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ <h3>Anthropic API</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/n8n/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ <h3>Anthropic API</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/openai-api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ <h3>Playwright MCP</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/perplexity/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ <h3>OpenAI API</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/playwright-mcp/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ <h3>Anthropic API</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/signal-stack/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ <h3>Strudel Studio</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/strudel-studio/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ <h3>OpenAI API</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/syncpad/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ <h3>Canvas Planner</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion tools/wrangler/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ <h3>Playwright MCP</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../../pwa.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion updates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ <h3>Wrangler 4.58.0 improved command grouping and auth ergonomics</h3>
</div>
<div class="site-footer__meta">
<p><span class="live-dot" aria-hidden="true"></span><span id="utcClock">Live UTC</span></p>
<p>Updated 4 Jun 2026 from the Stack Scout shared source layer.</p>
<p>Updated 6 Jun 2026 from the Stack Scout shared source layer.</p>
</div>
</footer>
<script src="../pwa.js"></script>
Expand Down