Tug Mascot
Official Companion CLI · 10x Faster Store Shipping

Ship browser extensions
as seamlessly as git push

Say goodbye to repetitive form-filling and pixel-dimension errors in the Chrome Web Store dashboard.
Define multilingual listings and store graphics in a single local YAML file—Tug handles native browser mounting and validation in seconds.

Chrome Chrome
Edge Edge
Firefox Firefox Soon
$
curl -fsSL https://raw.githubusercontent.com/Deguang/tug/main/scripts/install.sh | bash
tug fill -z ./release/gemini-polish-v1.3.0.zip
┌ ⚓ TUG FILL Connecting to Chrome via native CDP session
◇ Located store draft: Store Listing (ajboihpfgk...)
◆ Submission Telemetry
Multilingual locales ............... 7 languages injected (en, zh_CN, zh_TW, ja, hi, de, fr)
Form metadata fields ............... 13 inputs populated (site, support, privacy policy)
Store assets mounted ............... 8 local media mounted (icon, marquee banner, 4 screenshots)
Extension package uploaded ......... release/gemini-polish-v1.3.0.zip
└ 🎉 Success! All listings & media mounted with 0 errors. Inspect browser and click submit!
30m → 15s
Release Velocity
From 30-min dashboard form-filling to a 15-second instant mount.
0 API Keys
Zero Credential Risk
Direct localhost CDP connection. No tokens, no secrets leaked.
10+ Locales
Declarative Single Source
One tug.yml governs all languages. Zero copy-paste churn.
0-Pixel Error
Pre-flight Verification
Pure JS byte parser stops dimension errors before review delay.
Workflow Evolution

Ditch Dashboard Friction. Adopt Modern Extension CI.

Slow web consoles, rigid pixel restrictions, and repetitive multiline copy-pasting shouldn’t bottleneck a developer’s creative momentum.

Traditional Manual Dashboard Grind

  • Repetitive Locale Churn: Switching across 10+ language dropdowns on every release, copying and pasting descriptions paragraph by paragraph.
  • Fragile Dimension Gates: A single-pixel mismatch abruptly rejects screenshot uploads; strict 1400×560 marquee banners get clipped.
  • Zero Version History: Dashboard updates leave no Git diff audit trail, completely divorced from code commit history.
  • Token & Privacy Liabilities: Third-party CI services demand highly privileged Store API refresh tokens and credentials.

The Modern Tug Workflow

  • Declarative Single Source: One tug.yml consolidates all multilingual copy and assets under rigorous Git version control.
  • Zero-Dependency Asset Pre-flight: Built-in pure JavaScript byte parser validates PNG and JPEG dimensions in milliseconds before upload.
  • Native CDP Direct Automation: Drives real browser sessions purely on localhost via Chrome DevTools Protocol—zero third-party proxy exposure.
  • Human-in-the-Loop Safety: Tug populates draft fields and mounts assets; the final "Submit for Review" click is always confirmed by you.
Tuggy the Tugboat
Brand Metaphor

Meet Tuggy · Small Hull, Massive Torque

Why named Tug?
In busy maritime ports, massive container ships cannot dock or maneuver by themselves—they depend on compact, agile tugboats with immense pulling power to guide them safely into harbor. Similarly, modern browser extension dashboards have grown bloated and tedious. Tuggy holds its signature orange Towing Ring, forging a rock-solid link between your local Git workspace and remote extension stores, bearing the heavy mechanical friction on your behalf.

Local-First YAML Native CDP Engine Zero C++ Builds 100% Open Source
Productivity Gains

Built to Save Hours on Every Store Release

Eliminate repetitive manual entry, prevent costly rejection delays, and keep yourself in the creative building flow.

1-Click Multilingual Rollout

Populate store listings across 10+ languages in seconds from a single YAML file. Cut repetitive manual copy-pasting from hours down to a single keystroke.

🛡️

Pre-flight Verification, Zero Rejections

Catch resolution mismatches, aspect ratio errors, and length limit violations before uploading. Never waste a multi-day review cycle on a 1-pixel discrepancy.

🔑

Zero-Config, No Cloud API Keys

No Google Cloud projects, no OAuth client credentials, and no expiring tokens. Connects directly to your active browser session on localhost with zero credential leakage risk.

🌐

Unified Multi-Store GitOps

Target Chrome Web Store, Edge Add-ons, and Firefox AMO with one unified specification. Keep your changelogs, listings, and assets fully version-controlled alongside your code.

Common Questions

Frequently Asked Questions

Everything you need to know about Tug architecture, security, and store automation.

How does Tug automate store submissions without cloud API keys?

Tug connects directly to your active, authenticated Chrome browser session via Chrome DevTools Protocol (CDP) on localhost. It directly drives draft form fields and mounts assets just like a developer would, bypassing complex Google Cloud OAuth setups, client secrets, and API quota bottlenecks.

🛡️ Does Tug store or leak my developer credentials?

Never. Tug runs 100% locally on your machine. It requires zero account tokens or cloud proxy relays, meaning no third-party server ever touches your credentials, listings, or extension source code.

🌐 Which browser extension stores are supported?

Tug supports full automated filling and asset mounting for the Chrome Web Store and Microsoft Edge Partner Center (Edge Add-ons), with universal schema blueprint support for Firefox AMO.

📐 How does pre-flight validation prevent store rejections?

Tug parses image binary headers in milliseconds before uploading, verifying pixel dimensions for screenshots (1280x800 / 640x400) and promotional tiles (440x280 / 1400x560), while checking text length limits to prevent costly rejection delays.

Get Started

Start Shipping with Tug

Distributed independently from public npm registries via official secure GitHub channels.

$
curl -fsSL https://raw.githubusercontent.com/Deguang/tug/main/scripts/install.sh | bash