Skip to main content
LynxHub extensions allow you to customize the application shell, add custom React routes, register Redux state reducers, and interact with Node.js APIs in the main process. Follow this guide to create and test a simple extension.

Clone the starter template

To start developing quickly, first clone the host LynxHub application repository and navigate to its root folder. Then, clone the source branch of the official LynxHub Extension Template directly into the extension folder:
This sets up the following folder structure:

Define package configuration

Open the package.json file at the root of your extension folder and customize your extension’s name, author information, and repository links.
Extension metadata (metadata.json) and release version history (versioning.json) must be placed in a dedicated metadata branch of your repository. They are not stored in the source branch. For more details, see the Extension configuration and Publishing extensions guides.

Implement the main process

Create a src/main/lynxExtension.ts file. This handles background processes, system-tray menus, and Electron lifecycle hooks.

Implement the renderer process

Create a src/renderer/Extension.tsx file. This injects UI elements, styles, and custom menus into the frontend.

Run and test locally

Start the LynxHub host application in development mode:
The application automatically detects the /extension directory and boots your custom code.
  • Inspect your new Title Bar widget directly on the screen.
  • Press F12 or Ctrl+Shift+I to open the developer tools and verify the backend logs in your terminal.
  • Run static validation and typecheck scripts to verify code health:
Last modified on June 20, 2026