chore: enforce figma links in relevant prs - #1236
Conversation
jvsena42
left a comment
There was a problem hiding this comment.
Non-blocking — nothing in CI reads the PR body (both repos' claude-code-review.yml are workflow_dispatch-only with a required pr_number, and no workflow greps for figma, ### Design, or the body at all), so this is advisory, which the text correctly says.
#1237 merged to master at 10:17 today and this branch now conflicts in AGENTS.md. Master added, at the same insertion point this PR targets:
- ALWAYS resolve a changed *Screen.kt to its Figma frame through docs/screens-map.md ... (todo when the design does not exist yet); ScreensMapTest fails otherwise
Worth reconciling on rebase rather than landing both, because the merge also changes what the guidance here should say. docs/screens-map.md on master is no longer the RN↔Compose filename table — it now carries 37 Figma references across 155 screen rows, 141 of them pointing at a real Flow › Frame, with todo/n/a for the rest, and the header names both the file key and the Bitkit - Handoff vNN page. ScreensMapTest guarantees every screen has a row.
Two knock-ons for the wording:
N/A — no design available.(pr.md:164,AGENTS.md:190,template:12) is currently a self-declared opt-out with nothing to check it against. Post-merge it can be tied to the map: the row is markedtodo. That turns it from an assertion into something a reviewer can verify, and it matters becauseAGENTS.md:193explicitly exemptsN/Acases from the one advisory request — so today the zero-effort branch is the one shielded from review. Scoping the exemption toN/A — no UI changes.and pointing the design case at the map'stodomarker closes it in one line.- "missing or uncertain screens-map entries" (
pr.md:166) now describes a stateScreensMapTestmakes impossible on Android.
Separately, and outside this diff: .agents/commands/release.md:116-131 hardcodes a PR body with Description / Preview / QA Notes and no ### Design, so release PRs bypass the new section. Line 111 does say to read the template first, so it's a mixed signal rather than a flat contradiction. greptile raised the same gap on the iOS twin (synonymdev/bitkit-ios#734) but not here.
jvsena42
left a comment
There was a problem hiding this comment.
All four points from my last pass are closed — thanks.
- The #1237 conflict is reconciled cleanly: master's rule survives verbatim at
AGENTS.md:188and the new bullets hang off it, so the rule is stated once rather than duplicated. N/Ais now anchored to the map::191scopes it totodo/n/arows and:194gates the exemption on Valid. That closes the loophole — validity is checkable against a row now.- The impossible "missing screens-map entries" wording is gone, replaced by a state that is actually reachable given
docs/screens-map.md:10. release.md:124-126emits### Design, in template order.
One thing the follow-up narrowed further than I think you intended — inline.
Cross-repo: the iOS twin went the opposite way (synonymdev/bitkit-ios#734). It kept the broad scope but left the N/A exemption unqualified. Between the two of you the end state each wants is the other's half, and both are one-liners.
Closes #1234
This PR adds a Design section to the pull request workflow so applicable UI changes reference their Figma frames and all other changes use an explicit N/A case.
Description
/prguidance to the tested screens map, including itstodoandn/acases.Design
N/A — no UI changes.
Preview
N/A — no user-visible changes.
QA Notes
Manual Tests
N/A
Automated Checks
just test file "to.bitkit.docs.ScreensMapTest"andgit diff --check; verified mapped designs, valid no-design markers, non-UI changes, uncertain matches, and omitted applicable links.