{ "$schema": "https://json.schemastore.org/metaschema-draft-07-unofficial-strict.json", "definitions": { "color": { "oneOf": [ { "type": "string", "examples": [ "red", "green", "yellow", "blue", "magenta", "cyan", "bold", "underlined", "red_bold", "green_bold", "yellow_bold", "blue_bold", "magenta_bold", "cyan_bold", "red_underlined", "green_underlined", "yellow_underlined", "blue_underlined", "magenta_underlined", "cyan_underlined" ] }, { "type": "null" } ] } }, "title": "settings", "description": "Settings of the current application\nhttps://bashly.dev/usage/settings/#settings", "type": "object", "properties": { "source_dir": { "title": "source dir", "description": "The path containing the bashly source files\nhttps://bashly.dev/usage/settings/#source_dir", "type": "string", "minLength": 1, "default": "src" }, "config_path": { "title": "config path", "description": "The path to bashly.yml\nhttps://bashly.dev/usage/settings/#config_path", "type": "string", "minLength": 1, "default": "%{source_dir}/bashly.yml" }, "target_dir": { "title": "target dir", "description": "The path to use for creating the bash script\nhttps://bashly.dev/usage/settings/#target_dir", "type": "string", "minLength": 1, "default": "." }, "lib_dir": { "title": "lib dir", "description": "The path to use for common library files, relative to source_dir\nhttps://bashly.dev/usage/settings/#lib_dir", "type": "string", "minLength": 1, "default": "lib" }, "extra_lib_dirs": { "title": "extra lib dirs", "description": "One or more paths to use for common library files, relative to the working directory.\nMay be provided as an array or a comma delimited string.\nhttps://bashly.dev/usage/settings/#extra_lib_dirs", "oneOf": [ { "type": "null" }, { "type": "string", "minLength": 1, "examples": [ "common, org_lib", "lib" ] }, { "type": "array", "items": { "type": "string", "minLength": 1 }, "examples": [ [ "common", "org_lib" ] ] } ], "default": null }, "commands_dir": { "title": "commands dir", "description": "The path to use for command files, relative to source_dir\nhttps://bashly.dev/usage/settings/#commands_dir", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] }, "strict": { "title": "strict", "description": "Configure the bash options that will be added to the initialize function\nhttps://bashly.dev/usage/settings/#strict", "oneOf": [ { "type": "boolean" }, { "type": "string", "examples": [ "set -o pipefail" ] } ], "default": false }, "tab_indent": { "title": "tab indent", "description": "Whether to use tabs or spaces in the generated script\nhttps://bashly.dev/usage/settings/#tab_indent", "type": "boolean", "default": false }, "word_wrap": { "title": "word wrap", "description": "Configure the character width used to wrap help and example messages\nhttps://bashly.dev/usage/settings/#word_wrap", "type": "integer", "default": 80 }, "compact_short_flags": { "title": "compact short flags", "description": "Whether to expand -abc to -a -b -c in the input line\nhttps://bashly.dev/usage/settings/#compact_short_flags", "type": "boolean", "default": true }, "conjoined_flag_args": { "title": "conjoined flag args", "description": "Whether to expand --flag=value to --flag value in the input line\nhttps://bashly.dev/usage/settings/#conjoined_flag_args", "type": "boolean", "default": true }, "show_examples_on_error": { "title": "show examples on error", "description": "Whether to show command examples when the input line is missing required arguments\nhttps://bashly.dev/usage/settings/#show_examples_on_error", "type": "boolean", "default": true }, "env": { "title": "env", "description": "Whether to include development related comments in the generated script\nhttps://bashly.dev/usage/settings/#env", "type": "string", "enum": [ "development", "production" ], "default": "development" }, "enable_header_comment": { "title": "enable_header_comment", "description": "Whether to include the header comment in the generated script\nhttps://bashly.dev/usage/settings/#enable_header_comment", "type": "string", "enum": [ "development", "production", "always", "never" ], "default": "always" }, "enable_bash3_bouncer": { "title": "enable_bash3_bouncer", "description": "Whether to include the code snippet that aborts when an old version of bash is detected in the generated script\nhttps://bashly.dev/usage/settings/#enable_bash3_bouncer", "type": "string", "enum": [ "development", "production", "always", "never" ], "default": "always" }, "enable_view_markers": { "title": "enable_view_markers", "description": "Whether to include view marker comments in the generated script\nhttps://bashly.dev/usage/settings/#enable_view_markers", "type": "string", "enum": [ "development", "production", "always", "never" ], "default": "development" }, "enable_inspect_args": { "title": "enable_inspect_args", "description": "Whether to include the inspect_args function in the generated script\nhttps://bashly.dev/usage/settings/#enable_inspect_args", "type": "string", "enum": [ "development", "production", "always", "never" ], "default": "development" }, "enable_deps_array": { "title": "enable_deps_array", "description": "Whether to include the code for the dependencies array in the generated script\nhttps://bashly.dev/usage/settings/#enable_deps_array", "type": "string", "enum": [ "development", "production", "always", "never" ], "default": "always" }, "enable_env_var_names_array": { "title": "enable_env_var_names_array", "description": "Whether to include the code for the env_var_names array in the generated script\nhttps://bashly.dev/usage/settings/#enable_env_var_names_array", "type": "string", "enum": [ "development", "production", "always", "never" ], "default": "always" }, "enable_sourcing": { "title": "enable_sourcing", "description": "Whether to wrap the script execution in a condition that checks if the script is sourced\nhttps://bashly.dev/usage/settings/#enable_sourcing", "type": "string", "enum": [ "development", "production", "always", "never" ], "default": "development" }, "formatter": { "title": "formatter", "description": "Choose how to post-process the generated script\nhttps://bashly.dev/usage/settings/#formatter", "anyOf": [ { "type": "string", "enum": [ "internal", "external", "none" ] }, { "type": "string", "minLength": 1 } ], "default": "internal" }, "partials_extension": { "title": "partials extension", "description": "The extension to use when reading/writing partial script snippets\nhttps://bashly.dev/usage/settings/#partials_extension", "type": "string", "minLength": 1, "default": "sh" }, "private_reveal_key": { "title": "private reveal key", "description": "The name of the environment variable (case sensitive) that, if set, will reveal private commands, flags and environment variables\nhttps://bashly.dev/usage/settings/#private_reveal_key", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] }, "argfile_var": { "title": "argfile var", "description": "The name of the environment variable that can override or disable command argfiles at runtime\nhttps://bashly.dev/usage/settings/#argfile_var", "type": "string", "minLength": 1, "default": "ARGFILE" }, "watch_evented": { "title": "watch evented", "description": "Whether to use evented file system watch instead of the default polling\nhttps://bashly.dev/usage/settings/#watch_evented", "type": "boolean", "default": false }, "watch_latency": { "title": "watch latency", "description": "The latency in seconds for the file system changes watcher\nhttps://bashly.dev/usage/settings/#watch_latency", "type": "number", "default": 1 }, "usage_colors": { "title": "usage colors", "description": "Enable and configure colorful output for --help\nhttps://bashly.dev/usage/settings/#usage_colors", "type": "object", "properties": { "caption": { "title": "caption", "description": "Color for captions\nhttps://bashly.dev/usage/settings/#usage_colors", "$ref": "#/definitions/color" }, "command": { "title": "command", "description": "Color for commands\nhttps://bashly.dev/usage/settings/#usage_colors", "$ref": "#/definitions/color" }, "arg": { "title": "arg", "description": "Color for positional arguments\nhttps://bashly.dev/usage/settings/#usage_colors", "$ref": "#/definitions/color" }, "flag": { "title": "flag", "description": "Color for flags\nhttps://bashly.dev/usage/settings/#usage_colors", "$ref": "#/definitions/color" }, "environment_variable": { "title": "environment variable", "description": "Color for env environment variables\nhttps://bashly.dev/usage/settings/#usage_colors", "$ref": "#/definitions/color" } }, "additionalProperties": false }, "var_aliases": { "title": "var_aliases", "description": "Declare alias names for bashly's public global arrays\nhttps://bashly.dev/usage/settings/#var_aliases", "type": "object", "properties": { "args": { "title": "args", "description": "Alias name for the args array\nhttps://bashly.dev/usage/settings/#var_aliases", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] }, "other_args": { "title": "other_args", "description": "Alias name for the other_args array (used when catch_all is enabled)\nhttps://bashly.dev/usage/settings/#var_aliases", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] }, "deps": { "title": "deps", "description": "Alias name for the deps array\nhttps://bashly.dev/usage/settings/#var_aliases", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] }, "env_var_names": { "title": "env_var_names", "description": "Alias name for the env_var_names array\nhttps://bashly.dev/usage/settings/#var_aliases", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] } }, "additionalProperties": false }, "function_names": { "title": "function_names", "description": "Choose different names for some of the internal functions.\nhttps://bashly.dev/usage/settings/#function_names", "type": "object", "properties": { "run": { "title": "run", "description": "Name for the run() function\nhttps://bashly.dev/usage/settings/#function_names", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] }, "initialize": { "title": "initialize", "description": "Name for the initialize() function\nhttps://bashly.dev/usage/settings/#function_names", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ] } }, "additionalProperties": false } }, "additionalProperties": false }