Files
Daniel Avila 070a2e3e0f feat(dashboard): WebMCP V1 — expose catalog as read-only agent tools (#850)
Registers 4 read-only WebMCP tools (search-components,
get-component-details, get-install-command, get-catalog-stats) via
document.modelContext on every page, reusing src/lib/data.ts helpers and
the existing static JSON artifacts. Feature-detected and gated behind
PUBLIC_WEBMCP_ENABLED (same pattern as PUBLIC_ADS_ENABLED); no-op in
browsers without WebMCP support. Spec in dashboard/docs/webmcp.md.

Claude-Session: https://claude.ai/code/session_015ehgc17pAU4EcLbAjkzq7h
Entire-Checkpoint: 2ba83c996ee6
2026-08-30 19:58:20 -04:00

42 lines
1.1 KiB
YAML

name: Deploy to Cloudflare Pages
on:
push:
branches: [main]
paths:
- 'dashboard/**'
permissions:
contents: read
concurrency:
group: deploy-${{ github.ref }}
cancel-in-progress: false
jobs:
deploy:
runs-on: ubuntu-latest
environment: production
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v6
with:
node-version: 22
- name: Install dependencies
run: npm install
working-directory: dashboard
- name: Build
run: npm run build
working-directory: dashboard
env:
PUBLIC_CLERK_PUBLISHABLE_KEY: "pk_live_Y2xlcmsuYWl0bXBsLmNvbSQ"
PUBLIC_GITHUB_CLIENT_ID: "Ov23li3KjfA4cuLi5c0k"
PUBLIC_COMPONENTS_JSON_URL: "/components.json"
PUBLIC_WEBMCP_ENABLED: "true"
- name: Deploy www + app.aitmpl.com
run: npx wrangler pages deploy dist --project-name=aitmpl-dashboard --commit-dirty=true
working-directory: dashboard
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}