Degoog Docs

Degoog Store repositories

Git repositories you can add in Settings then Store to easily install plugins, themes, engines and every other kind of extension.

What a store repo is

A store repo is a Git repository you can link to Degoog by going to Settings then Store. Once you add it, you can browse and install plugins, themes, engines, transports, autocomplete providers, favicon providers and shortcuts from the Store tab without having to copy files manually.

Repo structure

Your repository needs to follow this layout:

my-degoog-repo/
  package.json
  plugins/
    my-plugin/
      index.js
      template.html
      style.css
  themes/
    my-theme/
      theme.json
      style.css
  engines/
    my-engine/
      index.js
  transports/
    my-transport/
      index.js
  autocomplete/
    my-autocomplete/
      index.js
  favicon/
    my-favicon/
      index.js
  shortcuts/
    my-shortcut/
      index.js

Each extension folder uses the same format it has when installed directly in your data folders. You do not need any extra packaging.

package.json (required)

At the root of your repository, you need to add a package.json file that lists every item you want to show up in the Store:

{
  "name": "my-degoog-repo",
  "description": "Short description of your collection",
  "author": "YourName",
  "plugins": [
    {
      "path": "plugins/my-plugin",
      "name": "My Plugin",
      "description": "What it does",
      "version": "1.0.0",
      "type": "command"
    }
  ],
  "themes": [
    {
      "path": "themes/my-theme",
      "name": "My Theme",
      "description": "Short description",
      "version": "1.0.0"
    }
  ],
  "engines": [],
  "transports": [],
  "autocomplete": [
    {
      "path": "autocomplete/my-autocomplete",
      "name": "My Autocomplete",
      "description": "Suggestions from somewhere",
      "version": "1.0.0"
    }
  ],
  "favicon": [
    {
      "path": "favicon/my-favicon",
      "name": "My Favicon Provider",
      "description": "Icons from icons.example.com"
    }
  ],
  "shortcuts": [
    {
      "path": "shortcuts/my-shortcut",
      "name": "My Shortcut",
      "description": "What the key does",
      "version": "1.0.0"
    }
  ],
  "repo-image": "logo.png"
}
  • repo-image (optional): The path to an image file in your repository root like logo.png or a full URL. This displays right next to your repository in Settings then Store.
  • path: The folder path inside your repository.
  • name, description, and version: These details are displayed on the Store card.
  • type (plugins only): You can use command, slot, searchBar, or search-result-tab. This is optional and helps with the Store display.
  • dependencies (optional): An array of URLs for things like required engines. When someone installs your item, these dependencies are offered to them automatically.

Only the items you explicitly list here will appear in the Store. Make sure your paths match your actual folders.

The manifest keys are plugins, themes, engines, transports, autocomplete, favicon and shortcuts. autocomplete and favicon are singular and shortcuts is plural. The Store ignores a misspelled key and everything under it. Autocomplete, Favicon providers and Shortcuts cover what goes in those folders.

Optional author.json and screenshots

Inside any extension folder you can include a few extra details:

  • author.json: This file overrides the main repository author for a specific item.
{
  "name": "Author Name",
  "url": "https://github.com/username",
  "avatar": "https://example.com/avatar.png"
}
  • screenshots/: A folder containing image files like 1.png or preview.png. The very first image acts as the Store card thumbnail, and all of them are visible in the lightbox when a user clicks the image.

Publish and share

  1. Push your repository to GitHub or any other Git host.
  2. Copy the clone URL.
  3. Tell your users to go to Settings then Store then Add and paste your URL.

Users only need to add your repository once. After that, they can easily install, uninstall, and refresh items directly from the Store. When someone refreshes a repository, their installed items are automatically updated to the latest version.

Official example: The official extensions repository uses the clone URL https://github.com/degoog-org/official-extensions.git. Just add it to your Store to install the Weather plugin, fresh themes, and other great extensions.

Community extensions

We want to give a massive thank you to our community for building and sharing their own plugins and engines. You can discover all of these over at the community extensions page. Please remember that because these are created by other users, we do not officially vet them or take any responsibility for them. Always make sure you double check what you are installing on your system before adding it.