{
  "$comment": "https://docs.github.com/en/actions/using-workflows/creating-starter-workflows-for-your-organization",
  "$id": "https://json.schemastore.org/github-workflow-template-properties.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false,
  "properties": {
    "name": {
      "description": "A workflow template name\nhttps://docs.github.com/en/actions/using-workflows/creating-starter-workflows-for-your-organization#creating-a-starter-workflow",
      "type": "string",
      "minLength": 1,
      "examples": ["Sample name"]
    },
    "description": {
      "description": "A workflow template description\nhttps://docs.github.com/en/actions/using-workflows/creating-starter-workflows-for-your-organization#creating-a-starter-workflow",
      "type": "string",
      "minLength": 1,
      "examples": ["Sample description"]
    },
    "iconName": {
      "description": "A workflow template icon\nMust be the name of an SVG file, without the file name extension, stored in the workflow-templates directory\nhttps://docs.github.com/en/actions/using-workflows/creating-starter-workflows-for-your-organization#creating-a-starter-workflow",
      "type": "string",
      "minLength": 1,
      "examples": ["Sample icon"]
    },
    "categories": {
      "description": "A workflow category\nhttps://docs.github.com/en/actions/using-workflows/creating-starter-workflows-for-your-organization#creating-a-starter-workflow",
      "type": "array",
      "uniqueItems": true,
      "minItems": 1,
      "items": {
        "type": "string",
        "enum": [
          "1C Enterprise",
          "4D",
          "ABAP CDS",
          "ABAP",
          "ABNF",
          "AFDKO",
          "AGS Script",
          "AIDL",
          "AL",
          "AMPL",
          "ANTLR",
          "API Blueprint",
          "APL",
          "ASL",
          "ASN.1",
          "ASP.NET",
          "ATS",
          "ActionScript",
          "Ada",
          "Alloy",
          "Alpine Abuild",
          "Altium Designer",
          "AngelScript",
          "Ant Build System",
          "ApacheConf",
          "Apex",
          "Apollo Guidance Computer",
          "AppleScript",
          "Arc",
          "AsciiDoc",
          "AspectJ",
          "Assembly",
          "Astro",
          "Asymptote",
          "Augeas",
          "AutoHotkey",
          "AutoIt",
          "AutoIt3",
          "AutoItScript",
          "Avro IDL",
          "Awk",
          "BASIC",
          "Ballerina",
          "Batchfile",
          "Beef",
          "Befunge",
          "BibTeX",
          "Bicep",
          "Bison",
          "BitBake",
          "Blade",
          "BlitzBasic",
          "BlitzMax",
          "Boo",
          "Boogie",
          "Brainfuck",
          "Brightscript",
          "Browserslist",
          "C",
          "C#",
          "C++",
          "C-ObjDump",
          "C2hs Haskell",
          "CIL",
          "CLIPS",
          "CMake",
          "COBOL",
          "CODEOWNERS",
          "COLLADA",
          "CSON",
          "CSS",
          "CSV",
          "CUE",
          "CWeb",
          "Cabal Config",
          "Cabal",
          "Cap'n Proto",
          "Carto",
          "CartoCSS",
          "Ceylon",
          "Chapel",
          "Charity",
          "ChucK",
          "Cirru",
          "Clarion",
          "Classic ASP",
          "Clean",
          "Click",
          "Clojure",
          "Closure Templates",
          "Cloud Firestore Security Rules",
          "CoNLL",
          "CoNLL-U",
          "CoNLL-X",
          "ColdFusion CFC",
          "ColdFusion",
          "Common Lisp",
          "Common Workflow Language",
          "Component Pascal",
          "Containerfile",
          "Cool",
          "Coq",
          "Cpp-ObjDump",
          "Crystal",
          "Csound Document",
          "Csound Score",
          "Csound",
          "Cuda",
          "Cue Sheet",
          "Cycript",
          "Cython",
          "D-ObjDump",
          "DIGITAL Command Language",
          "DM",
          "DTrace",
          "Dafny",
          "Darcs Patch",
          "Dart",
          "DataWeave",
          "Dhall",
          "Diff",
          "Dlang",
          "Dockerfile",
          "Dogescript",
          "Dylan",
          "E",
          "E-mail",
          "EBNF",
          "ECL",
          "ECLiPSe",
          "EJS",
          "EQ",
          "Eagle",
          "Earthly",
          "Easybuild",
          "Ecere Projects",
          "EditorConfig",
          "Eiffel",
          "Elixir",
          "Elm",
          "Emacs Lisp",
          "EmberScript",
          "Erlang",
          "F#",
          "F*",
          "FIGfont",
          "FIGlet Font",
          "FLUX",
          "Factor",
          "Fancy",
          "Fantom",
          "Faust",
          "Fennel",
          "Filebench WML",
          "Filterscript",
          "Fluent",
          "Formatted",
          "Forth",
          "Fortran Free Form",
          "Fortran",
          "FreeBasic",
          "Frege",
          "Futhark",
          "G-code",
          "GAML",
          "GAMS",
          "GAP",
          "GCC Machine Description",
          "GDB",
          "GDScript",
          "GEDCOM",
          "GLSL",
          "GN",
          "Game Maker Language",
          "Gemfile.lock",
          "Genie",
          "Genshi",
          "Gentoo Eclass",
          "Gerber Image",
          "Gettext Catalog",
          "Gherkin",
          "Git Config",
          "Glyph Bitmap Distribution Format",
          "Glyph",
          "Gnuplot",
          "Go Checksums",
          "Go Module",
          "Go",
          "Golo",
          "Gosu",
          "Grace",
          "Gradle",
          "Grammatical Framework",
          "Graph Modeling Language",
          "GraphQL",
          "Graphviz (DOT)",
          "Groovy Server Pages",
          "Groovy",
          "HAProxy",
          "HCL",
          "HTML",
          "HTML+ECR",
          "HTML+EEX",
          "HTML+ERB",
          "HTML+PHP",
          "HTML+Razor",
          "HTTP",
          "HXML",
          "Hack",
          "Haml",
          "Handlebars",
          "Harbour",
          "HashiCorp Configuration Language",
          "Haskell",
          "Haxe",
          "HiveQL",
          "HolyC",
          "Hy",
          "IDL",
          "IGOR Pro",
          "IPython Notebook",
          "Idris",
          "Ignore List",
          "ImageJ Macro",
          "Inform 7",
          "Io",
          "Ioke",
          "Isabelle ROOT",
          "Isabelle",
          "J",
          "JAR Manifest",
          "JFlex",
          "JSON with Comments",
          "JSON",
          "JSON5",
          "JSONLD",
          "JSONiq",
          "Jasmin",
          "Java Properties",
          "Java Server Pages",
          "Java",
          "JavaScript",
          "JavaScript+ERB",
          "Jest Snapshot",
          "Jinja",
          "Jison Lex",
          "Jison",
          "Jolie",
          "Jsonnet",
          "Julia",
          "Jupyter Notebook",
          "Kaitai Struct",
          "KakouneScript",
          "KiCad Layout",
          "KiCad Legacy Layout",
          "KiCad Schematic",
          "Kit",
          "Kotlin",
          "Kusto",
          "LFE",
          "LLVM",
          "LOLCODE",
          "LSL",
          "LTspice Symbol",
          "LabVIEW",
          "Lark",
          "Lasso",
          "Lean",
          "Less",
          "Lex",
          "LilyPond",
          "Limbo",
          "Linker Script",
          "Linux Kernel Module",
          "Liquid",
          "Literate Agda",
          "Literate CoffeeScript",
          "Literate Haskell",
          "LiveScript",
          "Logos",
          "Logtalk",
          "LookML",
          "LoomScript",
          "Lua",
          "M",
          "M4",
          "M4Sugar",
          "MATLAB",
          "MAXScript",
          "MLIR",
          "MQL4",
          "MQL5",
          "MTML",
          "MUF",
          "Macaulay2",
          "Makefile",
          "Mako",
          "Markdown",
          "Marko",
          "Mathematica",
          "Max",
          "Mercury",
          "Meson",
          "Metal",
          "Microsoft Developer Studio Project",
          "Microsoft Visual Studio Solution",
          "MiniD",
          "Mirah",
          "Modelica",
          "Modula-2",
          "Modula-3",
          "Module Management System",
          "Monkey",
          "Moocode",
          "MoonScript",
          "Motoko",
          "Motorola 68K Assembly",
          "Muse",
          "Myghty",
          "NASL",
          "NCL",
          "NEON",
          "NPM Config",
          "NSIS",
          "NWScript",
          "Nearley",
          "Nemerle",
          "NeoSnippet",
          "NetLinx",
          "NetLinx+ERB",
          "NetLogo",
          "NewLisp",
          "Nextflow",
          "Nginx",
          "Ninja",
          "Nit",
          "Nix",
          "NumPy",
          "Nunjucks",
          "ObjDump",
          "Object Data Instance Notation",
          "ObjectScript",
          "Objective-C",
          "Objective-C++",
          "Objective-J",
          "Odin",
          "Omgrofl",
          "Opa",
          "Opal",
          "Open Policy Agent",
          "OpenCL",
          "OpenEdge ABL",
          "OpenQASM",
          "OpenRC runscript",
          "OpenSCAD",
          "OpenStep Property List",
          "OpenType Feature File",
          "Org",
          "Ox",
          "Oxygene",
          "Oz",
          "P4",
          "PEG.js",
          "PHP",
          "PLpgSQL",
          "POV-Ray SDL",
          "Pan",
          "Papyrus",
          "Parrot Assembly",
          "Parrot Internal Representation",
          "Parrot",
          "Pascal",
          "Pawn",
          "Pep8",
          "Perl",
          "Pickle",
          "PicoLisp",
          "PigLatin",
          "Pike",
          "PlantUML",
          "Pod 6",
          "Pod",
          "PogoScript",
          "Pony",
          "PostCSS",
          "PostScript",
          "PowerShell",
          "Prisma",
          "Processing",
          "Proguard",
          "Prolog",
          "Promela",
          "Propeller Spin",
          "Protocol Buffer",
          "Protocol Buffers",
          "Public Key",
          "Pug",
          "Puppet",
          "Pure Data",
          "PureBasic",
          "PureScript",
          "Python",
          "Q#",
          "QMake",
          "Qt Script",
          "Quake",
          "R",
          "RAML",
          "RDoc",
          "REALbasic",
          "REXX",
          "RMarkdown",
          "RPC",
          "RPM Spec",
          "Racket",
          "Ragel",
          "Raw token data",
          "ReScript",
          "Readline Config",
          "Reason",
          "Rebol",
          "Record Jar",
          "Red",
          "Redirect Rules",
          "Regular Expression",
          "RenderScript",
          "Rich Text Format",
          "Ring",
          "Riot",
          "RobotFramework",
          "Roff",
          "Rouge",
          "Rscript",
          "Ruby",
          "Rust",
          "SAS",
          "SCSS",
          "SELinux Kernel Policy Language",
          "SELinux Policy",
          "SMT",
          "SPARQL",
          "SQF",
          "SQL",
          "SQLPL",
          "SRecode Template",
          "SSH Config",
          "STON",
          "SVG",
          "SWIG",
          "Sage",
          "SaltStack",
          "Sass",
          "Scala",
          "Scaml",
          "Scheme",
          "Scilab",
          "Self",
          "ShaderLab",
          "Shell",
          "ShellCheck Config",
          "Sieve",
          "Singularity",
          "Slash",
          "Slice",
          "Slim",
          "SmPL",
          "Smalltalk",
          "SnipMate",
          "Solidity",
          "Soong",
          "SourcePawn",
          "Spline Font Database",
          "Squirrel",
          "Stan",
          "Standard ML",
          "Starlark",
          "StringTemplate",
          "Stylus",
          "SubRip Text",
          "SugarSS",
          "SuperCollider",
          "Svelte",
          "Swift",
          "SystemVerilog",
          "TI Program",
          "TLA",
          "TOML",
          "TSQL",
          "TSV",
          "TSX",
          "TXL",
          "Tcl",
          "Tcsh",
          "TeX",
          "Tea",
          "Terra",
          "Texinfo",
          "Text",
          "TextMate Properties",
          "Textile",
          "Thrift",
          "Turing",
          "Turtle",
          "Twig",
          "Type Language",
          "TypeScript",
          "UltiSnip",
          "UltiSnips",
          "Unified Parallel C",
          "Unity3D Asset",
          "Unix Assembly",
          "Uno",
          "UnrealScript",
          "Ur",
          "Ur/Web",
          "UrWeb",
          "V",
          "VBA",
          "VCL",
          "VHDL",
          "Vala",
          "Valve Data Format",
          "Verilog",
          "Vim Help File",
          "Vim Script",
          "Vim Snippet",
          "Visual Basic .NET",
          "Vue",
          "Wavefront Material",
          "Wavefront Object",
          "Web Ontology Language",
          "WebAssembly",
          "WebVTT",
          "Wget Config",
          "Wikitext",
          "Windows Registry Entries",
          "Wollok",
          "World of Warcraft Addon Data",
          "X BitMap",
          "X Font Directory Index",
          "X PixMap",
          "X10",
          "XC",
          "XCompose",
          "XML Property List",
          "XML",
          "XPages",
          "XProc",
          "XQuery",
          "XS",
          "XSLT",
          "Xojo",
          "Xonsh",
          "Xtend",
          "YAML",
          "YANG",
          "YARA",
          "YASnippet",
          "Yacc",
          "ZAP",
          "ZIL",
          "Zeek",
          "ZenScript",
          "Zephir",
          "Zig",
          "Zimpl",
          "abl",
          "abuild",
          "acfm",
          "aconf",
          "actionscript 3",
          "actionscript3",
          "ada2005",
          "ada95",
          "adobe composite font metrics",
          "adobe multiple font metrics",
          "advpl",
          "ags",
          "ahk",
          "altium",
          "amfm",
          "amusewiki",
          "apache",
          "apkbuild",
          "arexx",
          "as3",
          "asm",
          "asp",
          "aspx",
          "aspx-vb",
          "ats2",
          "au3",
          "autoconf",
          "b3d",
          "bash session",
          "bash",
          "bat",
          "batch",
          "bazel",
          "blitz3d",
          "blitzplus",
          "bmax",
          "bplus",
          "bro",
          "bsdmake",
          "byond",
          "bzl",
          "c++-objdump",
          "c2hs",
          "cURL Config",
          "cake",
          "cakescript",
          "cfc",
          "cfm",
          "cfml",
          "chpl",
          "clipper",
          "coccinelle",
          "coffee",
          "coffee-script",
          "coldfusion html",
          "console",
          "cperl",
          "cpp",
          "csharp",
          "csound-csd",
          "csound-orc",
          "csound-sco",
          "cucumber",
          "curlrc",
          "cwl",
          "dcl",
          "delphi",
          "desktop",
          "dircolors",
          "django",
          "dosbatch",
          "dosini",
          "dpatch",
          "dtrace-script",
          "eC",
          "ecr",
          "editor-config",
          "edn",
          "eeschema schematic",
          "eex",
          "elisp",
          "emacs muse",
          "emacs",
          "email",
          "eml",
          "erb",
          "fb",
          "fish",
          "flex",
          "foxpro",
          "fsharp",
          "fstar",
          "ftl",
          "fundamental",
          "gf",
          "git-ignore",
          "gitattributes",
          "gitconfig",
          "gitignore",
          "gitmodules",
          "go mod",
          "go sum",
          "go.mod",
          "go.sum",
          "golang",
          "groff",
          "gsp",
          "hbs",
          "heex",
          "help",
          "html+django",
          "html+jinja",
          "html+ruby",
          "htmlbars",
          "htmldjango",
          "hylang",
          "i7",
          "ignore",
          "igor",
          "igorpro",
          "ijm",
          "inc",
          "inform7",
          "inputrc",
          "irc logs",
          "irc",
          "java server page",
          "jq",
          "jruby",
          "js",
          "jsonc",
          "jsp",
          "kak",
          "kakscript",
          "keyvalues",
          "ksy",
          "lassoscript",
          "latex",
          "leex",
          "lhaskell",
          "lhs",
          "lisp",
          "litcoffee",
          "live-script",
          "ls",
          "m2",
          "m68k",
          "mIRC Script",
          "macruby",
          "mail",
          "make",
          "man page",
          "man",
          "man-page",
          "manpage",
          "markojs",
          "max/msp",
          "maxmsp",
          "mbox",
          "mcfunction",
          "mdoc",
          "mediawiki",
          "mf",
          "mma",
          "mumps",
          "mupad",
          "nanorc",
          "nasm",
          "ne-on",
          "nesC",
          "nette object notation",
          "nginx configuration file",
          "nixos",
          "njk",
          "node",
          "npmrc",
          "nroff",
          "nush",
          "nvim",
          "obj-c",
          "obj-c++",
          "obj-j",
          "objc",
          "objc++",
          "objectivec",
          "objectivec++",
          "objectivej",
          "objectpascal",
          "objj",
          "octave",
          "odin-lang",
          "odinlang",
          "oncrpc",
          "ooc",
          "openedge",
          "openrc",
          "osascript",
          "pandoc",
          "pasm",
          "pcbnew",
          "perl-6",
          "perl6",
          "pir",
          "plain text",
          "posh",
          "postscr",
          "pot",
          "pov-ray",
          "povray",
          "progress",
          "protobuf",
          "pwsh",
          "pycon",
          "pyrex",
          "python3",
          "q",
          "ql",
          "qsharp",
          "ragel-rb",
          "ragel-ruby",
          "rake",
          "raw",
          "razor",
          "rb",
          "rbx",
          "reStructuredText",
          "readline",
          "red/system",
          "redirects",
          "regex",
          "regexp",
          "renpy",
          "rhtml",
          "robots txt",
          "robots",
          "robots.txt",
          "rpcgen",
          "rs",
          "rs-274x",
          "rss",
          "rst",
          "rusthon",
          "salt",
          "saltstate",
          "sed",
          "sepolicy",
          "sh",
          "shell-script",
          "shellcheckrc",
          "sml",
          "snippet",
          "sourcemod",
          "soy",
          "specfile",
          "splus",
          "squeak",
          "terraform",
          "tl",
          "tm-properties",
          "troff",
          "ts",
          "udiff",
          "vb .net",
          "vb.net",
          "vb6",
          "vbnet",
          "vdf",
          "vim",
          "vimhelp",
          "viml",
          "visual basic 6",
          "visual basic for applications",
          "visual basic",
          "vlang",
          "wasm",
          "wast",
          "wdl",
          "wgetrc",
          "wiki",
          "winbatch",
          "wisp",
          "wl",
          "wolfram lang",
          "wolfram language",
          "wolfram",
          "wsdl",
          "xBase",
          "xbm",
          "xdr",
          "xhtml",
          "xml+genshi",
          "xml+kid",
          "xpm",
          "xsd",
          "xsl",
          "xten",
          "yas",
          "yml",
          "zsh"
        ]
      }
    },
    "filePatterns": {
      "description": "A file name pattern to match against repository to enable this workflow when match is succeed\nhttps://docs.github.com/en/actions/using-workflows/creating-starter-workflows-for-your-organization#creating-a-starter-workflow",
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "minLength": 1,
        "examples": ["*.sample"]
      }
    }
  },
  "required": ["name", "description"],
  "title": "GitHub starter workflow config file schema",
  "type": "object"
}