Skip to main content

Manifest File

The extension.json file contains the manifest for an Extension and needs to be placed in a public directory. You are required to provide a manifest file to publish an Extension to the Extensions Store.

Properties

PropertyTypeDescription
namestringRequired. The Extension's name. Length can be 1-60 characters.
descriptionstringRequired. The Extension's description. Length can be 1-255 characters.
longDescription?stringOptional. The Extension's longer description. Markdown is supported and recommended.
versionstringRequired. The Extension's version. Use 0 for now as this field is still a work in progress.
icon?stringOptional. The Extension's icon. This is a reference to a file on the repl. SVGs are accepted.
tags?string[]Optional. A list of tags that describe the extension.
coverImages?CoverImage[]Optional. A Cover Image belonging to an Extension. Max 4 coverImages per extension.
website?stringOptional. The Extension's website
authorEmail?stringOptional. The email address of the extension author
fileHandlers?FileHandler[]Optional. An array of file handlers registered by the extension.
tools?Tool[]Optional. An array of tools registered by the extension.
scopes?Scope[]Optional. An array of scopes/permissions required by the extension.

Types

CoverImage

A Cover Image belonging to your extension. Currently, only the first image will be used in the extension store. The path should reference an image file on the Repl's file system.

PropertyTypeDescription
pathstringThe path to the image. This is relative to the baseUrl
labelstringThe label of the image. This is used as the alt text for the image

FileHandler

A file handler is a custom user experience around a particular file in the Workspace, in the form of a Pane.

PropertyTypeDescription
globstringA glob pattern that matches the files that this handler should be used for
handlerstringThe path to the handler. This is relative to the baseUrl
name?stringOptional. Required if more than one file handler is registered. Fallback value is the extension's name.
icon?stringOptional. Required if more than one file handler is registered. Fallback value is the extension's icon.

Tool

A tool is a custom user experience in the Workspace, in the form of a Pane.

PropertyTypeDescription
handlerstringThe path to the handler. This is relative to the baseUrl
name?stringOptional. Required if more than one tool is registered. Fallback value is the extension's name.
icon?stringOptional. Required if more than one tool is registered. Fallback value is the extension's icon.

Scope

Scopes/Permissions required by the extension.

PropertyType
nameScopeTypeThe name of the scope
reasonstringThe reason why the extension needs this scope

ScopeType

  • read - Read any file in a Repl
  • write-exec - Write to any file and execute any code in a Repl
  • repldb:read - Read all data in the key-value ReplDB in a Repl
  • repldb:write - Write or delete any key in the key-value ReplDB in a Repl
"read" | "write-exec" | "repldb:read" | "repldb:write";