-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Problem
contributor-toolkit/build-mcpb/references/PATTERNS.md contains full copies of CI workflow YAML (ci.yml, build-bundle.yml, scan.yml) for both Python and TypeScript. The same workflows live as actual files in the template repos:
NimbleBrainInc/mcp-server-template-python/.github/workflows/NimbleBrainInc/mcp-server-template-typescript/.github/workflows/
There is no mechanism linking them. They can (and do) drift silently.
Options
A: Template repos as source of truth, auto-sync PATTERNS.md
Template repos send repository_dispatch when workflows change, or contributor-toolkit polls on a cron. A workflow in contributor-toolkit updates PATTERNS.md automatically.
- Pro: PATTERNS.md always matches
- Con: Cross-repo coordination (needs PAT or GitHub App for dispatch)
B: Eliminate duplication — fetch at runtime
Instead of embedding workflow YAML in PATTERNS.md, have the build-mcpb skill fetch the actual files from template repos via gh api during scaffolding. PATTERNS.md becomes human-readable reference only.
- Pro: Single source of truth, no sync needed
- Con: If template repo is down or file moves, skill breaks.
C: Accept duplication, add a drift-detection CI check
Keep both copies. Add a scheduled or PR-triggered workflow in contributor-toolkit that diffs PATTERNS.md workflow blocks against the template repos and fails if they diverge.
- Pro: Simple, no cross-repo write access needed, catches drift
- Con: Still manual to fix, but at least you know