Skip to content

feat(ci,docs,store): Web Store launch kit — guarded publish, listing, screenshots (#28) - #193

Merged
sebyx07 merged 13 commits into
mainfrom
feat/store-launch
Aug 15, 2026
Merged

sebyx07 merged 13 commits into
mainfrom
feat/store-launch

Conversation

@sebyx07

@sebyx07 sebyx07 commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Closes #28.

Everything between "repo" and "listed on the Chrome Web Store", ready to go the moment the CWS secrets land:

CI publish (secret-guarded)

  • release.yml: the publish step is live, gated on secrets.CWS_EXTENSION_ID — a tag without secrets still builds + attaches to a GitHub Release and skips the store cleanly. The store zip is rebuilt with CWS_UPLOAD=1 (drops the manifest key) after the release step attached the self-hosted zip, then uploaded with --auto-publish.
  • Once CWS_EXTENSION_ID, CWS_CLIENT_ID, CWS_CLIENT_SECRET, CWS_REFRESH_TOKEN are set: every git tag v* push auto-publishes. No workflow edits needed.

Docs

  • STORE-SETUP.md §5 dry-run (upload-as-draft, no publish, failure modes named) and §6 rollback/unpublish (versions only go up; re-tag last-good as higher; unpublish semantics).
  • docs/store/LISTING.md: paste-ready listing — summary, description, single-purpose statement, privacy declarations (including the honest GlitchTip crash-report disclosure), and per-permission justifications verified against wxt.config.ts.

Assets (docs/store/assets/, committed)

  • Five 1280×800 screenshots + the required 440×280 promo tile, rendered by scripts/store-shots.ts (bun run store:shots): the built extension drives a real session against a stubbed provider — the live edits, changeset diffs, and history in the shots are all real extension behavior, no mockups.
  • store-assets.yml (workflow_dispatch) regenerates them in CI — the Windows dev box can't complete Playwright's launch handshake under Bun's node-shim.

Still manual, by design: the first store upload (mints the item ID), the dashboard listing form (copy is in LISTING.md), and the four gh secret set calls — see STORE-SETUP.md §4.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

sebyx07 and others added 12 commits August 15, 2026 07:09
…et renderer (#28)

- release.yml: the CWS publish step is live, gated on CWS_EXTENSION_ID being
  set — a tag without secrets still builds a GitHub Release and skips the
  store cleanly. Store zip rebuilt (CWS_UPLOAD=1 drops the manifest key)
  AFTER the release step attached the self-hosted zip.
- docs/STORE-SETUP.md: dry-run upload (draft, no --auto-publish) + rollback/
  unpublish doctrine (versions only go up; re-tag last good as higher).
- docs/store/LISTING.md: paste-ready listing — summary, description, privacy
  declarations (incl. the GlitchTip crash-report disclosure), per-permission
  justifications verified against wxt.config.ts.
- scripts/store-shots.ts (+ store:shots): renders five 1280×800 store frames
  and the 440×280 promo tile from the BUILT extension driving a real
  stubbed-provider session (chat-streaming.spec's harness family).
- store-assets.yml: manual-dispatch CI job for the render — the Windows dev
  box cannot complete Playwright's launch handshake under Bun's node-shim.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The #dz-model field is a text combobox, disabled during catalogue load and
not auto-filled for a multi-model catalogue — type the pick and let Save's
click blur-commit it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ed Save

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…fore close

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ization header

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ouncer

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…before page capture, archive before History

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…f room

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… again

Five 1280x800 frames + the 440x280 promo tile, rendered by CI run
31885050311 from the built extension driving a real stubbed-provider
session. The temp branch-push trigger is stripped — regeneration is
workflow_dispatch (or bun run store:shots on a machine with working
Playwright).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 38 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ced9399f-16bc-4b00-9837-2f55a748c6c2

📥 Commits

Reviewing files that changed from the base of the PR and between d6c96a0 and 506cda9.

⛔ Files ignored due to path filters (6)
  • docs/store/assets/promo-440x280.png is excluded by !**/*.png
  • docs/store/assets/shot-1-live-edit.png is excluded by !**/*.png
  • docs/store/assets/shot-2-diff.png is excluded by !**/*.png
  • docs/store/assets/shot-3-byok.png is excluded by !**/*.png
  • docs/store/assets/shot-4-history.png is excluded by !**/*.png
  • docs/store/assets/shot-5-onboarding.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • .github/workflows/release.yml
  • .github/workflows/store-assets.yml
  • docs/RELEASING.md
  • docs/STORE-SETUP.md
  • docs/store/LISTING.md
  • package.json
  • scripts/store-shots.ts

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Validation error: Too big: expected string to have <=250 characters at "tone_instructions"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Comment @coderabbitai help to get the list of available commands.

…tep-if

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sebyx07
sebyx07 merged commit 05d08ff into main Aug 15, 2026
7 checks passed
@sebyx07
sebyx07 deleted the feat/store-launch branch August 15, 2026 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Web Store submission + secret-guarded publish in CI

1 participant