description: The path to the env file


description: The path base directory (relative paths are from this base path)

type: string

default: path/to/dir


key: profile

description: The profile name this file is relevant to

default: development

examples: development production


key: env

description: Setup environment variables

type: object


description: An environment variable value

type: boolean

type: integer

type: array


description: An array which will be joined with the `;` separator


Profile dependent environment variables


description: Unsets environment variable


key: unset

description: If true, the env variable will be unset, else ignored


description: Provide environment variable via script


description: Enable multi-line values


description: Environment variable value provided by decoding other values

required: source mapping


key: source

description: The source environment variable (can be an env expression)


description: The default value in case no decode mapping was found, if not provided it will default to the source value


key: mapping

description: The decoding mapping from one value to another value


description: Environment variable value set if condition is met


key: value

description: The value to set (can be an env expression)


key: condition

description: Condition to evaluate to see whether to set the environment value or not


description: Environment value holding a list of paths based on given glob definitions

default: git


key: glob

description: The glob used to fetch all paths


description: If true, include files in glob


description: If true, include directories in glob


description: An ignore source that enables respecting ignore files from that source


description: Conditions allow you to evaluate at runtime if to run a specific task or not

enum: linux windows mac

enum: stable beta nightly

default: stable


description: Message to display when the condition fails


key: profiles

description: Profile names to match for the condition


key: items

description: Profile name


key: platforms

description: Platform names to match for the condition


description: Platform name


key: channels

description: Rust channels to match for the condition


description: Rust channel


description: List of environment variables which must be defined


description: Environment variable


description: List of environment variables which must not be defined


description: List of environment variables which must be defined and must not be set to any of the following (case insensitive): `false`, `no`, `0`, or empty


description: List of environment variables which must be defined and must be set to any of the following (case insensitive): `false`, `no`, `0`, or empty


description: Map of environment variables that must be defined and equal to the provided values


key: additionalProperties

description: Environment value


description: Map of environment variables that must be defined and contain (case insensitive) the provided values


description: A definition of min, max and/or specific rust version


key: min

description: Minimum Rust version


key: max

description: Maximum Rust version


key: equal

description: Exact Rust version


description: List of absolute path files to check they exist. Environment substitution is supported so you can define relative paths


description: File path


description: List of absolute path files to check they do not exist. Environment substitution is supported so you can define relative paths


description: If any input file is newer than all output files, the condition is met. Environment substitution is supported so you can define relative paths


key: input

description: List of input globs


description: glob


key: output

description: List of output globs


key: task

description: A task is a command, script, rust code or other sub tasks to execute. Tasks can have dependencies which are also tasks that will be executed before the task itself.

examples: py pl js php ps1

default: path/to/makefile


key: clear

description: If true, it should ignore all data in the base task


key: description

description: A description used to document the task


key: category

description: Category name used to document the task


key: disabled

description: If true, the command/script of this task will not be invoked, but dependencies will be


key: private

description: If true, the task is hidden from the list of available tasks and also cannot be invoked directly from CLI


key: deprecated

description: If set, this task is documented as deprecated. This can be a boolean or a string deprecation message.


key: extend

description: Extends the specified task as a base task


key: workspace

description: Set to false to specify that this is not a workspace and should not call the task for every member (same as --no-workspace CLI flag)


key: watch

description: Watch for file changes and invoke the task operation


key: version

description: Version of cargo-watch to install if it's not already installed


key: postpone

description: Postpone first run until a file changes


description: Ignore a glob/gitignore-style pattern while watching


description: Do not use .gitignore files while watching


description: List of files and folders to watch


key: items

description: File or folder to watch


key: condition

description: If provided all condition values must be met in order for the task to be invoked (will not stop dependencies)


description: If script exit code is not 0, the command/script of this task will not be invoked, dependencies however will be


description: If true, any error while executing the task will be printed but will not break the build


key: force

description: DEPRECATED, replaced with `ignore_errors`


The env files to setup before running the task commands


key: env

description: The env vars to setup before running the task commands


key: cwd

description: The working directory for the task to execute its command/script


key: alias

description: If defined, task points to another task and all other properties are ignored


description: If defined and this platform is Linux, task points to another task and all other properties are ignored (takes precedence over `alias` on Linux)


description: If defined and this platform is Windows, task points to another task and all other properties are ignored (takes precedence over `alias` on Windows)


description: If defined and this platform is Mac, task points to another task and all other properties are ignored (takes precedence over `alias` on Mac)


description: Indicates the provided crate needs to be installed (if needed) before running the task


description: If set to false, will disable crate installation from the base task


description: Name of the crate to install


description: Instructions on how to install a crate


description: The component to install via rustup


key: binary

description: The binary file name to be used to test if the crate is already installed


description: Arguments used to check whether a crate or rustup component is installed.


Minimum version of installed crate before it needs to be reinstalled


description: Exact version of installed crate


description: The alternative cargo install command to install the crate


description: Instructions on how to install a rustup component


description: Instructions on how to install a cargo plugin


description: Additional cargo install args


Provided script will be executed before running the task


key: command

description: The command to execute for this task


key: args

description: The args for the executed command


key: script

description: If `command` is not defined, but `script` is defined, the provided script will be executed


description: The script attribute may hold non OS scripts, for example rust code to be compiled and executed. In order to use non OS script runners, you must define the special script_runner with the @ prefix.


description: The script runner arguments before the script file path


description: The file extension to use for the script


description: Run a task as a sub-task at the end of executing this task


description: Name of the sub-task to execute


key: name

description: Name(s) of the sub-task to execute


key: fork

description: Fork the sub-task into a a new subprocess


key: parallel

description: Run tasks in parallel


description: A task to run after all specified sub-tasks have completed


description: Conditional sub-task selector


description: Sub-task routing information


description: If provided all condition values must be met in order for the task to be invoked


description: If script exit code is not 0, the sub tasks will not be invoked


key: dependencies

description: A list of tasks to execute before this task


description: The name of a task in this file


description: A task dependency potentially in another file


description: The task name to execute


key: path

description: The path to the makefile the task resides in


key: toolchain

description: The rust toolchain used to invoke the command or install the needed crates/components


key: linux

description: Override task if runtime OS is Linux (takes precedence over alias)


key: windows

description: Override task if runtime OS is Windows (takes precedence over alias)


key: mac

description: Override task if runtime OS is Mac (takes precedence over alias)


key: extend

description: Extend an external makefile by importing its tasks and properties to this file. Paths are relative to this makefile


description: File path to external makefile relative to this file


description: List of external makefiles to extend


key: config

description: Configuration options for this makefile

namespace: default

default: default

default: init

default: end

default: catch

default: legacy-migration

default: main-crate


description: If true, the default core tasks will not be loaded


description: If true, the Git related environment variables will not be loaded


description: If true, the rust related environment variables will not be loaded


description: If true, the current crate related environment variables will not be loaded


description: Options to modify all the core tasks


key: private

description: If true, all core tasks will be set to private (default false)


key: namespace

description: If set to some value, all core tasks are modified to: `namespace::name`


description: Init task name which will be invoked at the start of every run


description: End task name which will be invoked at the end of every run


description: The name of the task to run in case of any error during the invocation of the flow


description: The name of the task which runs legacy migration flows


description: Additional profile names to load


key: items

description: Additional profile name to load


Minimum cargo-make/makers version


description: The default value for the `workspace` value of tasks in this makefile


description: Set to true to reduce console output for non CI execution


description: Set to true to print time summary at the end of the flow


description: Automatically load cargo aliases as cargo-make tasks


description: The project information member (used by workspaces)


Invoked while loading the descriptor file but before loading any extended descriptor


Invoked while loading the descriptor file but before loading any extended descriptor. Takes precedence over `load_script` if runtime OS is Linux.


Invoked while loading the descriptor file but before loading any extended descriptor. Takes precedence over `load_script` if runtime OS is Windows.


Invoked while loading the descriptor file but before loading any extended descriptor. Takes precedence over `load_script` if runtime OS is Mac.


The environment files to setup before running any tasks


description: The environment scripts to execute after environment files and the env block. These scripts can be used to run anything needed before starting up the flow.


description: Env script


key: env

description: The environment variables to setup before running any tasks


key: tasks

description: Task definitions


key: discord

description: announce.discord is deprecated since 1.4.0 and will be removed in 2.0.0


key: gitter

description: announce.gitter is deprecated since 1.4.0 and will be removed in 2.0.0


key: googleChat

description: announce.googleChat is deprecated since 1.4.0 and will be removed in 2.0.0


key: mail

description: announce.mail is deprecated since 1.4.0 and will be removed in 2.0.0


key: mattermost

description: announce.mattermost is deprecated since 1.4.0 and will be removed in 2.0.0


key: teams

description: announce.teams is deprecated since 1.4.0 and will be removed in 2.0.0


key: JReleaserModel

description: JReleaser 1.7.0


description:
UI settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

enum: black red green yellow blue magenta cyan white bold default reverse underline strikethrough

examples: <enter> <c-b> g

enum: input confirm menu menuFromCommand

enum: normal half full

default: normal

type: number

enum: horizontal flexible vertical

default: flexible

enum: auto en zh-CN zh-TW pl nl ja ko ru

default: auto

enum: auto always

enum: single double rounded hidden

default: single

enum: always never

default: always

examples: ydiff -p cat -s --wrap --width={{columnWidth}}

enum: date-order author-date-order topo-order default

default: topo-order

enum: always never when-maximised

default: when-maximised

default: WIP

examples: main master

default: main master

default: git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --

default: git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium

required: pattern replace

examples: printf "\033]52;c;$(printf {{text}} | base64)\a" > /dev/tty

enum: vim nvim emacs nano vscode sublime bbedit kakoune helix xcode

examples:
vim +{{line}} {{filename}}
nvim +{{line}} {{filename}}
emacs +{{line}} {{filename}}
nano +{{line}} {{filename}}
vscode -g {{filename}}:{{line}}
vscode --goto {{filename}}:{{line}}
sublime {{filename}}:{{line}}

examples: vscode --goto {{filename}}:{{line}} --wait

examples: git fetch {{.Form.Remote}} {{.Form.Branch}} && git checkout FETCH_HEAD

enum: status files worktrees localBranches remotes remoteBranches tags commits reflogCommits subCommits commitFiles stash global

enum: authors branches files refs remotes remoteBranches tags

examples: Are you sure you want to push to the remote?

examples: git branch  -r --list {{.SelectedRemote.Name }}/*


key: custom-commands-prompts-type-property

description:
A type
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#common-fields


key: custom-commands-prompts-title-property

description:
A title
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#common-fields


key: custom-commands-prompts-key-property

description:
A key
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#common-fields


key: gui

description:
Settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: windowSize

description:
A window size
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: scrollHeight

description:
A scroll height
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: scrollPastBottom

description:
Whether to allow scrolling past bottom of the current window
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: sidePanelWidth

description:
A width of the current side panel
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: expandFocusedSidePanel

description:
Whether to expand focused side panel
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: mainPanelSplitMode

description:
A split mode of the current main panel
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: language

description:
A language
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: timeFormat

description:
A time format
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: shortTimeFormat

description:
A short time format
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: theme

description:
Settings of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: activeBorderColor

description:
Active border colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: items

description:
An active border color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: inactiveBorderColor

description:
Inactive border colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
An inactive border color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: searchingActiveBorderColor

description:
Searching active border colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
A searching active border color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: optionsTextColor

description:
Option text colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
An option text color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: selectedLineBgColor

description:
Selected line background colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
A selected line background color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: selectedRangeBgColor

description:
Selected range background colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
A selected range background color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: cherryPickedCommitBgColor

description:
Cherry picked commit background colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
A cherry picked commit background color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: cherryPickedCommitFgColor

description:
Cherry picked commit foreground colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
A cherry picked commit foreground color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: unstagedChangesColor

description:
Unstaged changes colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
An unstaged changes color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: defaultFgColor

description:
Default foreground colors of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


description:
A default foreground color of the current theme
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: commitLength

description:
Settings of the current commit length
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: show

description:
Whether to show the current commit length
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: mouseEvents

description:
Whether to enable mouse events
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: skipDiscardChangeWarning

description:
Whether to disable change warning
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: skipStashWarning

description:
Whether to disable stash warning
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: showFileTree

description:
Whether to render render files in a tree format
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: showListFooter

description:
Whether to show list footer
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: showRandomTip

description:
Whether to show a random tip
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: showBranchCommitHash

description:
Whether to show a branch commit hash
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: showBottomLine

description:
Whether to show a bottom line unless there is an important information
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: showCommandLog

description:
Whether to show command log
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: nerdFontsVersion

description:
A nerd font version
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: commandLogSize

description:
A command log size
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: splitDiff

description:
Whether to skip diff
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: skipRewordInEditorWarning

description:
Whether to skip a confirmation before launching a reword editor
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: border

description:
A border style
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: animateExplosion

description:
Whether to show explosion animation while nuking working tree
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: authorColors

description:
Author colors
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-author-color


An author color
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-author-color


key: branchColors

description:
Branch colors
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-branch-color


A branch color
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-branch-color


key: git

description:
Git settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: paging

description:
Pager settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md


key: colorArg

description:
A pager color argument
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md


key: useConfig

description:
Whether to use a config
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md


key: pager

description:
A pager
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md


key: commit

description:
Commit settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: signOff

description:
Whether to sign commits off
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: merging

description:
Merging settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: manualCommit

description:
Whether to use manual commits
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: args

description:
Additional CLI arguments for 'git merge'
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: log

description:
Log settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: order

description:
A commit order
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: showGraph

description:
Whether to show a graph
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: showWholeGraph

description:
Whether to show the whole graph
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: skipHookPrefix

description:
A prefix to skip
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: mainBranches

description:
Main branches
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: items

description:
A main branch
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: autoFetch

description:
Whether to automatically fetch
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: autoRefresh

description:
Whether to automatically refresh
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: fetchAll

description:
Whether to fetch everything
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: branchLogCmd

description:
A log command
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: allBranchesLogCmd


key: overrideGpg

description:
Whether not to spawn a separate process while using GPG
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: disableForcePushing

description:
Whether to disable force pushing
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: parseEmoji

description:
Whether to parse emoji
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: diffContextSize

description:
how many lines of context are shown around a change in diffs
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: commitPrefixes

description:
Commit prefixes
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix


description:
A repository path
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix


key: pattern

description:
A pattern
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix


key: replace

description:
A replacement
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix


key: os

description:
OS settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing

examples: vim nvim emacs nano vscode sublime bbedit kakoune helix xcode


key: copyToClipboardCmd

description:
A copy to clipboard command
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing


key: editPreset

description:
An edit preset
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing


key: edit

description:
An editor command
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing


key: editAtLine

description:
An editor command to open at specific line
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing


key: editAtLineAndWait

description:
An editor command to open at specific line and wait
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing


key: open

description:
An editor command for non-text files
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing


key: openLink

description:
An open link
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: refresher

description:
Refresh settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: refreshInterval

description:
A file/submodule refresh interval in seconds
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: fetchInterval

description:
A re-fetch interval in seconds
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: update

description:
Update settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

enum: prompt background never

default: prompt


key: method

description:
A method
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: days

description:
A day count
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: confirmOnQuit

description:
Whether to confirm on on quit
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: quitOnTopLevelReturn

description:
Whether to quit on 'esc' press while there is nothing to cancel/close
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: disableStartupPopups

description:
Whether to disable startup popups
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: notARepository

description:
An action for non-repositories
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

enum: prompt create skip quit


key: promptToReturnFromSubprocess

description:
Whether to show confirmation on subprocess termination
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: keybinding

description:
Keybinding settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: q

default: <esc>

default: Q

default: <tab>

default: <up>

default: <down>

default: k

default: j

default: H

default: L

default: <left>

default: <right>

default: h

default: l

default: n

default: N

default: <space>

default: <enter>

default: d

default: e

default: o

default: <pgup>

default: <pgdown>

default: K

default: J

default: m

default: P

default: p

default: R

default: z

default: W

default: u

default: c

default: w

default: A

default: C

default: i

default: r

default: s

default: S

default: a

default: D

default: f

default: M

default: O

default: F

default: T

default: g

default: t

default: v

default: b

default: V


key: universal

description:
Universal keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: q

default: <esc>

default: Q

default: <tab>

default: <up>

default: <down>

default: k

default: j

default: H

default: L

default: <left>

default: <right>

default: h

default: l

default: n

default: N

default: <space>

default: <enter>

default: d

default: e

default: o

default: <pgup>

default: <pgdown>

default: K

default: J

default: m

default: P

default: p

default: R

default: z

default: W


key: quit

description:
A quit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: q


A quit-alt1 keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: return

description:
A return keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <esc>


key: quitWithoutChangingDirectory

description:
A quit without changing directory keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: Q


key: togglePanel

description:
A toggle panel keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <tab>


key: prevItem

description:
A previous item keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <up>


key: nextItem

description:
A next item keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <down>


key: prevItem-alt

description:
A previous item-alt keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: k


key: nextItem-alt

description:
A next item-alt keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: j


key: prevPage

description:
A previous page keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: nextPage

description:
A next page keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: gotoTop

description:
A goto top keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: gotoBottom

description:
A goto bottom keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: scrollLeft

description:
A scroll left keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: H


key: scrollRight

description:
A scroll right keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: L


key: prevBlock

description:
A previous block keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <left>


key: nextBlock

description:
A next block keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <right>


key: prevBlock-alt

description:
A previous block-alt keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: h


key: nextBlock-alt

description:
A next block-alt keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: l


key: jumpToBlock

description:
A jump to block keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: nextMatch

description:
A next match keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: n


key: prevMatch

description:
A previous match keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: N


key: optionMenu

description:
An option menu keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


An option menu-alt1 keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: select

description:
A select keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <space>


key: goInto

description:
A go into keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <enter>


key: openRecentRepos

description:
An open recent repos keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: confirm

description:
A confirm keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: remove

description:
A remove keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: d


key: new

description:
A new keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: edit

description:
A edit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: e


key: openFile

description:
An open file keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: o


key: scrollUpMain

description:
A scroll up main keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <pgup>


key: scrollDownMain

description:
A scroll down main keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: <pgdown>


description:
A scroll up main-alt1 keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: K


description:
A scroll down main-alt1 keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: J


A scroll up main-alt2 keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


A scroll down main-alt2 keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: executeCustomCommand

description:
A execute custom command keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: createRebaseOptionsMenu

description:
A create rebase options menu keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: m


key: pushFiles

description:
A push files keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: P


key: pullFiles

description:
A pull files keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: p


key: refresh

description:
A refresh keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: R


key: createPatchOptionsMenu

description:
A create patch options menu keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: nextTab

description:
A next tab keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: prevTab

description:
A previous tab keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: nextScreenMode

description:
A next screen mode keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: prevScreenMode

description:
A previous screen mode keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: undo

description:
An undo keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: z


key: redo

description:
A redo keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: filteringMenu

description:
A filtering menu keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: diffingMenu

description:
A diffing menu keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: W


key: diffingMenu-alt

description:
A diffing menu-alt keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: copyToClipboard

description:
A copy to clipboard keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: submitEditorText

description:
A submit editor text keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: extrasMenu

description:
A extras menu keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: toggleWhitespaceInDiffView

description:
A toggle whitespace in diff view keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: increaseContextInDiffView

description:
A increase context in diff view keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: decreaseContextInDiffView

description:
A decrease context in diff view keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: status

description:
Status keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: u


key: checkForUpdate

description:
A check for update keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: recentRepos

description:
A recent repos keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: files

description:
File keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: c

default: w

default: A

default: C

default: i

default: r

default: s

default: S

default: a

default: D

default: f

default: M


key: commitChanges

description:
A commit changes keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: commitChangesWithoutHook

description:
A commit changes without hook keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: amendLastCommit

description:
A amend last commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: commitChangesWithEditor

description:
A commit changes with editor keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: ignoreFile

description:
A ignore file keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: refreshFiles

description:
A refresh files keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: stashAllChanges

description:
A stash all changes keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: viewStashOptions

description:
A view stash options keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: toggleStagedAll

description:
A toggle staged all keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: viewResetOptions

description:
A view reset options keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: fetch

description:
A fetch keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: toggleTreeView

description:
A toggle tree view keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: openMergeTool

description:
A open merge tool keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: openStatusFilter

description:
A open status filter keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: branches

description:
Branch keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: o

default: O

default: F

default: T

default: P


key: createPullRequest

description:
A create pull request keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: viewPullRequestOptions

description:
A view pull request options keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: checkoutBranchByName

description:
A checkout branch by name keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: c


key: forceCheckoutBranch

description:
A force checkout branch keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: rebaseBranch

description:
A rebase branch keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: renameBranch

description:
A rename branch keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: R


key: mergeIntoCurrentBranch

description:
A merge into current branch keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: viewGitFlowOptions

description:
A view git flow options keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: fastForward

description:
A fast forward keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: createTag

description:
A create tag keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: pushTag

description:
A push tag keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: setUpstream

description:
A set upstream keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: u


key: fetchRemote

description:
A fetch remote keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: commits

description:
Commit keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: g

default: A

default: p

default: t

default: C

default: v

default: <space>

default: b


key: squashDown

description:
A squash down keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: s


key: renameCommit

description:
A rename commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: r


key: renameCommitWithEditor

description:
A rename commit with editor keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: viewResetOptions

description:
A view reset options keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: markCommitAsFixup

description:
A mark commit as fixup keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: f


key: createFixupCommit

description:
A create fixup commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: F


key: squashAboveCommits

description:
A squash above commits keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: S


key: moveDownCommit

description:
A move down commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: moveUpCommit

description:
A move up commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: amendToCommit

description:
A amend to commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: pickCommit

description:
A pick commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: revertCommit

description:
A revert commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: cherryPickCopy

description:
A cherry pick copy keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: cherryPickCopyRange

description:
A cherry pick copy range keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: pasteCommits

description:
A paste commits keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: tagCommit

description:
A tag commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: T


key: checkoutCommit

description:
A checkout commit keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: resetCherryPick

description:
A reset cherry pick keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: copyCommitMessageToClipboard

description:
A copy commit message to clipboard keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: openLogMenu

description:
A open log menu keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: viewBisectOptions

description:
A view bisect options keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: stash

description:
Stash keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: popStash

description:
A pop stash keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: renameStash

description:
A rename stash keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: commitFiles

description:
Commit file keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: c


key: checkoutCommitFile

description:
A checkout commit file keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: main

description:
Main keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: V

default: a


key: toggleDragSelect

description:
A toggle drag select keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: toggleDragSelect-alt

description:
A toggle drag select-alt keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: toggleSelectHunk

description:
A toggle select hunk keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: pickBothHunks

description:
A pick both hunks keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: submodules

description:
Submodules keybindings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default

default: i

default: u


key: init

description:
An init keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: update

description:
An update keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: bulkMenu

description:
A bulk menu keybinding
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default


key: services

description:
Service settings
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-pull-request-urls


description:
A service
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-pull-request-urls


key: customCommands

description:
Custom commands
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings

required: key command context

required: type title key

const: input

const: confirm

const: menu

const: menuFromCommand


key: items

description:
A custom command
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: key

description:
A command trigger
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: command

description:
A command
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: context

description:
A context
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: subprocess

description:
Whether to run command in subprocess
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: prompts

description:
Prompts before running a command
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


description:
A prompt before running a command
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: initialValue

description:
An initial value
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#input


key: suggestions

description:
Whether to show suggestions as the input is entered
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#input


key: preset

description:
A preset
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#input


description:
A command where each line in the output is suggestion
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#input


key: body

description:
A body
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#confirm


key: options

description:
Options
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#menu


description: An option


key: name

description:
A first label part
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#menu


key: description

description:
A second label part
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#menu


key: value

description:
the value that will be used in the command
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#menu


description:
A command to generate options
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#menu-from-command


key: filter

description:
A regex specifying groups which kept from command output
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#menu-from-command


key: valueFormat

description:
A value format
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#menu-from-command


key: labelFormat

description:
A label format
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#menu-from-command


key: loadingText

description:
Text to display while waiting for command to finish
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


description:
A description
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: stream

description:
Whether to stream command output to Command Log panel
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: showOutput

description:
Whether to show the command output in popup
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: after

description:
Actions to take after the command has completed
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


key: checkForConflicts

description:
Whether to check for conflicts before running command
https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md#custom-command-keybindings


description: A file describing a series of tests

default: xfs

default: rw relatime

required: running skip

default: Linux

required: enabled running skip

enum: file symlink directory

default: file

default: root

required: reachable timeout

default: some string

baz: ring

foo: bar

enum: GET PUT HEAD POST DELETE PATCH CONNECT OPTIONS TRACE

x-intellij-html-description:
Import other gossfiles from this one. This is the best way to maintain a large number of tests, and/or create profiles. See render for more examples. Glob patterns can be also be used to specify matching gossfiles.

gossfile:
  myapplication:
    file: myapp_gossfile.yaml
    skip: false
  *.yaml:
    skip: true
  goss_httpd.yaml: {}
  /etc/goss.d/*.yaml: {}

    <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w" value="gossfile:
  myapplication:
    file: myapp_gossfile.yaml
    skip: false
  *.yaml:
    skip: true
  goss_httpd.yaml: {}
  /etc/goss.d/*.yaml: {}" tabindex="0" role="button" style="display: none;">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
    <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path>
</svg>
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
    <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
</svg>
    </clipboard-copy>

You can specify the gossfile(s) either as the resource key, or using the 'file' attribute.

If the 'skip' attribute is true, then the file is not processed.  If the filename is a glob pattern, then none of the matching files are processed.  Note that this is not the same as skipping the contained resources; any overrides in the referenced gossfile will not be processed, and the resource count will not be incremented.  Skipping a gossfile include is the same as omitting the gossfile resource entirely.

x-intellij-html-description:
Validates that the provided address is resolvable and the addrs it resolves to.

dns:
  localhost:
    # required attributes
    resolvable: true
    # optional attributes
    addrs:
    - 127.0.0.1
    - ::1
    server: 8.8.8.8 # Also supports server:port
    timeout: 500 # in milliseconds (Only used when server attribute is provided)

    <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w" value="dns:
  localhost:
    # required attributes
    resolvable: true
    # optional attributes
    addrs:
    - 127.0.0.1
    - ::1
    server: 8.8.8.8 # Also supports server:port
    timeout: 500 # in milliseconds (Only used when server attribute is provided)" tabindex="0" role="button" style="display: none;">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
    <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path>
</svg>
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
    <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
</svg>
    </clipboard-copy>

It is possible to validate the following types of DNS records, but requires the server attribute be set:

A

AAAA

CAA

CNAME

MX

NS

PTR

SRV

TXT

To validate specific DNS address types, prepend the hostname with the type and a colon, a few examples:

dns:
  # Validate a CNAME record
  CNAME:c.dnstest.io:
    resolvable: true
    server: 208.67.222.222
    addrs:
    - "a.dnstest.io."

  # Validate a PTR record
  PTR:8.8.8.8:
    resolvable: true
    server: 8.8.8.8
    addrs:
    - "dns.google."

  # Validate and SRV record
  SRV:_https._tcp.dnstest.io:
    resolvable: true
    server: 208.67.222.222
    addrs:
    - "0 5 443 a.dnstest.io."
    - "10 10 443 b.dnstest.io."

    <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w" value="dns:
  # Validate a CNAME record
  CNAME:c.dnstest.io:
    resolvable: true
    server: 208.67.222.222
    addrs:
    - "a.dnstest.io."

  # Validate a PTR record
  PTR:8.8.8.8:
    resolvable: true
    server: 8.8.8.8
    addrs:
    - "dns.google."

  # Validate and SRV record
  SRV:_https._tcp.dnstest.io:
    resolvable: true
    server: 208.67.222.222
    addrs:
    - "0 5 443 a.dnstest.io."
    - "10 10 443 b.dnstest.io."" tabindex="0" role="button">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
    <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path>
</svg>
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
    <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
</svg>
    </clipboard-copy>

Please note that if you want localhost to only resolve 127.0.0.1 you'll need to use Advanced Matchers

dns:
  localhost:
    resolvable: true
    addrs:
      consist-of: [127.0.0.1]
    timeout: 500 # in milliseconds

x-intellij-html-description:
Validates the state of a local port.

Note: Goss might consider your port to be listening on tcp6 rather than tcp, try running goss add port .. to see how goss detects it. (explanation)

port:
  # {tcp,tcp6,udp,udp6}:port_num
  tcp:22:
    # required attributes
    listening: true
    # optional attributes
    ip: # what IP(s) is it listening on
    - 0.0.0.0
    skip: false


key: timeout

description: in milliseconds


key: stdout

description: can be a string or pattern, see https://github.com/goss-org/goss/blob/master/docs/manual.md#patterns


key: stderr


key: exit-status

description: Validates the exit-status and output of a command


key: exec

description: command to execute, defaults to the hash key


key: usage

description: % of blocks used in this mountpoint


key: ip

description: what IP(s) is it listening on


key: kernelParamTest

description: To see the full list of current values, run sysctl -a.


key: addrs

description: list of addresses e.g. ["127.0.0.1", "::1"]


description: in milliseconds (Only used when server attribute is provided)


key: server

description: Eg 8.8.8.8. Also supports server:port


description: A stronger checksum alternatives to md5 (recommended)


description: md5 checksum of file


key: size

description: in bytes


key: contains

description: Check file content for these patterns. can be a string or a pattern


key: items

description: string or patterns


key: meta

description: meta (arbitrary data) attributes are persisted when adding other resources with goss add


key: request-headers

description: Set request header values, e.g. [ "Content-Type: text/html" ]


key: headers

description:
Check http response headers for these patterns (e.g. "Content-Type: text/html")
NOTE: only the first Host header will be used to set the Request.Host value if multiple are provided.


key: body

description: Check http response content for these patterns


key: cert-file

description: certificate file to use for authentication (used with key-file)


key: request-body

description: request body

key: value


key: no-follow-redirects

description: Setting this to true will NOT follow redirects


key: proxy

description: proxy server to proxy traffic through. Proxy can also be set with environment variables http_proxy.


key: method

description: http method

default: PUT


key: key-file

description: private-key file to use for authentication (used with cert-file)


key: ca-file

description: CA root certs pem file, ex: /etc/ssl/cert.pem


key: username

description: username for basic auth


key: password

description: password for basic auth


key: title

description: title attribute is persisted when adding other resources with goss add

default: UID must be between 50-100, GID doesn't matter. home is flexible


key: mount

description: Validates mount point attributes.


key: service

description: Validates the state of a service.


key: user

description:
Validates the state of a user"
NOTE: This check is inspecting the contents of local passwd file /etc/passwd, this does not validate remote users (e.g. LDAP).


key: addr

description: Validates if a remote address:port are accessible.


key: file

description: Validates the state of a file, directory, or symbolic link


key: group

description: Validates the state of a group


key: gossfile

description:
Import other gossfiles from this one. This is the best way to maintain a large number of tests, and/or create profiles. See render for more examples. Glob patterns can be also be used to specify matching gossfiles.
You can specify the gossfile(s) either as the resource key, or using the 'file' attribute.

If the 'skip' attribute is true, then the file is not processed. If the filename is a glob pattern, then none of the matching files are processed. Note that this is not the same as skipping the contained resources; any overrides in the referenced gossfile will not be processed, and the resource count will not be incremented. Skipping a gossfile include is the same as omitting the gossfile resource entirely.


key: process

description: Validates if a process is running.


key: http

description: description: Validates network interface values


key: command

description: test executing a command


key: package

description:
Validates the state of a package"
NOTE: this check uses the --package <format> parameter passed on the command line.


key: kernel-param

description: test


key: interface

description: test


key: matching

description: Validates specified content against a matcher. Best used with Templates.


key: dns

description: Validates that the provided address is resolvable and the addrs it resolves to.


key: port

description:
Validates the state of a local port.

Note: Goss might consider your port to be listening on tcp6 rather than tcp, try running goss add port .. to see how goss detects it. (explanation)


key: $schema

description: The URI of the JSON schema corresponding to the version of the external property file format.

format: uri


key: version

description: The SARIF format version of this external properties object.


key: guid

description: A stable, unique identifer for this external properties object, in the form of a GUID.


key: runGuid

description: A stable, unique identifer for the run associated with this external properties object, in the form of a GUID.


key: conversion

description: A conversion object that will be merged with an external run.


key: graphs

description: An array of graph objects that will be merged with an external run.


key: externalizedProperties

description: Key/value pairs that provide additional information that will be merged with an external run.


key: artifacts

description: An array of artifact objects that will be merged with an external run.


key: invocations

description: Describes the invocation of the analysis tool that will be merged with an external run.


key: logicalLocations

description: An array of logical locations such as namespaces, types or functions that will be merged with an external run.


key: threadFlowLocations

description: An array of threadFlowLocation objects that will be merged with an external run.


key: results

description: An array of result objects that will be merged with an external run.


key: taxonomies

description: Tool taxonomies that will be merged with an external run.


key: driver

description: The analysis tool object that will be merged with an external run.


key: extensions

description: Tool extensions that will be merged with an external run.


key: policies

description: Tool policies that will be merged with an external run.


key: translations

description: Tool translations that will be merged with an external run.


key: addresses

description: Addresses that will be merged with with an external run.


key: webRequests

description: Requests that will be merged with an external run.


key: webResponses

description: Responses that will be merged with an external run.


key: properties

description: Key/value pairs that provide additional information about the external properties.


key: rule

description:
🐊Putout rule

"off" means rule is off
"on" means it is a on

enum: on off


key: rules

description: 🐊Putout comes with a large number of rules. You can modify which rules your project uses.


key: printer

description: Tell 🐊Putout which printer to use


key: parser

description: Tell 🐊Putout which parser to use


key: formatter

description: Choose the way to show information about errors found

type: string array


key: processors

description: Tell 🐊Putout which processors to use to support file types other then JavaScript


key: ignore

description: Tell 🐊Putout to ignore specific files and directories.


key: match

description: Allows to match rules for files and folders, specified by glob patterns.


key: plugins

description: Tell 🐊Putout which plugins to load


description: Static Analysis Results Format (SARIF) Version 2.0.0 JSON Schema: a standard format for the output of static analysis tools.

required: id sourceNodeId targetNodeId

enum: analysisTarget attachment responseFile resultFile standardStream traceFile unmodifiedFile modifiedFile addedFile deletedFile renamedFile uncontrolledFile

format: date-time

required: fileLocation replacements

format: uri-reference

required: id nodes edges

required: graphId edgeTraversals

required: value algorithm

enum: notApplicable pass note warning error open


key: attachment

description: A file relevant to a tool invocation or to a result.


key: description

description: A message describing the role played by the attachment.


key: fileLocation

description: The location of the attachment.


key: regions

description: An array of regions of interest within the attachment.


key: rectangles

description: An array of rectangles specifying areas of interest within the image.


key: codeFlow

description: A set of threadFlows which together describe a pattern of code execution relevant to detecting a result.


key: message

description: A message relevant to the code flow.


key: threadFlows

description: An array of one or more unique threadFlow objects, each of which describes the progress of a program through a thread of execution.


key: properties

description: Key/value pairs that provide additional information about the code flow.


key: tags

description: A set of distinct strings that provide additional information.


key: conversion

description: Describes how a converter transformed the output of a static analysis tool from the analysis tool's native output format into the SARIF format.


key: tool

description: A tool object that describes the converter.


key: invocation

description: An invocation object that describes the invocation of the converter.


key: analysisToolLogFiles

description: The locations of the analysis tool's per-run log files.


key: edge

description: Represents a directed edge in a graph.


key: id

description: A string that uniquely identifies the edge within its graph.


key: label

description: A short description of the edge.


key: sourceNodeId

description: Identifies the source node (the node at which the edge starts).


key: targetNodeId

description: Identifies the target node (the node at which the edge ends).


description: Key/value pairs that provide additional information about the edge.


key: edgeTraversal

description: Represents the traversal of a single edge during a graph traversal.


key: edgeId

description: Identifies the edge being traversed.


description: A message to display to the user as the edge is traversed.


key: finalState

description: The values of relevant expressions after the edge has been traversed.


key: stepOverEdgeCount

description: The number of edge traversals necessary to return from a nested graph.


description: Key/value pairs that provide additional information about the edge traversal.


key: kind

description: A string that identifies the kind of exception, for example, the fully qualified type name of an object that was thrown, or the symbolic name of a signal.


key: message

description: A plain text message that describes the exception.


key: stack

description: The sequence of function calls leading to the exception.


key: innerExceptions

description: An array of exception objects each of which is considered a cause of this exception.


key: externalFiles

description: References to external files that should be inlined with the content of a root log file.


key: conversion

description: The location of a file containing a run.conversion object to be merged with the root log file.


key: files

description: The location of a file containing a run.files object to be merged with the root log file.


key: graphs

description: The location of a file containing a run.graphs object to be merged with the root log file.


key: invocations

description: An array of locations of files containing arrays of run.invocation objects to be merged with the root log file.


key: logicalLocations

description: The location of a file containing a run.logicalLocations object to be merged with the root log file.


key: resources

description: The location of a file containing a run.resources object to be merged with the root log file.


key: results

description: An array of locations of files containing arrays of run.result objects to be merged with the root log file.


key: file

description: A single file. In some cases, this file might be nested within another file.


key: fileLocation

description: The location of the file.


key: parentKey

description: Identifies the key of the immediate parent of the file, if this file is nested.


key: offset

description: The offset in bytes of the file within its containing file.


key: length

description: The length of the file in bytes.


key: roles

description: The role or roles played by the file in the analysis.


key: mimeType

description: The MIME type (RFC 2045) of the file.


key: contents

description: The contents of the file.


key: encoding

description: Specifies the encoding for a file object that refers to a text file.


key: hashes

description: An array of hash objects, each of which specifies a hashed value for the file, along with the name of the hash function used to compute the hash.


key: lastModifiedTime

description: The date and time at which the file was most recently modified. See "Date/time properties" in the SARIF spec for the required format.


key: properties

description: Key/value pairs that provide additional information about the file.


key: tags

description: A set of distinct strings that provide additional information.


key: fileChange

description: A change to a single file.


description: The location of the file to change.


key: replacements

description: An array of replacement objects, each of which represents the replacement of a single region in a single file specified by 'fileLocation'.


key: fileContent

description: Represents content from an external file.


key: text

description: UTF-8-encoded content from a text file.


key: binary

description: MIME Base64-encoded content from a binary file, or from a text file in its original encoding.


key: fileLocation

description: Specifies the location of a file.


key: uri

description: A string containing a valid relative or absolute URI.


key: uriBaseId

description: A string which indirectly specifies the absolute URI with respect to which a relative URI in the "uri" property is interpreted.


key: fix

description: A proposed fix for the problem represented by a result object. A fix specifies a set of file to modify. For each file, it specifies a set of bytes to remove, and provides a set of new bytes to replace them.


key: description

description: A message that describes the proposed fix, enabling viewers to present the proposed change to an end user.


key: fileChanges

description: One or more file changes that comprise a fix for a result.


key: graph

description: A network of nodes and directed edges that describes some aspect of the structure of the code (for example, a call graph).


key: id

description: A string that uniquely identifies the graph within a run.graphs or result.graphs array.


description: A description of the graph.


key: nodes

description: An array of node objects representing the nodes of the graph.


key: edges

description: An array of edge objects representing the edges of the graph.


key: properties

description: Key/value pairs that provide additional information about the graph.


key: tags


key: graphTraversal

description: Represents a path through a graph.


key: graphId

description: A string that uniquely identifies that graph being traversed.


description: A description of this graph traversal.


key: initialState

description: Values of relevant expressions at the start of the graph traversal.


key: edgeTraversals

description: The sequences of edges traversed by this graph traversal.


description: Key/value pairs that provide additional information about the graph traversal.


key: hash

description: A hash value of some file or collection of files, together with the hash function used to compute the hash.


key: value

description: The hash value of some file or collection of files, computed by the hash function named in the 'algorithm' property.


key: algorithm

description: The name of the hash function used to compute the hash value specified in the 'value' property.


key: invocation

description: The runtime environment of the analysis tool run.


key: commandLine

description: The command line used to invoke the tool.


key: arguments

description: An array of strings, containing in order the command line arguments passed to the tool from the operating system.


key: responseFiles

description: The locations of any response files specified on the tool's command line.


key: attachments

description: A set of files relevant to the invocation of the tool.


key: startTime

description: The date and time at which the run started. See "Date/time properties" in the SARIF spec for the required format.


key: endTime

description: The date and time at which the run ended. See "Date/time properties" in the SARIF spec for the required format.


key: exitCode

description: The process exit code.


key: toolNotifications

description: A list of runtime conditions detected by the tool during the analysis.


key: configurationNotifications

description: A list of conditions detected by the tool that are relevant to the tool's configuration.


key: exitCodeDescription

description: The reason for the process exit.


key: exitSignalName

description: The name of the signal that caused the process to exit.


key: exitSignalNumber

description: The numeric value of the signal that caused the process to exit.


key: processStartFailureMessage

description: The reason given by the operating system that the process failed to start.


key: toolExecutionSuccessful

description: A value indicating whether the tool's execution completed successfully.


key: machine

description: The machine that hosted the analysis tool run.


key: account

description: The account that ran the analysis tool.


key: processId

description: The process id for the analysis tool run.


key: executableLocation

description: An absolute URI specifying the location of the analysis tool's executable.


key: workingDirectory

description: The working directory for the analysis tool run.


key: environmentVariables

description: The environment variables associated with the analysis tool process, expressed as key/value pairs.


key: stdin

description: A file containing the standard input stream to the process that was invoked.


key: stdout

description: A file containing the standard output stream from the process that was invoked.


key: stderr

description: A file containing the standard error stream from the process that was invoked.


key: stdoutStderr

description: A file containing the interleaved standard output and standard error stream from the process that was invoked.


key: properties

description: Key/value pairs that provide additional information about the invocation.


key: tags

description: A set of distinct strings that provide additional information.


key: location

description: A location within a programming artifact.


key: physicalLocation

description: Identifies the file and region.


key: fullyQualifiedLogicalName

description: The human-readable fully qualified name of the logical location. If run.logicalLocations is present, this value matches a property name within that object, from which further information about the logical location can be obtained.


key: message

description: A message relevant to the location.


key: annotations

description: A set of regions relevant to the location.


description: Key/value pairs that provide additional information about the location.


key: logicalLocation

description: A logical location of a construct that produced a result.


key: name

description: Identifies the construct in which the result occurred. For example, this property might contain the name of a class or a method.


key: fullyQualifiedName

description: The human-readable fully qualified name of the logical location.


key: decoratedName

description: The machine-readable name for the logical location, such as a mangled function name provided by a C++ compiler that encodes calling convention, return type and other details along with the function name.


key: parentKey

description: Identifies the key of the immediate parent of the construct in which the result was detected. For example, this property might point to a logical location that represents the namespace that holds a type.


key: kind

description: The type of construct this logicalLocationComponent refers to. Should be one of 'function', 'member', 'module', 'namespace', 'package', 'parameter', 'resource', 'returnType', 'type', or 'variable', if any of those accurately describe the construct.


description: Encapsulates a message intended to be read by the end user.


key: text

description: A plain text message string.


key: messageId

description: The resource id for a plain text message string.


key: richText

description: A rich text message string.


key: richMessageId

description: The resource id for a rich text message string.


key: arguments

description: An array of strings to substitute into the message string.


key: node

description: Represents a node in a graph.


key: id

description: A string that uniquely identifies the node within its graph.


key: label

description: A short description of the node.


key: location

description: A code location associated with the node.


key: children

description: Array of child nodes.


key: properties

description: Key/value pairs that provide additional information about the node.


key: tags

description: A set of distinct strings that provide additional information.


key: notification

description: Describes a condition relevant to the tool itself, as opposed to being relevant to a target being analyzed by the tool.

default: warning

enum: note warning error


description: An identifier for the condition that was encountered.


key: ruleId

description: The stable, unique identifier of the rule (if any) to which this notification is relevant. This member can be used to retrieve rule metadata from the rules dictionary, if it exists.


key: physicalLocation

description: The file and region relevant to this notification.


key: message

description: A message that describes the condition that was encountered.


key: level

description: A value specifying the severity level of the notification.


key: threadId

description: The thread identifier of the code that generated the notification.


key: time

description: The date and time at which the analysis tool generated the notification.


key: exception

description: The runtime exception, if any, relevant to this notification.


description: Key/value pairs that provide additional information about the notification.


description: A physical location relevant to a result. Specifies a reference to a programming artifact together with a range of bytes or characters within that artifact.


description: Value that distinguishes this physical location from all other physical locations in this run object.


key: fileLocation

description: The location of the file.


key: region

description: Specifies a portion of the file.


key: contextRegion

description: Specifies a portion of the file that encloses the region. Allows a viewer to display additional context around the region.


key: rectangle

description: An area within an image.


key: top

description: The Y coordinate of the top edge of the rectangle, measured in the image's natural units.


key: left

description: The X coordinate of the left edge of the rectangle, measured in the image's natural units.


key: bottom

description: The Y coordinate of the bottom edge of the rectangle, measured in the image's natural units.


key: right

description: The X coordinate of the right edge of the rectangle, measured in the image's natural units.


description: A message relevant to the rectangle.


description: A region within a file where a result was detected.


key: startLine

description: The line number of the first character in the region.


key: startColumn

description: The column number of the first character in the region.


key: endLine

description: The line number of the last character in the region.


key: endColumn

description: The column number of the character following the end of the region.


key: charOffset

description: The zero-based offset from the beginning of the file of the first character in the region.


key: charLength

description: The length of the region in characters.


key: byteOffset

description: The zero-based offset from the beginning of the file of the first byte in the region.


key: byteLength

description: The length of the region in bytes.


key: snippet

description: The portion of the file contents within the specified region.


key: message

description: A message relevant to the region.


key: replacement

description: The replacement of a single region of a file.


key: deletedRegion

description: The region of the file to delete.


key: insertedContent

description: The content to insert at the location specified by the 'deletedRegion' property.


key: resources

description: Container for items that require localization.


key: messageStrings

description: A dictionary, each of whose keys is a resource identifier and each of whose values is a localized string.


key: rules

description: A dictionary, each of whose keys is a string and each of whose values is a 'rule' object, that describe all rules associated with an analysis tool or a specific run of an analysis tool.


key: result

description: A result produced by an analysis tool.

enum: suppressedInSource suppressedExternally

enum: new existing absent


key: ruleId

description: The stable, unique identifier of the rule (if any) to which this notification is relevant. This member can be used to retrieve rule metadata from the rules dictionary, if it exists.


key: level

description: A value specifying the severity level of the result.


description: A message that describes the result. The first sentence of the message only will be displayed when visible space is limited.


key: analysisTarget

description: Identifies the file that the analysis tool was instructed to scan. This need not be the same as the file where the result actually occurred.


key: locations

description: One or more locations where the result occurred. Specify only one location unless the problem indicated by the result can only be corrected by making a change at every specified location.


key: instanceGuid

description: A stable, unique identifier for the result in the form of a GUID.


key: correlationGuid

description: A stable, unique identifier for the equivalence class of logically identical results to which this result belongs, in the form of a GUID.


key: partialFingerprints

description: A set of strings that contribute to the stable, unique identity of the result.


key: fingerprints

description: A set of strings each of which individually defines a stable, unique identity for the result.


key: stacks

description: An array of 'stack' objects relevant to the result.


key: codeFlows

description: An array of 'codeFlow' objects relevant to the result.


key: graphs

description: An array of one or more unique 'graph' objects.


key: graphTraversals

description: An array of one or more unique 'graphTraversal' objects.


key: relatedLocations

description: A set of locations relevant to this result.


key: suppressionStates

description: A set of flags indicating one or more suppression conditions.


key: baselineState

description: The state of a result relative to a baseline of a previous run.


key: attachments

description: A set of files relevant to the result.


key: workItemUris

description: The URIs of the work items associated with this result


key: conversionProvenance

description: An array of physicalLocation objects which specify the portions of an analysis tool's output that a converter transformed into the result object.


key: fixes

description: An array of 'fix' objects, each of which represents a proposed fix to the problem indicated by the result.


key: properties

description: Key/value pairs that provide additional information about the result.


key: tags

description: A set of distinct strings that provide additional information.


key: rule

description: Describes an analysis rule.


key: id

description: A stable, opaque identifier for the rule.


key: name

description: A rule identifier that is understandable to an end user.


key: shortDescription

description: A concise description of the rule. Should be a single sentence that is understandable when visible space is limited to a single line of text.


key: fullDescription

description: A description of the rule. Should, as far as possible, provide details sufficient to enable resolution of any problem indicated by the result.


key: messageStrings

description: A set of name/value pairs with arbitrary names. The value within each name/value pair consists of plain text interspersed with placeholders, which can be used to construct a message in combination with an arbitrary number of additional string arguments.


key: richMessageStrings

description: A set of name/value pairs with arbitrary names. The value within each name/value pair consists of rich text interspersed with placeholders, which can be used to construct a message in combination with an arbitrary number of additional string arguments.


key: configuration

description: Information about the rule that can be configured at runtime.


key: helpUri

description: A URI where the primary documentation for the rule can be found.


key: help

description: Provides the primary documentation for the rule, useful when there is no online documentation.


description: Key/value pairs that provide additional information about the rule.


key: ruleConfiguration

description: Information about a rule that can be configured at runtime.

enum: note warning error open


key: enabled

description: Specifies whether the rule will be evaluated during the scan.


key: defaultLevel

description: Specifies the default severity level of the result.


key: parameters

description: Contains configuration information specific to this rule.


description: A set of distinct strings that provide additional configuration information.


key: run

description: Describes a single run of an analysis tool, and contains the output of that run.

default: text/markdown;variant=GFM


key: tool

description: Information about the tool or tool pipeline that generated the results in this run. A run can only contain results produced by a single tool or tool pipeline. A run can aggregate results from multiple log files, as long as context around the tool run (tool command-line arguments and the like) is identical for all aggregated files.


key: invocations

description: Describes the invocation of the analysis tool.


key: conversion

description: A conversion object that describes how a converter transformed an analysis tool's native output format into the SARIF format.


key: versionControlProvenance

description: Specifies the revision in version control of the files that were scanned.


key: originalUriBaseIds

description: The absolute URI specified by each uriBaseId symbol on the machine where the tool originally ran.


key: files

description: A dictionary, each of whose keys is a URI and each of whose values is a file object.


key: logicalLocations

description: A dictionary, each of whose keys specifies a logical location such as a namespace, type or function.


key: graphs

description: An array of one or more unique 'graph' objects.


key: results

description: The set of results contained in an SARIF log. The results array can be omitted when a run is solely exporting rules metadata. It must be present (but may be empty) if a log file represents an actual scan.


key: resources

description: Items that can be localized, such as message strings and rule metadata.


key: instanceGuid

description: A stable, unique identifier for the run, in the form of a GUID.


key: correlationGuid

description: A stable, unique identifier for the class of related runs to which this run belongs, in the form of a GUID.


key: logicalId

description: A logical identifier for a run, for example, 'nightly Clang analyzer run'. Multiple runs of the same type can have the same logical id.


key: description

description: A description of the run.


key: automationLogicalId

description: A global identifier that allows the run to be correlated with other artifacts produced by a larger automation process.


key: baselineInstanceGuid

description: The 'instanceGuid' property of a previous SARIF 'run' that comprises the baseline that was used to compute result 'baselineState' properties for the run.


key: architecture

description: The hardware architecture for which the run was targeted.


key: richMessageMimeType

description: The MIME type of all rich text message properties in the run. Default: "text/markdown;variant=GFM"


key: redactionToken

description: The string used to replace sensitive information in a redaction-aware property.


key: defaultFileEncoding

description: Specifies the default encoding for any file object that refers to a text file.


key: columnKind

description: Specifies the unit in which the tool measures columns.


key: properties

description: Key/value pairs that provide additional information about the run.


key: tags

description: A set of distinct strings that provide additional information about the run.


key: stack

description: A call stack that is relevant to a result.


key: message

description: A message relevant to this call stack.


key: frames

description: An array of stack frames that represent a sequence of calls, rendered in reverse chronological order, that comprise the call stack.


description: Key/value pairs that provide additional information about the stack.


description: A set of distinct strings that provide additional information.


key: stackFrame

description: A function call within a stack trace.


key: location

description: The location to which this stack frame refers.


key: module

description: The name of the module that contains the code of this stack frame.


key: threadId

description: The thread identifier of the stack frame.


key: address

description: The address of the method or function that is executing.


key: offset

description: The offset from the method or function that is executing.


key: parameters

description: The parameters of the call that is executing.


description: Key/value pairs that provide additional information about the stack frame.


key: id

description: An string that uniquely identifies the threadFlow within the codeFlow in which it occurs.


description: A message relevant to the thread flow.


key: locations

description: A temporally ordered array of 'threadFlowLocation' objects, each of which describes a location visited by the tool while producing the result.


description: Key/value pairs that provide additional information about the thread flow.


key: threadFlowLocation

description: A location visited by an analysis tool while simulating or monitoring the execution of a program.

enum: important essential unimportant


key: step

description: The 0-based sequence number of the location in the code flow within which it occurs.


description: The code location.


description: The call stack leading to this location.


key: kind

description: A string describing the type of this location.


description: The name of the module that contains the code that is executing.


key: state

description: A dictionary, each of whose keys specifies a variable or expression, the associated value of which represents the variable or expression value. For an annotation of kind 'continuation', for example, this dictionary might hold the current assumed values of a set of global variables.


key: nestingLevel

description: An integer representing a containment hierarchy within the thread flow


key: executionOrder

description: An integer representing the temporal order in which execution reached this location.


key: timestamp

description: The time at which this location was executed.


key: importance

description: Specifies the importance of this location in understanding the code flow in which it occurs. The order from most to least important is "essential", "important", "unimportant". Default: "important".


key: properties

description: Key/value pairs that provide additional information about the code location.


key: tags

description: A set of distinct strings that provide additional information.


key: tool

description: The analysis tool that was run.

default: en-US


key: name

description: The name of the tool.


key: fullName

description: The name of the tool along with its version and any other useful identifying information, such as its locale.


key: version

description: The tool version, in whatever format the tool natively provides.


key: semanticVersion

description: The tool version in the format specified by Semantic Versioning 2.0.


key: fileVersion

description: The binary version of the tool's primary executable file (for operating systems such as Windows that provide that information).


key: downloadUri

description: The absolute URI from which the tool can be downloaded.


key: sarifLoggerVersion

description: A version that uniquely identifies the SARIF logging component that generated this file, if it is versioned separately from the tool.


key: language

description: The tool language (expressed as an ISO 649 two-letter lowercase culture code) and region (expressed as an ISO 3166 two-letter uppercase subculture code associated with a country or region).


description: Key/value pairs that provide additional information about the tool.