Staging - #101
Closed
LucaArgentieri wants to merge 35 commits into
Closed
Conversation
## Summary - mark all Repository Hygiene items as completed in `todo.md` - record acceptance checks for a clean and intentional working tree - keep the roadmap ready to continue with Step 2/3 and core feature phases
## Summary - mark Step 2 (Quality Gates & CI) as completed in `todo.md` - mark Step 3 (Dev/Build Workflow Consistency) as completed in `todo.md` - keep the optional `Disable direct push to main` item open for follow-up
…t changes Keep variant-primary media first in both gallery and thumbnails, load recommendations only after first PDP interaction, and simplify the project todo to active items.
Extract product cards into reusable snippets, add Italian locale strings, and wire cart:updated/cart:open events so quick buy and PDP add-to-cart keep header count in sync and open the minicart.
## Summary - complete PDP phase with robust variant state sync (URL/form/media/price) and add-to-cart UX states - implement global cart drawer with keyboard accessibility, quantity/remove async flows, empty/error handling, and cart page async updates - add collection sort/filter behavior and progressive load-more; add predictive search with graceful fallback to full search - align CI/docs/workflow: branch strategy checks, smoke script, baseline performance notes, and updated README/CLAUDE/TODO
## Summary - Adds new agent skills under `.agents/skills/` (caveman, fuck-slop, junior-to-senior, ponytail, shopify-admin, grill-me). ## Test plan - N/A — skill/documentation additions only, no theme code changes.
… assets - Extract predictive search logic into frontend/entrypoints/ts/utils/predictive-search.ts and wire it into search.ts / search/drawer.ts - Consolidate all AI agent rules into AGENTS.md as the single source of truth; CLAUDE.md now points to it and sets caveman-mode response style - Rebuild Vite assets and manifest for the branch-linked theme deploy - Add eslint.config.js and minor CI/README/vite config updates Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ck translations Collection filters had no mobile drawer (always-open inline block, no open/close affordance). Adds a dialog-pattern drawer matching cart-drawer/search-drawer, mobile-only via a display:contents override at lg. Also swaps hardcoded English strings in collection.liquid for locale keys and adds the Italian translations theme-check was flagging as missing.
cart-drawer, search-drawer, and the new filters-drawer each independently defined the same focusable-selector query and Tab-trap keydown logic. Moves it into utils/dialog.ts and has all three drawers call into it instead of duplicating it.
All items closed out (theme-check clean, mobile filter drawer built, copy localized, smoke-tested via dev server) — nothing left to track.
moveActiveMediaToFront() prepended the active media item/thumbnail to the front of their containers on every variant switch, reshuffling the thumbnail strip. Visibility is already driven entirely by the hidden attribute, so the reorder was purely cosmetic — removing it leaves thumbnail order stable while photo switching keeps working.
Caps the media viewer to 100svh with internal scroll at the lg breakpoint, and makes thumbnail clicks scroll the matching photo into view. Scrolls only the media container itself (computed via getBoundingClientRect deltas) rather than scrollIntoView, so the page never scrolls as a side effect.
## Summary - Extract predictive search logic into `frontend/entrypoints/ts/utils/predictive-search.ts`, wired into `search.ts` / `search/drawer.ts` - Consolidate all AI agent rules into `AGENTS.md` as the single source of truth; `CLAUDE.md` now points to it and sets caveman-mode response style - Rebuild Vite assets and manifest for the branch-linked theme deploy; add `eslint.config.js` ## Test plan - [ ] `bun run typecheck` passes - [ ] `bun run build` passes - [ ] `theme-check` passes - [ ] Manual QA: search drawer predictive search - [ ] Manual QA: cart drawer / cart page - [ ] Manual QA: PDP 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Configures Renovate to open weekly, grouped PRs against main for npm deps and GitHub Actions, no automerge. Adds a branch-strategy exception for renovate/* branches so those PRs pass CI. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
## Summary - Adds `.github/renovate.json`: weekly, grouped PRs (npm deps + GitHub Actions) targeting `main`, no automerge, dependency dashboard enabled. - Updates `.github/workflows/ci.yml` branch-strategy check with an exception for `renovate/*` branches so Renovate's PRs into `main` pass CI. ## Test plan - [ ] Merge to `staging`, verify `quality`/`theme-check` jobs pass - [ ] Merge `staging` → `main` - [ ] Enable Renovate app on repo if not already active - [ ] Confirm first Renovate PR targets `main` and passes branch-strategy check 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.