drupal-layouts.json

type: object

title: The human-readable name

type: string

title: A description for advanced layouts

title: The human-readable category name

title: The template file to render this layout

title: The theme hook used to render this layout

default: layout

title: Path to resources like icon or template

title: The asset library

title: The path to the preview image

title: The icon map

type: array

title: List of regions in this layout

title: The human-readable name

title: The default region

title: Plugin class

title: JSON schema for Drupal layouts file


minecraft-tag.json

description: A tag's for a Minecraft data pack config schema

type: boolean

description: Values

description: An identifier for the current data pack

description: An identifier for the current data pack

description: Whether it's required for the current data pack

title: Minecraft Data Pack Tag


type: integer

$ref: #/$defs/ruleProperties


title: The tool name

description: The name of the tool to run.

title: The tool input

description: The input varies by tool. For example, the required version number, the package-id, the input source file or source directory.

title: Additional options

description: Additional Options to be appended to the tool's command line.

title: Comments

description: Comments for this tool item. For documentation only; ignored by the tool.

title: The list of tools to run

description: 'devinit.exe init' runs this list of tools sequentially. See also 'devinit.exe run'.

$ref: #/definitions/runObject

title: Comments

description: Comments for this file. For documentation only; ignored by the tool.

title: Codespaces DevInit Configuration


minecraft-template-pool.json

description: Configuration file defining a template pool for a data pack for Minecraft.

title: Name

description: The namespaced ID of the pool.

title: Fallback

description: Can set to another template pool, which generates when the original pool cannot generate at the end of all layers.

title: Elements

description: A list of structures to choose from.

title: Element

title: Weight

description: How likely this element is to be chosen when using this pool.

title: Element

description: The properties of this element.

title: Element Type

title: Feature

description: The namespaced id of the feature.

title: Location

description: The namespaced id of the structure to place.

title: Projection

title: Processors

description: The namespaced ID of a processor if this is a string.

type: string object

title: Processors

description: A list of processors to use.

title: Processor

title: Processor Type

description: The namespaced id of the processor to use.

title: Elements

description: A list of structures to choose from.

title: Element

title: Location

title: Projection

title: Element Type

title: Processors

title: Processors

description: A list of processors to use.

title: Processor

title: Processor Type

title: Minecraft Data Pack Template Pool


appveyor.json

$ref: #/definitions/job

description: This value will be used directly (regular string)

type: number

description: This value will be treated as a string even though it is a number

title: secret string

description: This should have been encrypted by the same user account to which the project belongs

title: commit filter

format: regex

description: Regex for matching commit message

description: Commit author's username, name, email or regexp matching one of these.

description: Only specific files (glob patterns)

title: command

description: Run a batch command

description: Run a PowerShell command

description: Run a PowerShell Core command

description: Run a batch command

description: Run a Bash command

title: environment variable hash

$ref: #/definitions/possiblySecretString

enum:
macOS
macOS-Mojave
macos-bigsur
macos-monterey
Previous macOS
Previous macOS-Mojave
Ubuntu
Ubuntu1604
Ubuntu1804
Ubuntu2004
Previous Ubuntu
Previous Ubuntu1604
Previous Ubuntu1804
Previous Ubuntu2004
Visual Studio 2013
Visual Studio 2015
Visual Studio 2017
Visual Studio 2019
Visual Studio 2022
Visual Studio 2017 Preview
Visual Studio 2019 Preview
Previous Visual Studio 2013
Previous Visual Studio 2015
Previous Visual Studio 2017
Previous Visual Studio 2019
Previous Visual Studio 2022
zhaw18
WMF 5

description: Build worker image (VM template) -DEV_VERSION

$ref: #/definitions/imageName

title: job scalars

$ref: #/definitions/image

description: Build platform, i.e. x86, x64, Any CPU. This setting is optional

$ref: #/definitions/platform

description: Build Configuration, i.e. Debug, Release, etc.

$ref: #/definitions/configuration

title: job

description: Version format

title: branch options

description: Branches to build

description: Whitelist

description: Blacklist

description: Do not build on tags (GitHub and BitBucket)

description: Start builds on tags only (GitHub and BitBucket)

description: Skipping commits with particular message or from specific user

$ref: #/definitions/commitFilter

description: Including commits with particular message or from specific user

description: Do not build feature branch with open Pull Requests

description: Maximum number of concurrent jobs for the project

title: notification

description: Scripts that are called at very beginning, before repo cloning

$ref: #/definitions/command

description: Clone directory

description: Fetch repository as zip archive

description: Set git clone depth

title: host options

description: Setting up etc\hosts file

description: Environment variables

title: environment options

description: variables defined here are no different than those defined at top level of 'environment' node

$ref: #/definitions/envVarHash

description: an array of environment variables, each member of which is one dimension in the build matrix calculation

title: matrix options

description: Set this flag to immediately finish build once one of the jobs fails

description: This is how to allow failing jobs in the matrix

$ref: #/definitions/jobScalars

description: Exclude configuration from the matrix. Works similarly to 'allow_failures' but build not even being started for excluded combination.

description: Build cache to preserve files/folders between builds

description: Enable service required for build/tests

description: Scripts that run after cloning repository

title: assembly options

description: Enable patching of AssemblyInfo.* files

title: NuGet options

description: Automatically register private account and/or project AppVeyor NuGet feeds

description: Disable publishing of .nupkg artifacts to account/project feeds for pull request builds

title: build options

description: Enable MSBuild parallel builds

description: Path to Visual Studio solution or project

description: Package Web Application Projects (WAP) for Web Deploy

description: Package Web Application Projects (WAP) for XCopy deployment

description: Package Web Applications for AWS Elastic Beanstalk deployment

description: Package Web Applications for Octopus deployment

description: Package Azure WebJobs for Zip Push deployment

description: Package Azure Cloud Service projects and push to artifacts

description: Package ASP.NET Core projects

description: Package .NET Core console projects

description: Package projects with .nuspec files and push to artifacts

description: Generate and publish NuGet symbol packages

description: Add -IncludeReferencedProjects option while packaging NuGet artifacts

description: MSBuild verbosity level

description: Scripts to run before build

description: Scripts to run *after* solution is built and *before* automatic packaging occurs (web apps, NuGet packages, Azure Cloud Services)

description: Scripts to run after build

description: To run your custom scripts instead of automatic MSBuild

description: Scripts to run before tests

description: To disable automatic tests

title: test options

description: To run tests again only selected assemblies and/or categories

title: assembly options

title: category options

description: To run tests from different categories as separate jobs in parallel

description: A category common for all jobs

description: To run your custom scripts instead of automatic tests

description: Scripts to run after tests

title: artifact options

description: Scripts to run before deployment

title: deployment options

description: To run your custom scripts instead of provider deployments

description: Scripts to run after deployment

description: On successful build

description: On build failure

description: After build failure or success

title: JSON schema for AppVeyor CI configuration files


minecraft-dimension.json

title: noise options

title: First Octave

description: The lower the value, the smoother the changes in altitude will be, making biome edges smoother.

title: Amplitudes

description: A list of floats. Using more values allows for greater precision. Higher absolute values seem to make the altitude reach greater absolute values.

title: dimension type

description: Configuration file defining a dimension type for a data pack for Minecraft.

title: Name

description: The resource location used for the dimension type.

title: Ultrawarm

description: Whether the dimensions behaves like the nether (water evaporates and sponges dry) or not. Also lets stalactites drip lava and causes lava to spread faster and thinner.

title: Natural

description: When true, nether portals can spawn zombified piglins. When false, compasses spin randomly, and using a bed to set the respawn point or sleep, is disabled.

title: Coordinate Scale

description: The multiplier applied to coordinates when traveling to the dimension.

title: Has Skylight

description: Whether the dimension has skylight access or not.

title: Has Ceiling

description: Whether the dimension has a bedrock ceiling or not.

title: Ambient Light

description: How much light the dimension has.

title: Fixed Time

description: If this is set to a number, the time of the day is the specified value.

title: Piglin Safe

description: Whether piglins shake and transform to zombified piglins.

title: Bed Words

description: When false, the bed blows up when trying to sleep.

title: Respawn Anchor Works

description: Whether players can charge and use respawn anchors.

title: Has Raids

description: Whether players with the Bad Omen effect can cause a raid.

title: Logical Height

description: The maximum height to which chorus fruits and nether portals can bring players within this dimension. This excludes portals that were already built above the limit as they still connect normally.

title: Minimum Y

description: The minimum height in which blocks can exist within this dimension.

title: Height

description: The total height in which blocks can exist within this dimension.

title: Infiniburn

description: A resource location defining what block tag to use for infiniburn.

title: Effects

description: Determines the dimension effect used for this dimension.

description: Configuration file defining a dimension for a data pack for Minecraft.

title: Type

description: The namespaced ID of the dimension type.

$ref: #/definitions/dimensionType

title: generator

description: Generation settings used for that dimension.

title: Type

description: The ID of the generator.

title: superflat options

description: Superflat settings.

title: Layers

description: Layer settings.

title: layer options

description: A superflat layer. The first entry is the bottom layer, the last entry is the top layer.

title: Height

description: The number of blocks in the layer.

title: Block

description: The block the layer is made of.

title: Biome

description: The single biome of the world.

title: Lakes

description: Whether or not to generate lakes. If set to true, then water and lava lakes generate often even in biomes where lakes don't normally generate. Lava lakes generate surrounded by different types of stone and ores from the overworld.

title: Features

description: Whether or not to generate biome-specific decorations like trees, grass, flowers, cacti, etc.

title: structure options

description: Structure settings.

title: stronghold options

description: Settings for how strongholds should be spawned.

title: Distance

description: Controls how far apart the strongholds are.

title: Count

description: How many strongholds to generate.

title: Spread

title: structures

description: Map of structures to use in this dimension.

title: structure

title: Spacing

description: Average distance between two structure placement attempts of this type in chunks.

title: Seperation

description: Minimum distance between two structures of this type in chunks; must be less than spacing.

title: Salt

description: A number that assists in randomization.

title: Seed

description: The seed used to generate the dimension. In most cases, this is exactly the same as the world seed, but can be different and the dimension generated is based upon this seed and not the world seed.

title: Settings

description: The noise settings used in the terrain generator. Can be set to a string to use a preset defined in the worldgen/noise_settings folder with a list of customized options.

title: biome source

description: Settings dictating which biomes and biome shapes.

title: Seed

description: The seed used for biome generation.

title: Biomes

description: A list of biome IDs to generate.

title: Type

description: The type of biome generation.

description: Default and large biome generation used in the overworld.

title: Large Biomes

description: Whether the biomes are large.

title: Legacy Biome Init Layer

description: Whether the world was default_1_1.

description: A single biome.

title: Biome

description: The single biome to generate.

description: A biome generation in which biomes are square (or close to square) and repeat along the diagonals.

title: Biomes

description: A list of biomes that repeat along the diagonals.

title: Scale

description: Determines the size of the squares on an exponential scale.

description: 3D biome generation used in the nether.

title: Altitude Noise

description: How the altitude parameter is spread in the world.

$ref: #/definitions/noise

title: Weirdness Noise

description: Similar to altitude_noise for the weirdness parameter.

title: Temperature Noise

description: Similar to altitude_noise for the temperature parameter.

title: Humidity Noise

description: Similar to altitude_noise for the humidity parameter.

title: Preset

description: A preset of the set of biomes to be used.

title: Biomes

description: A list of biomes, including their likelihood.

title: biome

description: A biome and its properties.

title: Biome

description: The biome.

title: parameters

description: Represent optimal conditions for where the biome should be placed. These values do not affect the generation of terrain within biomes; they affect where the game chooses to place biomes.

title: Altitude

title: Weirdness

description: Defines how weird the biome is going to appear next to other biomes.

title: Offset

description: Similar to the other parameters but offset is 0 everywhere, thus setting this parameter nearer to 0 gives the biome a greater edge over others, all else being equal.

title: Temperature

description: Used to place similar biomes near each other. This is NOT the same as the temperature value listed on Biome, it does NOT affect rain/snow or the color of leaves and grass.

title: Humidity

description: Biome generation used in the end with biome minecraft:the_end in the center and other end biomes around.

title: Minecraft Data Pack Dimension


grunt-watch-task.json

$ref: #/definitions/target

description: One or more files to watch.

description: One or more tasks to run.

$ref: #/definitions/options

description: Specify the type watch event that trigger the specified task.

$ref: #/definitions/eventType

default: all

enum: all changed added deleted

description: One or more files to watch.

$ref: #/definitions/optionsWithEvents

description: Whether to spawn task runs in a child process.

description: As files are modified this watch task will spawn tasks in child processes.

description: How long to wait before emitting events in succession for the same filepath and status. For example if your Gruntfile.js file was changed, a 'changed' event will only fire again after the given milliseconds.

description: The interval is passed to 'fs.watchFile'. Since 'interval' is only used by 'fs.watchFile' and this watcher also uses 'fs.watch'; it is recommended to ignore this option.

description: By default, if Gruntfile.js is being watched, then changes to it will trigger the watch task to restart, and reload the Gruntfile.js changes. When reload is set to true, changes to any of the watched files will trigger the watch task to restart. This is especially useful if your Gruntfile.js is dependent on other files.

description: This is only a task level option and cannot be configured per target. By default the watch task will duck punch grunt.fatal and grunt.warn to try and prevent them from exiting the watch process. If you don't want grunt.fatal and grunt.warn to be overridden set the forever option to false.

description: This option will trigger the run of each specified task at startup of the watcher.

type: boolean number

description: If enabled a live reload server will be started with the watch task per target. Then after the indicated tasks have run, the live reload server will be triggered with the modified files.

description: Ability to set the current working directory.

description: Option to prevent the livereload if the executed tasks encountered an error. If set to  false , the livereload will only be triggered if all tasks completed successfully.

title: JSON schema for the Grunt Watch task


circleciconfig.json

description:
https://circleci.com/docs/configuration-reference#logic-statements

A logical statement to be used in dynamic configuration

type: string boolean integer number

description:
https://circleci.com/docs/configuration-reference#logic-statements

Logical and: true when all statements in the list are true

$ref: #/definitions/logical

description:
https://circleci.com/docs/configuration-reference#logic-statements

Logical or: true when at least one statements in the list is true

description:
https://circleci.com/docs/configuration-reference#logic-statements

Logical not: true when statement is false

description:
https://circleci.com/docs/configuration-reference#logic-statements

True when all elements in the list are equal

description:
https://circleci.com/docs/configuration-reference#logic-statements

True when value matches the pattern

description: A map defining rules for execution on specific branches

description: Either a single branch specifier, or a list of branch specifiers

description:
https://circleci.com/docs/configuration-reference#orbs-requires-version-21

Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects.

description:
https://circleci.com/docs/creating-orbs#semantic-versioning-in-orbs

An orb to depend on and its semver range, or volatile for the most recent release.

description:
https://circleci.com/docs/creating-orbs#creating-inline-orbs

Inline orbs can be handy during development of an orb or as a convenience for name-spacing jobs and commands in lengthy configurations, particularly if you later intend to share the orb with others.

$ref: #/definitions/orbs

$ref: #/definitions/commands

$ref: #/definitions/executors

$ref: #/definitions/jobs

description:
https://circleci.com/docs/configuration-reference#commands-requires-version-21

A command definition defines a sequence of steps as a map to be executed in a job, enabling you to reuse a single command definition across multiple jobs.

description:
https://circleci.com/docs/configuration-reference#commands-requires-version-21

Definition of a custom command.

description: A sequence of steps run inside the calling job of the command.

$ref: #/definitions/step

description:
https://circleci.com/docs/reusing-config#using-the-parameters-declaration

A map of parameter keys.

description:
https://circleci.com/docs/reusing-config#string

A string parameter.

description:
https://circleci.com/docs/reusing-config#boolean

A boolean parameter.

description:
https://circleci.com/docs/reusing-config#integer

An integer parameter.

description:
https://circleci.com/docs/reusing-config#enum

The `enum` parameter may be a list of any values. Use the `enum` parameter type when you want to enforce that the value must be one from a specific set of string values.

required: type enum

description:
https://circleci.com/docs/reusing-config#executor

Use an `executor` parameter type to allow the invoker of a job to decide what executor it will run on.

description:
https://circleci.com/docs/reusing-config#steps

Steps are used when you have a job or command that needs to mix predefined and user-defined steps. When passed in to a command or job invocation, the steps passed as parameters are always defined as a sequence, even if only one step is provided.

description:
https://circleci.com/docs/reusing-config#environment-variable-name

The environment variable name parameter is a string that must match a POSIX_NAME regexp (e.g. no spaces or special characters) and is a more meaningful parameter type that enables additional checks to be performed.

description: A string that describes the purpose of the command.

description: Options for the [docker executor](https://circleci.com/docs/configuration-reference#docker)

description: The name of a custom docker image to use

description: The name the container is reachable by. By default, container services are accessible through `localhost`

description: The command used as executable when launching the container

description: The command used as pid 1 (or args for entrypoint) when launching the container

description: Which user to run the command as

description: A map of environment variable names and values

type: string number boolean

description: Authentication for registries using standard `docker login` credentials

description: Authentication for AWS EC2 Container Registry (ECR)

description: Options for the [machine executor](https://circleci.com/docs/configuration-reference#machine)

description: The VM image to use. View [available images](https://circleci.com/docs/configuration-reference#available-machine-images). **Note:** This key is **not** supported on the installable CircleCI. For information about customizing machine executor images on CircleCI installed on your servers, see our [VM Service documentation](https://circleci.com/docs/vm-service).

description: Set to `true` to enable [Docker Layer Caching](https://circleci.com/docs/docker-layer-caching). Note: If you haven't already, you must open a support ticket to have a CircleCI Sales representative contact you about enabling this feature on your account for an additional fee.

default: true

description: Options for the [macOS executor](https://circleci.com/docs/configuration-reference#macos)

description: The version of Xcode that is installed on the virtual machine, see the [Supported Xcode Versions section of the Testing iOS](https://circleci.com/docs/testing-ios#supported-xcode-versions) document for the complete list.

$ref: #/definitions/dockerExecutor

$ref: #/definitions/machineExecutor

description: Use the default machine executor image

$ref: #/definitions/macosExecutor

description: Executors define the environment in which the steps of a job will be run, allowing you to reuse a single executor definition across multiple jobs.

$ref: #/definitions/executorChoice

description: Amount of CPU and RAM allocated to each container in a job. Note: A performance plan is required to access this feature.

default: medium

description: Shell to use for execution command in all steps. Can be overridden by shell in each step (default: See [Default Shell Options](https://circleci.com/docs/configuration-reference#default-shell-options)

description: In which directory to run the steps.

description: A map of environment variable names and values.

type: string number

description:
https://circleci.com/docs/configuration-reference#run

Used for invoking all command-line programs, taking either a map of configuration values, or, when called in its short-form, a string that will be used as both the `command` and `name`. Run commands are executed using non-login shells by default, so you must explicitly source any dotfiles as part of the command.

description:
https://circleci.com/docs/configuration-reference#checkout

Special step used to check out source code to the configured `path` (defaults to the `working_directory`). The reason this is a special step is because it is more of a helper function designed to make checking out code easy for you. If you require doing git over HTTPS you should not use this step as it configures git to checkout over ssh.

description:
https://circleci.com/docs/configuration-reference#setup_remote_docker

Creates a remote Docker environment configured to execute Docker commands.

description:
https://circleci.com/docs/configuration-reference#save_cache

Generates and stores a cache of a file or directory of files such as dependencies or source code in our object storage. Later jobs can restore this cache using the `restore_cache` step.

description:
https://circleci.com/docs/configuration-reference#restore_cache

Restores a previously saved cache based on a `key`. Cache needs to have been saved first for this key using the `save_cache` step.

description:
https://circleci.com/docs/configuration-reference#deploy

Special step for deploying artifacts. `deploy` uses the same configuration map and semantics as run step. Jobs may have more than one deploy step. In general deploy step behaves just like run with two exceptions:
* In a job with parallelism, the deploy step will only be executed by node #0 and only if all nodes succeed. Nodes other than #0 will skip this step.
* In a job that runs with SSH, the deploy step will not execute

description:
https://circleci.com/docs/configuration-reference#store_artifacts

Step to store artifacts (for example logs, binaries, etc) to be available in the web app or through the API.

description:
https://circleci.com/docs/configuration-reference#storetestresults

Special step used to upload test results so they display in builds' Test Summary section and can be used for timing analysis. To also see test result as build artifacts, please use the `store_artifacts` step.

description:
https://circleci.com/docs/configuration-reference#persist_to_workspace

Special step used to persist a temporary file to be used by another job in the workflow

description:
https://circleci.com/docs/configuration-reference#attach_workspace

Special step used to attach the workflow's workspace to the current container. The full contents of the workspace are downloaded and copied into the directory the workspace is being attached at.

description:
https://circleci.com/docs/configuration-reference#add_ssh_keys

Special step that adds SSH keys from a project's settings to a container. Also configures SSH to use these keys.

description:
https://circleci.com/docs/configuration-reference#the-when-step-requires-version-21

Conditional step to run on custom conditions (determined at config-compile time) that are checked before a workflow runs

description:
https://circleci.com/docs/configuration-reference#the-when-step-requires-version-21

Conditional step to run when custom conditions aren't met (determined at config-compile time) that are checked before a workflow runs

description: Command to run via the shell

description: Title of the step to be shown in the CircleCI UI (default: full `command`)

description: Shell to use for execution command

description: Additional environmental variables, locally scoped to command

description: Whether or not this step should run in the background (default: false)

description: In which directory to run this step (default: `working_directory` of the job

description: Elapsed time the command can run without output. The string is a decimal with unit suffix, such as "20m", "1.25h", "5s" (default: 10 minutes)

description: Specify when to enable or disable the step. Takes the following values: `always`, `on_success`, `on_fail` (default: `on_success`)

description: Title of the step to be shown in the CircleCI UI

description: Checkout directory (default: job's `working_directory`)

description: When `docker_layer_caching` is set to `true`, CircleCI will try to reuse Docker Images (layers) built during a previous job or workflow (Paid feature)

description: If your build requires a specific docker image, you can set it as an image attribute

description: List of directories which should be added to the cache

description: Unique identifier for this cache

description: Title of the step to be shown in the CircleCI UI (default: 'Saving Cache')

description: Single cache key to restore

description: Title of the step to be shown in the CircleCI UI (default: 'Restoring Cache')

description: List of cache keys to lookup for a cache to restore. Only first existing key will be restored.

description: Directory in the primary container to save as job artifacts

description: Prefix added to the artifact paths in the artifacts API (default: the directory of the file specified in `path`)

description: Path (absolute, or relative to your `working_directory`) to directory containing subdirectories of JUnit XML or Cucumber JSON test metadata files

description: Either an absolute path or a path relative to `working_directory`

description: Glob identifying file(s), or a non-glob path to a directory to add to the shared workspace. Interpreted as relative to the workspace root. Must not be the workspace root itself.

description: Directory to attach the workspace to

description: Directory to attach the workspace to

description: A list of steps to be performed

description: A list of steps to be performed

description:
https://circleci.com/docs/reusing-config#invoking-reusable-commands

A custom command defined via the top level commands key

description:
https://circleci.com/docs/using-orbs#commands

A custom command defined via an orb.

description: Run a job as part of this workflow

description: Jobs are run in parallel by default, so you must explicitly require any dependencies by their job name.

description: The name key can be used to ensure build numbers are not appended when invoking the same job multiple times (e.g., sayhello-1, sayhello-2). The name assigned needs to be unique, otherwise numbers will still be appended to the job name

description: Either a single context name, or a list of contexts. The default name is `org-global`

description: A job may have a `type` of `approval` indicating it must be manually approved before downstream jobs may proceed.

description:
https://circleci.com/docs/configuration-reference#matrix-requires-version-21

The matrix stanza allows you to run a parameterized job multiple times with different arguments.

description: A map of parameter names to every value the job should be called with

description: A list of argument maps that should be excluded from the matrix

description: An alias for the matrix, usable from another job's requires stanza. Defaults to the name of the job being executed

description: Jobs are collections of steps. All of the steps in the job are executed in a single unit, either within a fresh container or VM.

description: The name of the executor to use (defined via the top level executors map).

description: Executor stanza to use for the job

description: A list of steps to be performed

description: In which directory to run the steps. (default: `~/project`. `project` is a literal string, not the name of the project.) You can also refer the directory with `$CIRCLE_WORKING_DIRECTORY` environment variable.

description: Number of parallel instances of this job to run (default: 1)

description: A map of environment variable names and variables (NOTE: these will override any environment variables you set in the CircleCI web interface).

description: A map defining rules for whitelisting/blacklisting execution of specific branches for a single job that is **not** in a workflow (default: all whitelisted). See Workflows for configuring branch execution for jobs in a workflow.

description: The version field is intended to be used in order to issue warnings for deprecation or breaking changes.

description: Used for orchestrating all jobs. Each workflow consists of the workflow name as a key and a map as a value

description: The Workflows `version` field is used to issue warnings for deprecation or breaking changes during v2 Beta. It is deprecated as of CircleCI v2.1

description: Specifies which triggers will cause this workflow to be executed. Default behavior is to trigger the workflow when pushing to a branch.

description: A workflow may have a schedule indicating it runs at a certain time, for example a nightly build that runs every day at 12am UTC:

description: See the [crontab man page](http://pubs.opengroup.org/onlinepubs/7908799/xcu/crontab.html)

description: Specify when to run the workflow.

description: Specify when *not* to run the workflow.

title: JSON schema for CircleCI configuration files


description: A router is in charge of connecting incoming requests to the services that can handle them. In the process, routers may use pieces of middleware to update the request, or act before forwarding the request to the service.

description: If not specified, HTTP routers will accept requests from all defined entry points. If you want to limit the router scope to a set of entry points, set the entryPoints option.

description: Rules are a set of matchers configured with values, that determine if a particular request matches specific criteria. If the rule is verified, the router becomes active, calls middlewares, and then forwards the request to the service.

description: To avoid path overlap, routes are sorted, by default, in descending order using rules length. The priority is directly equal to the length of the rule, and so the longest length has the highest priority. A value of 0 for the priority is ignored: priority = 0 means that the default rules length sorting is used.

description: You can attach a list of middlewares to each HTTP router. The middlewares will take effect only if the rule matches, and before forwarding the request to the service. Middlewares are applied in the same order as their declaration in router.

description: Each request must eventually be handled by a service, which is why each router definition should include a service target, which is basically where the request will be passed along to. HTTP routers can only target HTTP services (not TCP services).

description: When a TLS section is specified, it instructs Traefik that the current router is dedicated to HTTPS requests only (and that the router should ignore HTTP (non TLS) requests). Traefik will terminate the SSL connections (meaning that it will send decrypted data to the services). If you need to define the same route for both HTTP and HTTPS requests, you will need to define two different routers: one with the tls section, one without.

description: The options field enables fine-grained control of the TLS parameters. It refers to a TLS Options and will be applied only if a Host rule is defined.

description: If certResolver is defined, Traefik will try to generate certificates based on routers Host & HostSNI rules.

description: You can set SANs (alternative domains) for each main domain. Every domain must have A/AAAA records pointing to Traefik. Each domain & SAN will lead to a certificate request.

description: Main defines the main domain name.

description: SANs defines the subject alternative domain names.

required: rule service

description:
The load balancers are able to load balance the requests between multiple instances of your programs.

Each service has a load-balancer, even if there is only one server to forward traffic to.

description: Servers declare a single instance of your program.

description: The url option point to a specific instance. Paths in the servers' url have no effect. If you want the requests to be sent to a specific path on your servers, configure your routers to use a corresponding middleware (e.g. the AddPrefix or ReplacePath) middlewares.

description: When sticky sessions are enabled, a cookie is set on the initial request and response to let the client know which server handles the first response. On subsequent requests, to keep the session alive with the same server, the client should resend the same cookie.

description: The default cookie name is an abbreviation of a sha1 (ex: _1d52e).

description: Can be none, lax, strict or empty.

description: Configure health check to remove unhealthy servers from the load balancing rotation. Traefik will consider your servers healthy as long as they return status codes between 2XX and 3XX to the health check requests (carried out every interval). Traefik keeps monitoring the health of unhealthy servers. If a server has recovered (returning 2xx -> 3xx responses again), it will be added back to the load balancer rotation pool.

description: If defined, will apply this Method for the health check request.

description: path is appended to the server URL to set the health check endpoint.

description: If defined, will replace the server URL scheme for the health check endpoint

description: If defined, will apply Host header hostname to the health check request.

description: If defined, will replace the server URL port for the health check endpoint.

description: Defines the frequency of the health check calls. Interval is to be given in a format understood by `time.ParseDuration`. The interval must be greater than the timeout. If configuration doesn't reflect this, the interval will be set to timeout + 1 second.

description: Defines the maximum duration Traefik will wait for a health check request before considering the server failed (unhealthy). Timeout is to be given in a format understood by `time.ParseDuration`.

description: Defines custom headers to be sent to the health check endpoint.

description: Defines whether redirects should be followed during the health check calls (default: true).

description: The passHostHeader allows to forward client Host header to server. By default, passHostHeader is true.

description: Defines how Traefik forwards the response from the backend server to the client.

description: Specifies the interval in between flushes to the client while copying the response body. It is a duration in milliseconds, defaulting to 100. A negative value means to flush immediately after each write to the client. The flushInterval is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately.

description:
The WRR is able to load balance the requests between multiple services based on weights.

This strategy is only available to load balance between services and not between servers.

description: Can be none, lax, strict or empty.

description: The mirroring is able to mirror requests sent to a service to other services. Please note that by default the whole request is buffered in memory while it is being mirrored. See the maxBodySize option for how to modify this behaviour.

description: maxBodySize is the maximum size allowed for the body of the request. If the body is larger, the request is not mirrored. Default value is -1, which means unlimited size.

description: The Services are responsible for configuring how to reach the actual services that will eventually handle the incoming requests.

$ref: #/definitions/httpLoadBalancerService

$ref: #/definitions/httpWeightedService

$ref: #/definitions/httpMirroringService

$ref: #/definitions/httpFailoverService

description: The AddPrefix middleware updates the URL Path of the request before forwarding it.

description: prefix is the string to add before the current path in the requested URL. It should include the leading slash (/).

description: The BasicAuth middleware is a quick way to restrict access to your services to known users. If both users and usersFile are provided, the two are merged. The contents of usersFile have precedence over the values in users.

description: The users option is an array of authorized users. Each user will be declared using the `name:hashed-password` format.

description:
The usersFile option is the path to an external file that contains the authorized users for the middleware.

The file content is a list of `name:hashed-password`.

description: You can customize the realm for the authentication with the realm option. The default value is traefik.

default: traefik

description: You can define a header field to store the authenticated user using the headerField option.

description: Set the removeHeader option to true to remove the authorization header before forwarding the request to your service. (Default value is false.)

description:
The Buffering middleware gives you control on how you want to read the requests before sending them to services.

With Buffering, Traefik reads the entire request into memory (possibly buffering large requests into disk), and rejects requests that are over a specified limit.

This can help services deal with large data (multipart/form-data for example), and can minimize time spent sending data to a service.

description:
With the maxRequestBodyBytes option, you can configure the maximum allowed body size for the request (in Bytes).

If the request exceeds the allowed size, it is not forwarded to the service and the client gets a 413 (Request Entity Too Large) response.

description: You can configure a threshold (in Bytes) from which the request will be buffered on disk instead of in memory with the memRequestBodyBytes option.

description:
With the maxResponseBodyBytes option, you can configure the maximum allowed response size from the service (in Bytes).

If the response exceeds the allowed size, it is not forwarded to the client. The client gets a 413 (Request Entity Too Large) response instead.

description: You can configure a threshold (in Bytes) from which the response will be buffered on disk instead of in memory with the memResponseBodyBytes option.

description: You can have the Buffering middleware replay the request with the help of the retryExpression option.

description: The Chain middleware enables you to define reusable combinations of other pieces of middleware. It makes reusing the same groups easier.

description:
The circuit breaker protects your system from stacking requests to unhealthy services (resulting in cascading failures).

When your system is healthy, the circuit is closed (normal operations). When your system becomes unhealthy, the circuit becomes open and the requests are no longer forwarded (but handled by a fallback mechanism).

To assess if your system is healthy, the circuit breaker constantly monitors the services.

description: You can specify an expression that, once matched, will trigger the circuit breaker (and apply the fallback mechanism instead of calling your services).

description: The interval between successive checks of the circuit breaker condition (when in standby state)

description: The duration for which the circuit breaker will wait before trying to recover (from a tripped state).

description: The duration for which the circuit breaker will try to recover (as soon as it is in recovering state).

description: The Compress middleware enables the gzip compression.

description:
excludedContentTypes specifies a list of content types to compare the Content-Type header of the incoming requests to before compressing.

The requests with content types defined in excludedContentTypes are not compressed.

Content types are compared in a case-insensitive, whitespace-ignored manner.

description: specifies the minimum amount of bytes a response body must have to be compressed.

description:
The Content-Type middleware - or rather its unique autoDetect option - specifies whether to let the Content-Type header, if it has not been set by the backend, be automatically set to a value derived from the contents of the response.

As a proxy, the default behavior should be to leave the header alone, regardless of what the backend did with it. However, the historic default was to always auto-detect and set the header if it was nil, and it is going to be kept that way in order to support users currently relying on it. This middleware exists to enable the correct behavior until at least the default one can be changed in a future version.

description: autoDetect specifies whether to let the Content-Type header, if it has not been set by the backend, be automatically set to a value derived from the contents of the response.

description: The DigestAuth middleware is a quick way to restrict access to your services to known users. If both users and usersFile are provided, the two are merged. The contents of usersFile have precedence over the values in users.

description: The users option is an array of authorized users. Each user will be declared using the `name:realm:encoded-password` format.

description:
The usersFile option is the path to an external file that contains the authorized users for the middleware.

The file content is a list of `name:realm:encoded-password`.

description: You can customize the header field for the authenticated user using the headerField option.

description: The ErrorPage middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes. The error page itself is not hosted by Traefik.

description:
The status that will trigger the error page.

The status code ranges are inclusive (500-599 will trigger with every code between 500 and 599, 500 and 599 included). You can define either a status code like 500 or ranges with a syntax like 500-599.

description: The service that will serve the new requested error page.

description: The URL for the error page (hosted by service). You can use {status} in the query, that will be replaced by the received status code.

description: The ForwardAuth middleware delegate the authentication to an external service. If the service response code is 2XX, access is granted and the original request is performed. Otherwise, the response from the authentication server is returned.

description: The address option defines the authentication server address.

description: The tls option is the TLS configuration from Traefik to the authentication server.

description: Certificate Authority used for the secured connection to the authentication server.

description: Policy used for the secured connection with TLS Client Authentication to the authentication server. Requires tls.ca to be defined.

description: Public certificate used for the secured connection to the authentication server.

description: Private certificate used for the secure connection to the authentication server.

description: If insecureSkipVerify is true, TLS for the connection to authentication server accepts any certificate presented by the server and any host name in that certificate.

description: Set the trustForwardHeader option to true to trust all the existing X-Forwarded-* headers.

description: The authResponseHeaders option is the list of the headers to copy from the authentication server to the request.

description: The authResponseHeadersRegex option is the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.

description: The authRequestHeaders option is the list of the headers to copy from the request to the authentication server.

description: The Headers middleware can manage the requests/responses headers.

description: The customRequestHeaders option lists the Header names and values to apply to the request.

description: The customResponseHeaders option lists the Header names and values to apply to the response.

description: The accessControlAllowCredentials indicates whether the request can include user credentials.

description: The accessControlAllowHeaders indicates which header field names can be used as part of the request.

description: The accessControlAllowMethods indicates which methods can be used during requests.

description:
The accessControlAllowOriginList indicates whether a resource can be shared by returning different values.

A wildcard origin * can also be configured, and will match all requests. If this value is set by a backend server, it will be overwritten by Traefik

This value can contain a list of allowed origins.

description: The accessControlAllowOriginListRegex option is the counterpart of the accessControlAllowOriginList option with regular expressions instead of origin values.

description: The accessControlExposeHeaders indicates which headers are safe to expose to the api of a CORS API specification.

description: The accessControlMaxAge indicates how long (in seconds) a preflight request can be cached.

description: The addVaryHeader is used in conjunction with accessControlAllowOriginList to determine whether the vary header should be added or modified to demonstrate that server responses can differ based on the value of the origin header.

description: The allowedHosts option lists fully qualified domain names that are allowed.

description: The hostsProxyHeaders option is a set of header keys that may hold a proxied hostname value for the request.

description: The sslRedirect is set to true, then only allow https requests.

description: Set the sslTemporaryRedirect to true to force an SSL redirection using a 302 (instead of a 301).

description: The sslHost option is the host name that is used to redirect http requests to https.

description: The sslProxyHeaders option is set of header keys with associated values that would indicate a valid https request. Useful when using other proxies with header like: "X-Forwarded-Proto": "https".

description: Set sslForceHost to true and set SSLHost to forced requests to use SSLHost even the ones that are already using SSL.

description: The stsSeconds is the max-age of the Strict-Transport-Security header. If set to 0, would NOT include the header.

description: The stsIncludeSubdomains is set to true, the includeSubDomains directive will be appended to the Strict-Transport-Security header.

description: Set stsPreload to true to have the preload flag appended to the Strict-Transport-Security header.

description: Set forceSTSHeader to true, to add the STS header even when the connection is HTTP.

description: Set frameDeny to true to add the X-Frame-Options header with the value of DENY.

description: The customFrameOptionsValue allows the X-Frame-Options header value to be set with a custom value. This overrides the FrameDeny option.

description: Set contentTypeNosniff to true to add the X-Content-Type-Options header with the value nosniff.

description: Set browserXssFilter to true to add the X-XSS-Protection header with the value 1; mode=block.

description: The customBrowserXssValue option allows the X-XSS-Protection header value to be set with a custom value. This overrides the BrowserXssFilter option.

description: The contentSecurityPolicy option allows the Content-Security-Policy header value to be set with a custom value.

description: The publicKey implements HPKP to prevent MITM attacks with forged certificates.

description: The referrerPolicy allows sites to control when browsers will pass the Referer header to other sites.

description: The featurePolicy allows sites to control browser features.

description: The permissionsPolicy allows sites to control browser features.

description:
Set isDevelopment to true when developing. The AllowedHosts, SSL, and STS options can cause some unwanted effects. Usually testing happens on http, not https, and on localhost, not your production domain.
If you would like your development environment to mimic production with complete Host blocking, SSL redirects, and STS headers, leave this as false.

description: The ipStrategy option defines parameters that set how Traefik will determine the client IP.

description: The depth option tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right). If depth is greater than the total number of IPs in X-Forwarded-For, then the client IP will be empty. depth is ignored if its value is lesser than or equal to 0.

description: excludedIPs tells Traefik to scan the X-Forwarded-For header and pick the first IP not in the list. If depth is specified, excludedIPs is ignored.

description: IPWhitelist accepts / refuses requests based on the client IP.

description: The sourceRange option sets the allowed IPs (or ranges of allowed IPs by using CIDR notation).

description: SourceCriterion defines what criterion is used to group requests as originating from a common source. The precedence order is ipStrategy, then requestHeaderName, then requestHost. If none are set, the default is to use the requestHost.

description: Requests having the same value for the given header are grouped as coming from the same source.

description: Whether to consider the request host as the source.

description: To proactively prevent services from being overwhelmed with high load, a limit on the number of simultaneous in-flight requests can be applied.

description: The amount option defines the maximum amount of allowed simultaneous in-flight request. The middleware will return an HTTP 429 Too Many Requests if there are already amount requests in progress (based on the same sourceCriterion strategy).

description: PassTLSClientCert adds in header the selected data from the passed client tls certificate.

description: The pem option sets the X-Forwarded-Tls-Client-Cert header with the escape certificate.

description: The info option select the specific client certificate details you want to add to the X-Forwarded-Tls-Client-Cert-Info header. The value of the header will be an escaped concatenation of all the selected certificate details.

description: Set the notAfter option to true to add the Not After information from the Validity part.

description: Set the notBefore option to true to add the Not Before information from the Validity part.

description: Set the sans option to true to add the Subject Alternative Name information from the Subject Alternative Name part.

description: The subject select the specific client certificate subject details you want to add to the X-Forwarded-Tls-Client-Cert-Info header.

description: Set the country option to true to add the country information into the subject.

description: Set the province option to true to add the province information into the subject.

description: Set the locality option to true to add the locality information into the subject.

description: Set the organization option to true to add the organization information into the subject.

description: Set the commonName option to true to add the commonName information into the subject.

description: Set the serialNumber option to true to add the serialNumber information into the subject.

description: Set the domainComponent option to true to add the domainComponent information into the subject.

description: The issuer select the specific client certificate issuer details you want to add to the X-Forwarded-Tls-Client-Cert-Info header.

description: Set the country option to true to add the country information into the issuer.

description: Set the province option to true to add the province information into the issuer.

description: Set the locality option to true to add the locality information into the issuer.

description: Set the organization option to true to add the organization information into the issuer.

description: Set the commonName option to true to add the commonName information into the issuer.

description: Set the serialNumber option to true to add the serialNumber information into the issuer.

description: Set the domainComponent option to true to add the domainComponent information into the issuer.

description: Some plugins will need to be configured by adding a dynamic configuration.

description: The RateLimit middleware ensures that services will receive a fair number of requests, and allows one to define what fair is.

description:
average is the maximum rate, by default in requests by second, allowed for the given source.

It defaults to 0, which means no rate limiting.

The rate is actually defined by dividing average by period. So for a rate below 1 req/s, one needs to define a period larger than a second.

description:
period, in combination with average, defines the actual maximum rate.

It defaults to 1 second.

description:
burst is the maximum number of requests allowed to go through in the same arbitrarily small period of time.

It defaults to 1.

description: RegexRedirect redirect a request from an url to another with regex matching and replacement.

description: Set the permanent option to true to apply a permanent redirection.

description: The regex option is the regular expression to match and capture elements from the request URL.

description: The replacement option defines how to modify the URL to have the new target URL. Care should be taken when defining replacement expand variables: $1x is equivalent to ${1x}, not ${1}x (see Regexp.Expand), so use ${1} syntax.

description: RedirectScheme redirect request from a scheme to another.

description: The scheme option defines the scheme of the new url.

description: The port option defines the port of the new url. Port in this configuration is a string, not a numeric value.

description: Replace the path of the request url. It will replace the actual path by the specified one and will store the original path in a X-Replaced-Path header.

description: The path option defines the path to use as replacement in the request url.

description: The ReplaceRegex replace a path from an url to another with regex matching and replacement. It will replace the actual path by the specified one and store the original path in a X-Replaced-Path header.

description: The regex option is the regular expression to match and capture the path from the request URL.

description: The replacement option defines how to modify the path to have the new target path. Care should be taken when defining replacement expand variables: $1x is equivalent to ${1x}, not ${1}x (see Regexp.Expand), so use ${1} syntax.

description: The Retry middleware is in charge of reissuing a request a given number of times to a backend server if that server does not reply. To be clear, as soon as the server answers, the middleware stops retrying, regardless of the response status.

description: The attempts option defines how many times the request should be retried.

description: The initialInterval option defines the first wait time in the exponential backoff series.

description: Remove the specified prefixes from the URL path. It will strip the matching path prefix and will store the matching path prefix in a X-Forwarded-Prefix header.

description: The prefixes option defines the prefixes to strip from the request URL

description:
The forceSlash option makes sure that the resulting stripped path is not the empty string, by replacing it with / when necessary.

This option was added to keep the initial (non-intuitive) behavior of this middleware, in order to avoid introducing a breaking change.

It's recommended to explicitly set forceSlash to false.

description: Remove the matching prefixes from the URL path. It will strip the matching path prefix and will store the matching path prefix in a X-Forwarded-Prefix header.

description: The regex option is the regular expression to match the path prefix from the request URL.

description: If both HTTP routers and TCP routers listen to the same entry points, the TCP routers will apply before the HTTP routers. If no matching route is found for the TCP routers, then the HTTP routers will take over.

description: If not specified, TCP routers will accept requests from all defined entry points. If you want to limit the router scope to a set of entry points, set the entry points option.

description: It is important to note that the Server Name Indication is an extension of the TLS protocol. Hence, only TLS routers will be able to specify a domain name with that rule. However, non-TLS routers will have to explicitly use that rule with * (every domain) to state that every non-TLS request will be handled by the router.

description: You must attach a TCP service per TCP router. Services are the target for the router. TCP routers can only target TCP services (not HTTP services).

description:
When a TLS section is specified, it instructs Traefik that the current router is dedicated to TLS requests only (and that the router should ignore non-TLS requests).

By default, a router with a TLS section will terminate the TLS connections, meaning that it will send decrypted data to the services.

description: A TLS router will terminate the TLS connection by default. However, the passthrough option can be specified to set whether the requests should be forwarded "as is", keeping all data encrypted.

description: Main defines the main domain name.

description: The address option (IP:Port) point to a specific instance.

description:
As a proxy between a client and a server, it can happen that either side (e.g. client side) decides to terminate its writing capability on the connection (i.e. issuance of a FIN packet). The proxy needs to propagate that intent to the other side, and so when that happens, it also does the same on its connection with the other side (e.g. backend side).

However, if for some reason (bad implementation, or malicious intent) the other side does not eventually do the same as well, the connection would stay half-open, which would lock resources for however long.

To that end, as soon as the proxy enters this termination sequence, it sets a deadline on fully terminating the connections on both sides.

The termination delay controls that deadline. It is a duration in milliseconds, defaulting to 100. A negative value means an infinite deadline (i.e. the connection is never fully terminated by the proxy itself).

description: If not specified, UDP routers will accept packets from all defined (UDP) entry points. If one wants to limit the router scope to a set of entry points, one should set the entry points option.

description: There must be one (and only one) UDP service referenced per UDP router. Services are the target for the router.

description: The servers load balancer is in charge of balancing the requests between the servers of the same service.

description: The servers field defines all the servers that are part of this load-balancing group, i.e. each address (IP:Port) on which an instance of the service's program is deployed.

description: Traefik v2 Dynamic Configuration File Provider

description:
Attached to the routers, pieces of middleware are a means of tweaking the requests before they are sent to your service (or before the answer from the services are sent to the clients).

There are several available middleware in Traefik, some can modify the request, the headers, some are in charge of redirections, some add authentication, and so on.

Pieces of middleware can be combined in chains to fit every scenario.

description: Each of the fields of the service section represents a kind of service. Which means, that for each specified service, one of the fields, and only one, has to be enabled to define what kind of service is created. Currently, the two available kinds are LoadBalancer, and Weighted.

description: Similarly to TCP, as UDP is the transport layer, there is no concept of a request, so there is no notion of an URL path prefix to match an incoming UDP packet with. Furthermore, as there is no good TLS support at the moment for multiple hosts, there is no Host SNI notion to match against either. Therefore, there is no criterion that could be used as a rule to match incoming packets in order to route them. So UDP "routers" at this time are pretty much only load-balancers in one form or another.

description: Configures the TLS connection, TLS options, and certificate stores.

description: A list of stores can be specified here to indicate where the certificates should be stored. Although the stores list will actually be ignored and automatically set to ["default"].

description: The TLS options allow one to configure some parameters of the TLS connection.

description: Minimum TLS Version

description: Maximum TLS Version. It is discouraged to use of this setting to disable TLS1.3. The recommended approach is to update the clients to support TLS1.3.

description: Cipher suites defined for TLS 1.2 and below cannot be used in TLS 1.3, and vice versa. With TLS 1.3, the cipher suites are not configurable (all supported cipher suites are safe in this case).

description:
This option allows to set the preferred elliptic curves in a specific order.

The names of the curves defined by crypto (e.g. CurveP521) and the RFC defined names (e.g. secp521r1) can be used.

description: With strict SNI checking enabled, Traefik won't allow connections from clients that do not specify a server_name extension or don't match any certificate configured on the tlsOption.

description: This option allows the server to choose its most preferred cipher suite instead of the client's. Please note that this is enabled automatically when minVersion or maxVersion are set.

description: Traefik supports mutual authentication, through the clientAuth section.

description: For authentication policies that require verification of the client certificate, the certificate authority for the certificate should be set here.

description: Any store definition other than the default one (named default) will be ignored, and there is therefore only one globally available TLS store.

description: Traefik can use a default certificate for connections without a SNI, or without a matching domain. If no default certificate is provided, Traefik generates and uses a self-signed certificate.

description: GeneratedCert defines the default generated certificate configuration.

description: Resolver is the name of the resolver that will be used to issue the DefaultCertificate.

description: Domain is the domain definition for the DefaultCertificate.

description: Main defines the main domain name.


schema-pro.json

$ref: #/$defs/Project

$ref: #/$defs/CommitAuthor

$ref: #/$defs/Hooks

$ref: #/$defs/Twitter

$ref: #/$defs/Mastodon

$ref: #/$defs/Reddit

$ref: #/$defs/Slack

$ref: #/$defs/Discord

$ref: #/$defs/Teams

$ref: #/$defs/SMTP

$ref: #/$defs/Mattermost

$ref: #/$defs/LinkedIn

$ref: #/$defs/Telegram

$ref: #/$defs/Webhook

$ref: #/$defs/OpenCollective

$ref: #/$defs/FileInfo

enum: tar tgz tar.gz zip gz tar.xz txz binary

$ref: #/$defs/FormatOverride

$ref: #/$defs/File

$ref: #/$defs/ArchiveHooks

$ref: #/$defs/TemplatedFile

description: you can now remove this

$ref: #/$defs/ExtraFile

$ref: #/$defs/TemplatedExtraFile

enum: symlink ghost config config|noreplace dir tree

description: use repository instead

description: use service instead

description: use repository instead

description: use scoops instead

description: use builds instead

description: use repository instead

enum: all manifests images checksum source package archive binary sbom

description: you can now remove this

description: goreleaser configuration definition file


template.json

description: Indicates limitations on the valid values a symbol may be assigned. When specified, the symbol value is attempted to be converted to this type. The datatype "choice" is supported only for parameter symbols and requires providing symbols.choices configuration for the symbol.

enum: choice bool float int hex text

pattern: ^(integer|string)$

description: The constant value to be assigned to the symbol.

deprecationMessage: This property is not maintained and may be removed in the future. Use defaultFormat instead, or use 'guids' section.

description: The format of guid to be generated. Accepts a single value from ('n', 'd', 'b', 'p', 'x') for lowercase output or ('N', 'D', 'B', 'P', 'X') for uppercase output. The formats are defined in Guid.ToString() method documentation.

description: The format string to use when converting the date-time to a string representation.

description: If true, use UTC time. If false, use local time.

description: An integer value indicating the low-end of the range to generate the random number in.

description: An integer value indicating the high-end of the range to generate the random number in. If not explicitly provided, defaults to int.MaxValue.

description: The name of a different parameter in the template configuration. A copy of its value will be used by this generator's regex to generate the value for this parameter. The value of the source parameter is not modified.

description: An ordered list of key-value pairs indicating the regex replacement actions. Each element of the list must contain exactly the keys 'regex' and 'replacement' - along with their values. These replacements will be applied to the result of the previous replacement (except the first, which acts on the original value from the source).

required: regex replacement

description: The regular expression to use to locate the sequence to replace.

description: The replacement for any sequences matched by the supplied regular expression.

description: The symbol to search for a match. Its value will be used by this generator's regex to evaluate if there is a match. The value of the source parameter is not modified.

description: The regular expression to use to match.

required: sourceVariableName fallbackVariableName

description: The name of the symbol whose value will be inspected - if the value is effectively equal to the default value, the value of the symbol referred to by fallbackVariableName is used, otherwise the value of this symbol.

description: The value to consider as being the default - if the value of the symbol referred to by sourceVariableName is equal to this, the value of the symbol referred to in fallbackVariableName is used instead.

description: The name of the symbol to return the value of if the symbol referred to by sourceVariableName has a value equal to the value of defaultValue.

description: The name of the symbol whose value should have its case changed.

description: Whether the case changed to should be lower case, if false, the value is made to be uppercase instead.

description: The lower bound of acceptable port numbers.

description: The upper bound of acceptable port numbers.

description: The port number to use if no free ports could be found.

description: The style of evaluator to use.

enum: C++ C++2 MSBUILD VB

$ref: #/definitions/datatype

description: The set of cases to test for. The first one, in document order, to return true's value is used, if none return true, empty string is returned.

required: condition value

description: An expression to be interpreted by the specified evaluator type.

description: The value to return if the condition evaluates to true.

description: The value used as the separator between the values to be concatenated, notice that you can use "/" as folder separator also on Windows since File API will convert it into "\".

description: Indication whether null and empty strings should be removed from joining to prevent repetitive separators.

default: false

description: All values to concatenate.

description: "ref" to reference value from another symbol or "const" for string constant, defaults to "const".

enum: ref const

description: Either name of another symbol or string constant.

description: A guid string to be replaced in source files. Format and casing is not significant in the config as format and casing is preserved based on the particular guid in processed file(s).

description: Boolean condition to indicate if the sources configuration should be included or ignored. If the condition evaluates to true or is not provided, the sources config will be used for creating the template. If it evaluates to false, the sources config will be ignored.

description: The set of globbing patterns indicating the content that was included by sources.include that should not be processed.

$ref: #/definitions/ice

description: The set of globbing patterns indicating the content to process in the path referred to by the source.

description: The set of globbing patterns indicating the content that was included by sources.include, that hasn't been excluded by sources.exclude that should be placed in the user's directory without modification.

description: The set of explicit renames to perform. Each key is a path to a file in the source, each value is a path to the target location.

$ref: #/definitions/modifier

description: A list of additional source information which gets added to the top-level source information, based on evaluation the corresponding source.modifiers.condition.

description: The path in the template content (relative to the directory containing the .template.config folder) that should be processed.

description: The path (relative to the directory the user has specified) that content should be written to.

description: The author of the template.

description: Zero or more characteristics of the template that a user might search for it by.

description: The name to use during creation if no name has been specified by the user or provided from the host.

description: The semantic version range of the Microsoft.TemplateEngine.Orchestrator.RunnableProjects package that this template is usable with. In older versions of the engine, the four octet version string is used but is matched against a constant which was never changed from 1.0.0.0 - either syntax is now accepted, however the four octet string will not be changed from 1.0.0.0.

description: The ID of the group this template belongs to. When combined with the "tags" section, this allows multiple templates to be displayed as one, with the the decision for which one to use being presented as a choice in each one of the pivot categories (keys).

description: A list of guids which appear in the template source and should be replaced in the template output. For each guid listed, a replacement guid is generated, and replaces all occurrences of the source guid in the output.

$ref: #/definitions/guid

description: A unique name for this template.

description: The name for the template that users should see.

description: A filename that will be completely ignored except to indicate that its containing directory should be copied. This allows creation of an empty directory in the created template, by having a corresponding source directory containing just the placeholder file. Completely empty directories are ignored.

description: Defines an ordered list of actions to perform after template generation. The post action information is provided to the creation broker, to act on as appropriate.

required: actionId manualInstructions

description: A guid uniquely defining the action. The value must correspond to a post-action known by the broker.

description: A list of key-value pairs to use when performing the action. The specific parameters required / allowed are defined by the action itself.

description: A C++ style expression that, if it evaluates to 'false' causes the post-action to be skipped. This expression may refer to any symbols that have been defined.

description: If this action fails, the value of continueOnError indicates whether to attempt the next action, or stop processing the post actions. Should be set to true when subsequent actions rely on the success of the current action.

description: A human-readable description of the action.

description: Defines identifier to be used when localizing the post action artifacts.

description: A list of arguments names from 'args' to which the file renames configured in symbols should be applied.

description: If set to true, the file renames configured in symbols should be applied to manual instructions.

description: An ordered list of possible instructions to display if the action cannot be performed. Each element in the list must contain a key named "text", whose value contains the instructions. Each element may also optionally provide a key named "condition" - a Boolean evaluate-able string. The first instruction whose condition is false or blank will be considered valid, all others are ignored.

description: Defines identifier to be used when localizing the manual instructions.

description: Instruction display - shows a message given by description and manualInstructions as well as an optional command line to ask the user to execute.

description: The executable to instruct the user to run.

description: The arguments to instruct the user to run the executable with - if executable is not specified, this value is unused.

description: Process start - starts a process.

description: Whether or not to redirect stdout for the process (prevents output from being displayed if true).

description: Defines whether or not the stderr should be redirected. If the output is redirected, it prevents it from being displayed.

description: The executable to run.

description: The arguments to supply to the executable.

description: Add reference - adds a reference to a project, package or framework assembly.

required: referenceType reference

description: The type of reference to add. project = A project to project reference. package = A NuGet package reference. framework - A framework assembly reference.

enum: project package framework

description: Must be a literal extension for the project file(s) of interest, may be a semicolon delimited list. If unspecified, any project file (*.*proj) is allowed.

description: The reference to be added (if referenceType=package, this is the package ID; if referenceType=framework, this is the path or assembly name; if referenceType=project, this is the path to the project reference to add).

description: The version of the package reference to add, applicable only if referenceType=package.

description: An array of files that should be processed. If not specified, the project file in output directory or its closest parent directory will be used.

description: A semicolon delimited list of files that should be processed. If not specified, the project file in output directory or its closest parent directory will be used.

description: chmod - runs chmod on a particular file.

description: The permissions to set: the key-value pairs, where the key is a permission, and the value is a file or array of files to apply the permission to.

description: The set of files (or patterns) to apply the permission specified in the property name to.

description: The file (or pattern) to apply the permission specified in the property name to.

description: NuGet package restore - restores NuGet packages for all primary outputs with file extensions *.proj or *.sln.

description: An array of files that should be restored. If not specified, all primary outputs are restored.

description: A semicolon delimited list of files that should be restored. If not specified, all primary outputs are restored.

description: Add to solution - Adds one or more of the primary outputs to the first sln file found (searches up the directory tree from the output folder).

description: A semicolon delimited list of indexes of the primary outputs that should be added to the solution, if not specified, all primary outputs are used.

description: The destination solution folder path to add the projects to. Can't be used with 'inRoot'. Optional.

description: Places the projects in the root of the solution, rather than creating a solution folder. Cannot be used with 'solutionFolder'. Optional. Available since .NET SDK 7.0.200.

description: An array of project files that should be added to solution. If not specified, primary outputs will be used instead.

description: A semicolon delimited list of files that should be added to solution. If not specified, primary outputs will be used instead.

description: Open in editor - Adds one or more of the primary outputs to the first sln file found (searches up the directory tree from the output folder).

description: A semicolon delimited list of indexes of the primary outputs that should be opened in the editor.

description: A value used to determine how preferred this template is among the other templates with the same groupIdentity (higher values are more preferred).

description: Indicated which behaviour to use when no `--name` is specified during template creation. If `true` it will use the template's `defaultName`. If no `defaultName` is found, or `preferDefaultName` is `false` it uses the fallback (output folder).

description: Indicates whether to create a directory for the template if name is specified but an output directory is not set (instead of creating the content directly in the current directory).

description: A list of important output paths created during template generation. These paths need to be added to the newly created project at the end of template creation.

description: The path to the file in the template content whose corresponding output file should be included as a primary output.

description: The condition for including the specified path in the primary outputs set.

description: A shorthand name for selecting the template in CLI environment. The template short name should be unique across all the installed templates.

description: A shorthand name for selecting the template in CLI environment. The first element is a primary choice, and will be used in scenarios which allow only single value for the short name. The template short name should be unique across all the installed templates.

description: The text in the source content to replace with the name the user specifies. The value of the 'sourceName' is available in built-in 'name' symbol that can be used as the source for creating other symbols and condition expressions. See important information about how to select correct 'sourceName' in https://github.com/dotnet/templating/wiki/Naming-and-default-value-forms.

description: The set of mappings in the template content to user directories.

description: Custom value forms used by the template.

description: The identifier for the value form component that will be used to transform the value.

enum: lowerCaseInvariant xmlEncode safe_name lower_safe_name upperCaseInvariant replace safe_namespace lower_safe_namespace chain lowerCase identity upperCase jsonEncode firstLowerCase firstLowerCaseInvariant firstUpperCase firstUpperCaseInvariant titleCase kebabCase

description: Lowercases the source value in a culture invariant way.

description: XML encodes the source value.

description: Converts the source value to a string suitable for a C# identifier.

description: Converts the source value to a lowercase string suitable for a C# identifier.

description: Performs a regular expression replacement on the source value.

description: A regular expression whose matches will be replaced with the literal value specified in replacement.

description: The value to replace the matches of the specified pattern in the source value with.

description: Converts the source value to a string suitable for a C# namespace.

description: Converts the source value to a lowercase string suitable for a C# namespace.

description: Performs a series of transforms.

description: The name of the form to apply to the previous step (or source value if this is the first step).

description: Changes the case of source value to lower-case.

description: Returns the source value.

description: Converts the source value to upper-case using the casing rules of the current culture.

description: Converts the source value to upper-case using the casing rules of the invariant culture.

description: JSON encodes the source value.

description: Converts the first letter of the value to lowercase using the casing rules of the current culture.

description: Converts the first letter of the value to lowercase using the casing rules of the invariant culture.

description: Converts the first letter of the value to uppercase using the casing rules of the current culture.

description: Converts the first letter of the value to uppercase using the casing rules of the invariant culture.

description: Converts the value to title case using the casing rules of the current culture.

description: Converts the value to kebab case using the casing rules of the invariant culture.

description: The symbols section defines variables and their values, the values may be the defined in terms of other symbols. When a defined symbol name is encountered anywhere in the template definition, it is replaced by the value defined in this configuration. The symbols configuration is a collection of key-value pairs. The keys are the symbol names, and the value contains key-value-pair configuration information on how to assign the symbol a value.

enum: bind derived generated parameter computed

description: The symbol binds value from external sources.

description: The source and the name of parameter to take the value from. The syntax is: <external source>:<parameter name>. Well known external sources are: host - a value that is defined by the template engine host; env - environment variable.

description: The value assigned to the symbol if no value was provided from external source(s).

description: The text to replace with the value of this symbol.

description: Defines the portion of file names which will be replaced by symbol value.

description: The replacement string occurs after this value.

description: The replacement string occurs before this value.

description: The value of this symbol is derived from the value of another symbol by the application of value forms.

description: The name of the symbol that the value should be derived from.

description: The name of the value form that should be applied to the source value to use as the value of this symbol.

description: The value assigned to the symbol if no value was provided.

description: Defines the high level configuration of symbol.

description: Flag indicating whether the parameter has to be specified on the input.

description: Condition indicating whether the parameter has to be specified on the input.

description: Flag indicating parameter visibility.

description: Condition indicating parameter visibility.

description: An array listing the valid choices for a symbol whose datatype = choice. If not provided, there are no valid choices for the symbol, so it can never be assigned a value.

description: A valid value for the symbol.

description: Help text describing the meaning of the corresponding value.

description: The friendly name of the choice to be displayed to the user. This property can be localized.

description: The value assigned to the symbol if no value for it is provided by the user or host.

description: The description of the parameter.

description: The element defines the portion of file names which will be replaced by symbol value.

description: Indication whether multiple values can be specified for a parameter. Valid only for datatype = choice.

description: Indication whether implicit symbols for each choice value should be added to parameter collection. This allows condition syntax without using quotes for choice literals. Valid only for datatype = choice.

description: The friendly name of the symbol to be displayed to the user. This property can be localized.

description: An array of the forms applied to the parameter symbol. Note that the forms should produce the different result on the value of 'replaces' and 'fileRename' properties. Use the form in the template content to apply corresponding transformation to the value given by the user as the parameter.

description: The form applied to the parameter symbol. Note that the forms should produce the different result on the value of 'replaces' and 'fileRename' properties. Use the form in the template content to apply corresponding transformation to the value given by the user as the parameter.

description: An evaluate-able condition whose result defines the value of the symbol.

description: Alternate sets of defaults for symbols.

description: A named set of alternate defaults.

description: A string to use to indicate the intent of the baseline.

description: A lookup of symbol names to new defaults.

description: An updated default value for the specified symbol.

description: Common information about templates, these are effectively interchangeable with choice type parameter symbols.

description: The programming language the template primarily contains or is intended for use with.

description: The type of template: project or item.

description: An URL for a document indicating any libraries used by the template that are not owned/provided by the template author.

description: A description of the template's purpose or contents for use in help.

description: The constraints section defines the restrictions when the template can be run. Available since .NET SDK 7.0.100.

description: Constraint type.

description: Constraints arguments.

enum: os host workload sdk-version project-capability

description: Operating system constraint. Allows to restrict the template to be run only on specific operating systems.

description: Host constraint. Allows to restrict the template to be run only on specific applications using template engine.

description: The identifier of supported host. Commonly used identifiers are: 'dotnetcli'' - .NET SDK, 'vs' - Visual Studio, 'vs-mac' - Visual Studio for Mac, 'ide' - Visual Studio (any platform).

description: The supported version of the host. May be an exact version, float version or version range. Refer to https://docs.microsoft.com/en-us/nuget/concepts/package-versioning for more info.

description: Installed workload constraint. Allows to restrict the template to be run only on host with specific workloads installed.

description: supported workload (running host need to have at least one of the requested workloads installed).

description: SDK version constraint. Allows to restrict the template to be run only on specific .NET SDK version(s).

description: The supported version of the SDK. May be an exact version, float version or version range. Refer to https://docs.microsoft.com/en-us/nuget/concepts/package-versioning for more info.

description: The project context constraint. Allows to restrict the item template to be run only on inside .NET project with certain capabilities.

description: Project capability expression that should be satisfied by the project. Refer to https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.interop.vsprojectcapabilityexpressionmatcher for more info.

required: author classifications identity name shortName tags

title: JSON schema .NET template configuration (template.json).


clangd.json

description:
A path pattern
https://clangd.llvm.org/config.html#if

description:
A flag
https://clangd.llvm.org/config.html#compileflags

$ref: #/definitions/clangTidyCheck

description:
A diagnostic
https://clangd.llvm.org/config.html#clangtidy

title: conditions

description:
Conditions
https://clangd.llvm.org/config.html#if

description:
Path patterns
https://clangd.llvm.org/config.html#pathmatch

$ref: #/definitions/oneOrMorePath

description:
An exclude path pattern
https://clangd.llvm.org/config.html#pathexclude

title: compilation flags

description:
Flag lists to be added or removed
https://clangd.llvm.org/config.html#compileflags

description:
Flags to be added to the compile command
https://clangd.llvm.org/config.html#add

$ref: #/definitions/oneOrMoreFlags

examples: -xc++ -Wall

description:
Flags to be removed from the compile command
https://clangd.llvm.org/config.html#remove

description:
A directory to search for compilation database
https://clangd.llvm.org/config.html#compilationdatabase

description:
An `argv[0]` replacement
https://clangd.llvm.org/config.html#compiler

title: code interpretation

description: Code interpretation outside of the current file

description:
Whether to produce a project index from files built in the background
https://clangd.llvm.org/config.html#background

enum: Build Skip

default: Build

title: index source

description:
An external index source
https://clangd.llvm.org/config.html#external

pattern: [nN][oO][nN][eE]

description:
A file
https://clangd.llvm.org/config.html#external

description:
A server
https://clangd.llvm.org/config.html#external

description:
A mount point
https://clangd.llvm.org/config.html#external

description:
Whether to index a standard library
https://clangd.llvm.org/config.html#standardlibrary

enum: Yes No

title: style

description:
A code base style
https://clangd.llvm.org/config.html#style

description:
List of fully qualified namespaces
https://clangd.llvm.org/config.html#fullyqualifiednamespaces

title: diagnostics

description:
Diagnostics
https://clangd.llvm.org/config.html#diagnostics

description:
Diagnostic codes that to be suppressed
https://clangd.llvm.org/config.html#suppress

description:
A diagnostic code that to be suppressed
https://clangd.llvm.org/config.html#suppress

title: clangtidy options

description:
Clang-Tidy options
https://clangd.llvm.org/config.html#clangtidy

description:
Checks to enable
https://clangd.llvm.org/config.html#add-1

$ref: #/definitions/oneOrMoreDiagnostics

description:
Checks to disable
https://clangd.llvm.org/config.html#remove-1

description:
Check's options
https://clangd.llvm.org/config.html#checkoptions

readability-identifier-naming.VariableCase: CamelCase

description:
Whether to enable Include Cleaner's unused includes diagnostics
https://clangd.llvm.org/config.html#unusedincludes

title: completion options

description:
Completion options
https://clangd.llvm.org/config.html#completion

description:
Whether to include suggestions from scopes that are not visible
https://clangd.llvm.org/config.html#allscopes

title: inlay-hint options

description:
Inlay-hints options
https://clangd.llvm.org/config.html#inlayhints

description:
Whether to enable inlay-hints
https://clangd.llvm.org/config.html#enabled

description:
Whether to enable inlay-hints for parameter names in function calls
https://clangd.llvm.org/config.html#parameternames

description:
Whether to enable inlay-hints for deduced types
https://clangd.llvm.org/config.html#deducedtypes

description:
Whether to enable inlay-hints for designators in aggregate initialization
https://clangd.llvm.org/config.html#designators

title: hover options

description:
Hover card's options
https://clangd.llvm.org/config.html#hover

description:
Whether to display desugared types
https://clangd.llvm.org/config.html#showaka


JSON schema for IDE template host files