About the community extensions store
This is an unofficial community initiative.
The GNOME Community Extensions Store was developed to help reduce the long waiting list for extension reviews. This benefits both reviewers and developers.
A human review system typically leads to a more curated
selection of extensions, but it can also create a
bottleneck during shell version transitions or events
like wars.
Therefore, this platform is not intended to replace the
official system, but rather to offer extension creators
an alternative for quickly distributing their
extensions.
We'd be thrilled if you shared this and showed it to others who might be interested. We've already shared it with the community, but it's always good to have it talked about.
CLI Helper & Web Integration
The CLI Helper is a lightweight utility that integrates this web catalog directly with your desktop system. It allows you to install extensions with a single click and keeps them updated in the background.
Key Features
- One-Click Install: Click "Quick Install" on any extension, and it will install and enable automatically.
- Auto-Updates: A background systemd timer checks for updates and keeps your extensions up-to-date automatically.
- Secure: The CLI only downloads and installs extensions verified and indexed in the official store repository database.
Easy Setup
Run this one-liner command in your terminal to download the CLI, register the browser protocol handler, and configure automatic hourly updates:
curl -sSL https://raw.githubusercontent.com/extensions-gnome/cli/main/gnome-ext-cli -o /tmp/gnome-ext-cli && chmod +x /tmp/gnome-ext-cli && /tmp/gnome-ext-cli register && /tmp/gnome-ext-cli setup-autoupdate && rm /tmp/gnome-ext-cli
Manual CLI Usage
You can also use the command line tool manually:
| Command | Description |
|---|---|
| gnome-ext-cli check-updates | Check for available updates in the store. |
| gnome-ext-cli update --all | Update all installed extensions. |
| gnome-ext-cli install [uuid] | Install a specific extension by its UUID. |
Developers Guide
Publishing on the community extensions store is entirely handled through GitHub Issues. Our automated bot processes your requests in real-time.
Available Request Types
🆕 New Extension
Use this for your initial submission. You'll need to provide the UUID, name, description, ZIP file, icon, and screenshots. The first person to submit an extension becomes its authorized owner.
🚀 Update ZIP (New Version)
The fastest way to update. Just upload the new
ZIP file. The bot automatically extracts the
UUID and version from your
metadata.json. Only the owner can
perform this action.
📝 Edit Metadata
Change your extension's description, icon, or screenshots without uploading a new ZIP. This skips the code audit for a faster update. Only the owner can perform this action.
🗑️ Delete Extension
Request the permanent removal of your extension. You must provide the UUID shown in the details modal. Only the owner or the store admin can authorize a deletion.
The Audit Process
Once you open an issue, the bot starts a multi-step verification:
- Asset Validation: Checks if all required files are present and reachable.
- AI Code Review: Powered by Llama-3, it analyzes the code for security risks and best practices.
- Malware Scan: Your ZIP is scanned by 70+ antivirus engines via VirusTotal.
- Instant Publication: If all checks pass, your extension is live on this site within minutes!