Skip to content

Commit

Permalink
Merge branch 'master' into fragments-take2
Browse files Browse the repository at this point in the history
  • Loading branch information
derberg authored Dec 20, 2022
2 parents 651e12b + 04ae597 commit f5e08e6
Showing 1 changed file with 116 additions and 48 deletions.
164 changes: 116 additions & 48 deletions scripts/tools/tools-schema.json
Original file line number Diff line number Diff line change
@@ -1,54 +1,122 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSON Schema for AsyncAPI tool discovery file.",
"type": "object",
"required": ["title", "filters"],
"properties": {
"title": {
"type": "string",
"description": "Human-readable name of the tool that will be visible to people in the list of tools",
"examples": ["AsyncAPI Generator", "Cupid"]
},
"description": {
"type": "string"
},
"links": {
"type": "object",
"properties": {
"websiteUrl": {
"type": "string"
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSON Schema for AsyncAPI tool discovery file.",
"type": "object",
"additionalProperties": false,
"required": [
"title",
"filters"
],
"properties": {
"title": {
"type": "string",
"description": "Human-readable name of the tool that will be visible to people in the list of tools.",
"examples": [
"AsyncAPI Generator",
"Cupid"
]
},
"docsUrl": {
"type": "string"
}
}
},
"filters": {
"type": "object",
"required": ["technology", "categories"],
"properties": {
"language": {
"type": "string"
},
"technology": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
"description": {
"type": "string",
"description": "By default scripts read description of repository there project is stored. You can override this behaviour by providing custom description."
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
"links": {
"type": "object",
"additionalProperties": false,
"properties": {
"websiteUrl": {
"type": "string",
"description": "You can provide URL to the website where your project hosts some demo or project landing page.",
"format": "uri"
},
"docsUrl": {
"type": "string",
"description": "You can provide URL to project documentation in case you have more than just a readme file.",
"format": "uri"
}
}
},
"hasCommercial": {
"type": "boolean",
"default": false
"filters": {
"type": "object",
"additionalProperties": false,
"required": [
"technology",
"categories"
],
"properties": {
"language": {
"type": "string",
"description": "Provide information on how other can integrate with the tool in case it is possible. If your code generator generates Python code, then specify Python, even if code generator itself is written in JavaScript. If we forgot about some language then please add it through a pull request to AsyncAPI website repository.",
"enum": [
"Go",
"Java",
"JavaScript",
"HTML",
"C/C++",
"C#",
"Python",
"TypeScript",
"Kotlin",
"Scala",
"Markdown",
"YAML",
"R",
"Rubby",
"Rust",
"Shell",
"Groovy"
]
},
"technology": {
"type": "array",
"description": "Provide a list of different technologies used in the tool. Put details useful for tool user and tool contributor.",
"items": {
"type": "string"
},
"minItems": 1,
"examples": [
"Express.js",
"Kafka"
]
},
"categories": {
"type": "array",
"description": "Categories are used to group tools by different use case, like documentation or code generation. If have a list of fixed categories. If you use different one that your tool lands under \"other\" category. Feel free to add your category through a pull request to AsyncAPI website repository.",
"items": {
"type": "string",
"enum": [
"api",
"code-first",
"code generator",
"converter",
"directory",
"documentation generator",
"editor",
"ui component",
"dsl",
"framework",
"github-actions",
"mocking and testing",
"validator",
"compare-tool",
"other",
"cli",
"bundler",
"ide-extension"
]
},
"minItems": 1,
"examples": [
"Express.js",
"Kafka"
]
},
"hasCommercial": {
"type": "boolean",
"description": "Indicate if your tool is open source or commercial offering, like SAAS for example",
"default": false
}
}
}
}
}
}
}
}

0 comments on commit f5e08e6

Please sign in to comment.