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