Manifest
Every extension must contain a manifest file. That specifies the extension’s metadata like, the name, version, and commands.
In your extension project, the manifest file can be JavaScript, TypeScript, or JSON. And it’s on the root directory. Extension manifest file example:
Manifest Properties
Name | Type | Description |
---|---|---|
name | string | URL-friendly name of the extension |
title | string | The title of the extension. The title will be shown in the Command Bar and the store when you publish it |
version | string | The extension's version |
description | string | Short description of the extension |
icon | string | Name of the image file in the public/icon folder. The image must be PNG and have 512x512 dimensions. To support the dark theme, add a @dark suffix in the icon file name, e.g. icon.png into icon@dark.png . Or use the prefix icon: to use the icons in the UiIcons component as the icon. For example, icon:Command |
author | string | Username of your Alt. app account |
commands | ExtensionCommand[] | List of the extension commands |
categories | Categories[] | List of the extension categories |
config | ?Config[] | List of the extension configuration |
Command Properties
Name | Type | Description |
---|---|---|
name | string | A unique name of the command. The name must correspond with the command file or folder name inside the src directory. For example, view and the file name must be view.ts or view/index.ts .For a command with the script type. The name must include the file extension. |
type | view | action | script | The command type. Read more about the difference in the command page |
title | string | The command title that will be shown to the user |
icon | ?string | Name of the image file in the public/icon folder. The image must be PNG and have 512x512 dimensions. To support the dark theme, add a @dark suffix in the icon file name, e.g. icon.png into icon@dark.png . Or use the prefix icon: to use the icons in the UiIcons component as the icon. For example, icon:Command It will use the extension icon if not defined |
description | ?string | A short description of the command |
config | ?Config[] | List of the command configuration |
arguments | ?Argument[] | A list of the command arguments for the user needs to be filled in before running the command |
Command script
type Additional Properties
Name | Type | Description |
---|---|---|
hasScript | ?boolean | Whether the script return Command JSON output |
Config Properties
Name | Type | Description |
---|---|---|
name | string | A unique name of the config. This name will be used as the key when accessing the config |
title | string | Config title that will be shown to the user |
type | select | toggle | input:text | input:file | input:number | input:password | input:directory | The config type. Value of the input:password type will be encrypted using the electron safeStorage before being stored. |
placholder | ?string | Text that will be displayed when the field has no value |
description | ?string | Short description of the config |
required | ?boolean | Whether the user is required to input a value or not |
defaultValue | string | boolean | number | undefined | Default value of the field |
Config select
type Additional Properties
Name | Type | Description |
---|---|---|
options | { label: string; value: string }[] | Select options |
Config input:file
type Additional Properties
Name | Type | Description |
---|---|---|
fileFilter | { name: string; extensions: string[] }[] | Filter for which files the user can select. For example, { name: 'JavaScript', extensions: ['js', 'mjs', 'cjs'] } |
Argument Properties
Name | Type | Description |
---|---|---|
name | string | A unique name of the argument. This name will be used as the key when accessing the argument |
title | string | Argument title that will be shown to the user |
type | toggle | select | input:text | input:number | input:password | The argument type |
description | ?string | Short description of the argument |
placholder | ?string | Text that will be displayed when the field has no value |
required | ?boolean | Whether the user is required to input a value or not |
Argument select
type Additional Properties
Name | Type | Description |
---|---|---|
options | { label: string; value: string }[] | Select options |
Categories
Here are some categories that you can put in the extension manifest:
- Applications
- Automation
- Developer Tools
- Productivity
- Scripts
- Web
- Other