Skip to content

Sync strategy: PATTERNS.md workflow copies vs template repos #9

@JoeCardoso13

Description

@JoeCardoso13

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions