A CLI extension for discovering and managing Gemini extensions.
Gemini Marketplace is a command-line tool that makes it easy to find, install, and manage extensions for the Gemini CLI. It provides a centralized place to discover new functionality and customize your Gemini experience.
- Discover: Find new extensions in the official Gemini Marketplace catalog.
- Search: Search for extensions by name, keyword, or author.
- Install: Install extensions from the marketplace with a single command.
- Manage: View and manage your installed extensions.
-
Install the binary
cargo install --path . --forceThis puts the
gemini-marketplaceexecutable in~/.cargo/bin. Make sure that directory is on yourPATHso the Gemini CLI can invoke the binary. -
Install the extension into Gemini
-
Once the extension is published to the public catalog:
gemini extensions install marketplace
-
Until then, you can install directly from this repository:
gemini extensions install https://github.com/gemini-rs/marketplace.git
-
For local development you can link the working tree:
gemini extensions link /absolute/path/to/gemini-marketplace
Validate the installation:
gemini extensions list
Remove the extension with
gemini extensions uninstall gemini-marketplacewhen needed. -
All marketplace data now lives under $GEMINI_CONFIG/extensions/marketplace/ (defaults to ~/.gemini/extensions/marketplace/ when the environment variable is not set), keeping it alongside the rest of your Gemini CLI state.
If you prefer a local build without installing the binary globally, you can still compile the project directly:
git clone https://github.com/gemini-rs/marketplace.git
cd marketplace
cargo buildOnce installed, you can use the marketplace command to manage your extensions.
gemini marketplace --helpTo list all available extensions:
gemini marketplace listTo search for an extension:
gemini marketplace search <query>To manage sources:
gemini marketplace sources add https://github.com/example/repo
gemini marketplace sources listTo refresh the cache manually:
gemini marketplace cache refreshInspect marketplace health and configuration:
gemini marketplace status
# or
gemini marketplace status --jsonRunning
gemini marketplace …through the Gemini CLI requires therun_shell_commandtool. If you see an error like “Toolrun_shell_commandnot found”, relaunch Gemini with the flag (for example:gemini --allowed-tools run_shell_command marketplace status -- --json).
Installing the extension registers a /marketplace slash command that proxies to the Rust binary:
/marketplace # show CLI help
/marketplace list --json
/marketplace search analytics
/marketplace cache refresh --forceEverything after /marketplace is passed verbatim to gemini-marketplace, so the slash command behaves exactly like the standalone CLI.
A few common workflows are wired up in the Makefile:
make help # show available shortcuts
make fmt # cargo fmt
make lint # cargo clippy --all-targets --all-features -- -D warnings
make test # cargo test
make local-publish # rebuild binary and copy the extension into ~/.gemini/extensions/gemini-marketplacemake local-publish is useful for testing a release locally without involving the public catalog. It recreates the installed extension directory (respecting $GEMINI_CONFIG if set) and drops a .gemini-extension-install.json metadata file so gemini extensions list reflects the update.
We welcome contributions to the Gemini Marketplace! If you'd like to contribute, please read our contributing guidelines.
This project is licensed under the MIT License.