Skip to content

Repository files navigation

Chrome Extensions

A monorepo of Chrome extensions, managed as a pnpm workspace.

Layout

Each extension lives in its own folder under extensions/:

extensions/
  improve-am-web/     # Enhances the Apple Music web player

Every extension folder is self-contained (its own manifest.json, source files, package.json, and README.md) and follows the same structure. See each extension's own README for what it does, how to install it, and how to develop it.

There's no shared build step — extensions are plain JS/CSS loaded by Chrome as-is. pnpm workspaces here are just for consistent structure and tooling, not bundling.

Adding a new extension

  1. Create extensions/<name>/ with a manifest.json, source files, and a minimal package.json ({ "name": "<name>", "private": true }) so pnpm picks it up as a workspace member.
  2. The shared release workflow picks up any extension under extensions/* automatically — no workflow changes needed.

Releasing

All extensions share a single workflow, .github/workflows/release.yml:

  • Trigger: a push to main that changes extensions/<name>/manifest.json releases just that extension (bump the version to trigger a release). It can also be run manually via workflow_dispatch, picking the extension by folder name.
  • Build: no build — the workflow zips the changed extension's folder and uploads it via chrome-webstore-upload-cli, pinned to 3.5.0 (v4 requires a Publisher ID/Group Publishing that individual developer accounts don't have).
  • Secrets: CHROME_EXTENSION_ID, CHROME_CLIENT_ID, CHROME_CLIENT_SECRET, CHROME_REFRESH_TOKEN are plain repo secrets, unchanged from before — no new setup needed. Note these are shared across every extension in the matrix, so CHROME_EXTENSION_ID in particular only works cleanly while there's one extension; once a second one is added, its release will need a distinct extension ID (worth revisiting then — e.g. per-extension GitHub Environments).

About

Chrome extension to improve the Apple Music web player with Queue persistence, pinned pages, and back/forward navigation."

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages