From f1ae05044860f7481d455d1ba1d70f66cbacb835 Mon Sep 17 00:00:00 2001 From: Karim Date: Tue, 19 May 2026 16:22:00 -0700 Subject: [PATCH] chore: release v0.2.0 (Gate 6 data-binding) + version-check workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps plugin.json to 0.2.0 so /plugin marketplace update can detect the Gate 6 data-binding release reliably. Without this bump, consumers like BOS have to uninstall+reinstall to pick up content changes — observed mid-flight while wiring BOS-3.0 to the marketplace. Manifest: - .claude-plugin/plugin.json: version 0.1.0 -> 0.2.0; description "ten explicit gates" -> "eleven explicit gates" - .claude-plugin/marketplace.json: description string parallel fix Changelog: - CHANGELOG.md: prepend v0.2.0 block documenting the added Gate 6, the design-to-code-data-binder subagent, the new 6-data-binding gate-failure template, the gate renumbering (slice plan -> 7, pre-slice -> 8, pre-swap -> 9, pre-retro -> 10), and the 9-pre-retro.md -> 10-pre-retro.md rename. Breaking-change note for consumers with frozen status.json snapshots. CI guardrail: - .github/workflows/version-check.yml: new workflow that runs on PRs to main when plugin source (.claude-plugin/plugin.json, agents/, commands/, skills/, templates/, scripts/, DESIGN_TO_CODE_RULES.md) changes. Fails the PR if plugin.json's version matches main's version. Prevents the v0.2.0 issue from recurring. Tests: 80 passing, unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude-plugin/marketplace.json | 2 +- .claude-plugin/plugin.json | 4 +-- .github/workflows/version-check.yml | 51 +++++++++++++++++++++++++++++ CHANGELOG.md | 23 +++++++++++++ 4 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/version-check.yml diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index ef18187..dffb6a4 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -1,6 +1,6 @@ { "name": "design-to-code-bridge-marketplace", - "description": "Single-plugin marketplace for the Design-to-Code Bridge — translates design exports (HTML + screenshot) into design-system-aligned code through ten explicit gates.", + "description": "Single-plugin marketplace for the Design-to-Code Bridge — translates design exports (HTML + screenshot) into design-system-aligned code through eleven explicit gates.", "owner": { "name": "Open Session", "email": "hello@opensession.co", diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index dbb6093..8690e5d 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "design-to-code-bridge", - "version": "0.1.0", - "description": "Translate design exports (HTML + screenshot) into design-system-aligned code through ten explicit gates", + "version": "0.2.0", + "description": "Translate design exports (HTML + screenshot) into design-system-aligned code through eleven explicit gates", "author": { "name": "Open Session", "email": "hello@opensession.co" diff --git a/.github/workflows/version-check.yml b/.github/workflows/version-check.yml new file mode 100644 index 0000000..37b1324 --- /dev/null +++ b/.github/workflows/version-check.yml @@ -0,0 +1,51 @@ +name: Version bump check + +on: + pull_request: + branches: [main] + paths: + - '.claude-plugin/plugin.json' + - 'agents/**' + - 'commands/**' + - 'skills/**' + - 'templates/**' + - 'scripts/**' + - 'DESIGN_TO_CODE_RULES.md' + +permissions: + contents: read + pull-requests: read + +jobs: + version-bump: + runs-on: ubuntu-latest + steps: + - name: Check out PR head + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Read PR version + id: pr + run: | + version=$(jq -r '.version' .claude-plugin/plugin.json) + echo "version=$version" >> "$GITHUB_OUTPUT" + + - name: Read main version + id: main + run: | + version=$(git show origin/main:.claude-plugin/plugin.json | jq -r '.version') + echo "version=$version" >> "$GITHUB_OUTPUT" + + - name: Compare + run: | + pr_version="${{ steps.pr.outputs.version }}" + main_version="${{ steps.main.outputs.version }}" + echo "PR version: $pr_version" + echo "main version: $main_version" + if [ "$pr_version" = "$main_version" ]; then + echo "" + echo "::error::plugin.json version ($pr_version) matches main. Bump it (semver: patch for fixes/docs, minor for features, major for breaking) and update CHANGELOG.md." + exit 1 + fi + echo "Version bumped — ok." diff --git a/CHANGELOG.md b/CHANGELOG.md index 131c358..99f2bc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,29 @@ All notable changes to the Design-to-Code Bridge plugin are documented here. Follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.0] — 2026-05-19 + +### Added + +- **Gate 6 — Data binding.** New gate sits between Component mapping (Gate 5) and Slice plan. Classifies every mapped unit as `backend` (wire to an existing service), `mock` (emit a schema + JSON + TS-interface triple under hierarchical `data///`), or `none` (decorative). Low-confidence rows must be acknowledged before advancing. +- **`design-to-code-data-binder` subagent** — 7th subagent, owns Gate 6. Walks the consumer's `lib/services/`, `hooks/`, and route tree to propose the binding tier per unit and queue mock-file triples for the planner. +- **`templates/gate-failures/6-data-binding.md`** — per-gate failure message template for low-confidence bindings, page/subpage conflicts, and backend overrides. + +### Changed + +- **Gate renumbering** (breaking change for any consumer reading gate numbers from `status.json`): + - Slice plan: Gate 6 → Gate 7 + - Pre-slice: Gate 7 → Gate 8 + - Pre-swap: Gate 8 → Gate 9 + - Pre-retro: Gate 9 → Gate 10 +- **`templates/gate-failures/9-pre-retro.md` → `10-pre-retro.md`** (renamed). +- **`agents/design-to-code-pm.md`** — updated to reference "eleven gates"; Gate 6 section added between Gate 5 and Gate 7. +- **`DESIGN_TO_CODE_RULES.md`** — expanded to document the data-binding gate and the hierarchical `data///` convention (~24% growth). + +### Notes + +- This is a breaking change for any consumer who has frozen `status.json` snapshots from v0.1.0 — gate numbers ≥ 6 have shifted by 1. Run `/design-to-code:start` on existing features to re-validate against the new gate ordering. + ## [0.1.0] — 2026-05-12 ### Added