this PR introduces BEP for backstage managed AI assets in the backstage
monorepo that can be shared with backstage contributors and adaptors.
added first skill to the docs to test this out. locally it's possible to
run: npx skills add ./docs which adds the mui-to-bui skill to be used.
Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
Move the branch verification to a separate step right after checkout,
and gate all subsequent steps on its output. Removes the redundant
branch check from inside the changeset generation script.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
All lockfiles in the repo use Yarn 4, so use `yarn --cwd <dir> dedupe`
uniformly instead of npx yarn-deduplicate for subdirectories.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Each step sets an output only if it actually modified files. The
dedupe step checks git diff after running to avoid staging unchanged
lockfiles. A final step commits and pushes only if either step
made changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Only dedupe each lockfile if it was actually changed by Dependabot.
Covers root (Yarn 4) and docs-ui/microsite (Yarn Classic) lockfiles.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
* refactor(ui): rename CardOverlay to CardTrigger
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* refactor(ui): replace Card overlay with visually-hidden trigger and focus ring
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* feat(ui): implement hybrid click delegation for interactive cards
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* docs(ui): add story for interactive scrollable card
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* chore: add changeset for interactive card scroll fix
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* fix(ui): fix bottom scroll shadow showing when CardBody has no overflow
The reversed scroll-driven animation used `both` fill mode, causing the
backwards fill to show opacity: 1 when no scroll timeline was active.
Replace with two stacked animations using `forwards` fill only.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* docs(ui): update InteractiveScrollable story to use onPress
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* style: format Card.module.css
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* fix(ui): guard against Text node target in Card click handler
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* feat(ui): render Card as article element for better semantics
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* chore(ui): update API report
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* fix(ui): prevent synthetic click from double-bubbling and exclude onClick from Card types
Signed-off-by: Johan Persson <johanopersson@gmail.com>
---------
Signed-off-by: Johan Persson <johanopersson@gmail.com>