Unofficial CLI for Chrome Web Store, Firefox Add-ons, and Microsoft Edge Add-ons.
Short command: cws · Version: 1.3.1
Disclaimer: This is an unofficial tool and is not affiliated with, endorsed by, or sponsored by Google, Mozilla, or Microsoft.
Requires Node.js 18+. Binaries after install: cws, chrome-store-cli.
# Recommended — no global install
npx chrome-store-cli --help
npx chrome-store-cli init
# Project / global install
npm install -D chrome-store-cli
npm install -g chrome-store-cli
cws --helpcws init
cws auth chrome # writes .env (gitignored — never commit secrets)
cws materials generate # icons / screenshots / promo / listing stubs
cws materials translate --locales zh_CN
cws materials sync --scaffold --write
cws materials check
cws preflight
cws release --env dev # testers first
cws statusMulti-store:
cws firefox upload --dry-run
cws edge publish --dry-run
cws multi publish --stores chrome,firefox,edge --dry-run| Area | Commands |
|---|---|
| Core | init, doctor, checklist, prepare, pack, upload, publish, config |
| DX | preflight, auth, release, scan, status --watch, tutorial |
| Materials | materials check/generate/translate/locales/sync |
| Multi-store | firefox *, edge *, multi publish, adapt |
| Help | reject-help, whatsnew, review-notes, report, skill install |
Most commands accept --env <name> and --extension <name>.
Package _locales/<code> so the dashboard language dropdown appears; keep
per-locale detailed description, screenshots, and optional promo video under
store/listing/<locale>/. Small promo tile / marquee stay global only.
cws materials generate --listing --locales en,zh_CN --force
cws materials translate --locales zh_CN,ja --force
cws materials sync --scaffold --write
cws materials locales
cws materials checkSecrets belong in environment variables or .env (gitignored). Prefer empty
secret fields in cws.config.json.
See docs/credentials.md and .env.example.
cws pack --env dev --extension main
cws action-init # GitHub Action templateThis repo ships an Agent Skill so Cursor / Claude / Codex can run the same publish workflow in any extension project.
# A) skills.sh CLI (recommended for discovery + telemetry → skills.sh ranking)
npx skills add nickylin/chrome-store-cli -g -y
# B) After npm / GitHub install of the CLI
cws skill install
# C) From a clone of this repo
npm run skill:installInstalls to ~/.cursor/skills/chrome-store-cli (and ~/.agents/skills when present).
Then in any extension repo say: “按 chrome-store-cli skill 发版” / “use chrome-store-cli skill”.
Keep skill + CLI in one repo so versions stay aligned. skills.sh indexes public
GitHub skills via npx skills add telemetry (no separate upload form). See
docs/npm-publish.md for npm release steps.
npm install
npm run build
npm test
npm run selftest



