Package Description File

Describe the basic information of the Nep package, the table is located at package.toml.

package

General information table.

name

Package name, it is recommended to use only English, Chinese, and spaces.

Do not include underscores (_), please use spaces or hyphens (-) instead.

  • Type: String
  • Example: name = "VSCode"

description

A brief description of the package, try to extract the introduction from official channels.

  • Type: String
  • Example: description = "A cross-platform open-source editor developed by Microsoft"

template

Package template, in the current version, it can only be "Software".

  • Type: String Enum
  • Valid values: Software
  • Example: template = "Software"

version

Package version number, using ExSemVer specification.

ExSemVer specification adds a RESERVED bit between PATCH and PRE based on SemVer, which is used to mark different packaging versions or to be compatible with the common 4-digit version numbers on the Windows platform; if the upstream version number conforms to SemVer specification, then set the RESERVED bit to 0.

  • Type: String
  • Example: version = "1.0.0.0"

authors

Package authors, the first author should be the packager, followed by the distributor, producer, etc.

Supports wrapping author email with <>.

  • Type: Vec<String>
  • Example: authors = ["Cno <dsyourshy@qq.com>", "Microsoft"]

license

Optional Open-source license SPDX identifier or EULA link.

  • Type: String
  • Example: license = "MIT"

icon

Optional Package icon URL.

  • Type: String
  • Example: icon = "https://code.visualstudio.com/favicon.ico"

strict

Optional Whether to use strict mode, the default is true.

When strict mode is enabled, if an error occurs in a step, the workflow will immediately stop execution and report an error; otherwise, the workflow will only warn of the error and continue to run the subsequent steps.

WARNING

Note that if you want to use the built-in variable ExitCode, please set strict to false.

  • Type: bool
  • Example: strict = false

software

Software package exclusive table.

scope

Software distribution domain, usually fill in the name of the upstream organization.

If the direct upstream of the software package is the distributor/organization, use the distributor's name, such as PortableApps; if the direct upstream of the software package is the official website, use the developer's/organization's name, such as Microsoft.

If the upstream organization is a formal organization with an independent domain name, capitalize the beginning of the distribution domain, such as using GitHub as the distribution domain for GitHub Desktop published by GitHub; if the upstream organization represents a general reference to a group, use a lowercase beginning for the distribution domain, such as using github as the distribution domain for open-source projects hosted on GitHub Releases.

  • Type: String
  • Example: scope = "Microsoft"

upstream

Software upstream URL, which can be the official website's download page or the distribution details page provided by the distributor/organization.

  • Type: String
  • Example: upstream = "https://code.visualstudio.com/"

category

Software category, it is recommended to be one of the Edgeless plugin package categories.

  • Type: String
  • Example: category = "Integrated Development"

arch

Optional The target architecture of the software compilation, the default indicates that the architecture compatibility is not checked during installation.

  • Type: String Enum
  • Valid values: X64 X86 ARM64
  • Example: arch = "X64"

language

Software language, Multi indicates multiple languages.

  • Type: String Enum
  • Valid values: Multi zh-CN en-US
  • Example: language = "Multi"

main_program

Optional Main program path, which can be a relative or absolute path.

If using an absolute path, it must start with a built-in variable.

  • Type: String
  • Example:
    # Relative Path Syntax main_program = "./code.exe" # Absolute Path Syntax main_program = "${AppData}/Local/Programs/Microsoft VS Code/Code.exe"

tags

Optional Tags, used for recommending similar packages or aggregating multiple closely related packages.

Do not repeat information from the package name, category, or author name.

  • Type: Vec<String>
  • Example: tags = ["electron", "typescript"]

alias

Optional Aliases, used for associative lookup.

Do not repeat information from the tags.

  • Type: Vec<String>
  • Example: alias = ["code", "vsc", "Visual Studio Code"]

registry_entry

Optional Registry entry, if the software is installed by calling an installer and has an Uninstall entry in the registry, providing this field can eliminate the need to write an uninstall workflow and help ept obtain more information.

Supports entries in the following 3 locations:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
  • Type: String
  • Example:
    # Corresponding registry path HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\{D9E514E7-1A56-452D-9337-2990C0DC4310}_is1 registry_entry = "{D9E514E7-1A56-452D-9337-2990C0DC4310}_is1"