Skip to content

docs: App Catalog is live; record the Astro ADR and the Netlify MCP limit - #234

Merged
kyle-lesinger merged 1 commit into
mainfrom
docs/app-catalog-live
Aug 20, 2026
Merged

docs: App Catalog is live; record the Astro ADR and the Netlify MCP limit#234
kyle-lesinger merged 1 commit into
mainfrom
docs/app-catalog-live

Conversation

@kyle-lesinger

Copy link
Copy Markdown
Member

The App Catalog is deployed: https://veda-app-catalog.netlify.app

Verified against the live site before writing any of this down — 14 entries, all 14 with a solves line, both type facets present, and a body-only search term (threadedComments) correctly returning exactly docs-leave-tracker through Pagefind, with pagefind.js and pagefind-worker.js fetched from the live origin.

What changed

  • README.md / docs/APP_CATALOG.md — the "pending" markers become the real URL.
  • docs/DECISIONS.md — a new ADR for the two decisions worth defending later:
    • Astro + Pagefind over the Vite+React house stack, and the boundary: Astro here is for prose, not dashboards, so a future data-rendering app still belongs in the React family. Written down deliberately so the exception doesn't quietly become the rule.
    • limitations and solves as build-gated schema constraints, not review conventions — a review convention decays the first time someone is in a hurry.
  • .clinerules.md — had no app-catalog rules at all; now carries the required-fields rule and both Astro traps.
  • CLAUDE.md — live URL, plus the Netlify MCP finding below.
  • app-catalog/src/content/catalog/docs-decisions.mdx — that entry describes what's in DECISIONS.md, and this PR changes those contents, so its description and body were stale the moment the ADR landed.

Three things learned wiring up the 8th site

None visible from the code, all cost time:

  1. The Netlify MCP cannot connect a repo to a site. Its entire write surface is create-new-project (name + teamSlug only), rename, env vars, access controls and forms — no repo link, branch, base directory or build settings, and get-project can't read them back either. An agent can create a bare project and nothing more. The repo connection is a UI step, which is also where it belongs: it must be the GitHub App, or PR Deploy Previews silently never appear (the failure odsi-app-catalog's ADR §7 already recorded).
  2. The first live Pagefind query needs ~3s, not ~1s — it lazily fetches pagefind.js and pagefind-worker.js. A short wait returns "all 14 still showing", which looks exactly like a broken filter. I hit this and briefly thought search was broken on the deploy.
  3. To prove search really hits Pagefind, query a word that appears only in an MDX body. Title/description/tags are all the substring fallback can see, so a term in a title passes either way and proves nothing.

Note on this PR

It deliberately touches one file under app-catalog/, so Netlify actually builds a Deploy Preview instead of skipping it. A docs-only PR gets an implicit base-directory skip on every site — expected behaviour, documented in CLAUDE.md, but it would mean this PR proved nothing about whether previews work on the new site. Confirming that is the point, since a deploy-key connection would have silently lost them.

…imit

The site is deployed at https://veda-app-catalog.netlify.app, so replace the
"pending" markers in README.md and docs/APP_CATALOG.md with the real URL.

Adds an ADR for the two decisions worth defending later: choosing Astro +
Pagefind over the Vite+React house stack (with the boundary — Astro here is for
prose, not dashboards, so the exception doesn't become the rule), and making
`limitations` and `solves` build-gated schema constraints rather than review
conventions.

Records three things learned wiring up the 8th Netlify site, all of which cost
time and none of which are visible from the code:

  - The Netlify MCP server CANNOT connect a repo to a site. Its whole write
    surface is create-new-project (name + teamSlug only), rename, env vars,
    access controls and forms — no repo link, branch, base directory or build
    settings, and get-project can't read them back. An agent can create a bare
    project and nothing more; the repo connection is a UI step, which is also
    where it belongs, since it must be the GitHub App or PR Deploy Previews
    silently never appear.

  - The first live Pagefind query needs ~3s, not ~1s: it lazily fetches both
    pagefind.js and pagefind-worker.js, and a short wait looks exactly like a
    broken filter.

  - To prove search actually hits Pagefind, query a word that appears only in an
    MDX body. Title/description/tags are all the substring fallback can see, so
    a term in a title passes either way and proves nothing.

Also mirrors the two Astro traps (MDX eating inline SVG, component style
scoping) into .clinerules.md, which had no app-catalog rules at all.
@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for veda-github-actions canceled.

Name Link
🔨 Latest commit eab8c3f
🔍 Latest deploy log https://app.netlify.com/projects/veda-github-actions/deploys/6a871346071c6a00083f8a31

@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for veda-dse-hub canceled.

Name Link
🔨 Latest commit eab8c3f
🔍 Latest deploy log https://app.netlify.com/projects/veda-dse-hub/deploys/6a871346b33a2000085d45c4

@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for veda-aws-dashboard canceled.

Name Link
🔨 Latest commit eab8c3f
🔍 Latest deploy log https://app.netlify.com/projects/veda-aws-dashboard/deploys/6a871346eb978b0008b58ff4

@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for veda-algorithm-catalog canceled.

Name Link
🔨 Latest commit eab8c3f
🔍 Latest deploy log https://app.netlify.com/projects/veda-algorithm-catalog/deploys/6a8713462e24220008783f51

@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for veda-projectboard-dashboard canceled.

Name Link
🔨 Latest commit eab8c3f
🔍 Latest deploy log https://app.netlify.com/projects/veda-projectboard-dashboard/deploys/6a871346b33a2000085d45c9

@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for veda-pr-dashboard canceled.

Name Link
🔨 Latest commit eab8c3f
🔍 Latest deploy log https://app.netlify.com/projects/veda-pr-dashboard/deploys/6a871346f5dd7e00084f3e20

@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for veda-app-catalog ready!

Name Link
🔨 Latest commit eab8c3f
🔍 Latest deploy log https://app.netlify.com/projects/veda-app-catalog/deploys/6a871346331ceb0008a8388e
😎 Deploy Preview https://deploy-preview-234--veda-app-catalog.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for veda-leave-dashboard canceled.

Name Link
🔨 Latest commit eab8c3f
🔍 Latest deploy log https://app.netlify.com/projects/veda-leave-dashboard/deploys/6a871348d1a6d80008298c29

@kyle-lesinger
kyle-lesinger merged commit ae9e9f0 into main Aug 20, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant