{"repo":"kstasik/schema-tools","free":true,"listed":false,"github":"https://github.com/kstasik/schema-tools","clone":"git clone https://github.com/kstasik/schema-tools.git","description":"Set of tools for codegen, preprocessing and validation of json-schema and openapi spec","language":"Rust","stars":48,"topics":["json","json-schema","openapi","openapi3"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"Schema Tools Introduction Just another approach to openapi/jsonschema code generator. It's a home project written in Rust , simple all-in-one console tool with features like: - openapi/json schema validation - schema preprocessing - dereference - merge-allof - patch (apply/generate json-patch) - name - merge-openapi - Tera (jinja2) code generator with custom templates support It is designed to speed up development of microservices heavly using json objects (json schemas on api level as well events). Documentation - docs/PROJECT ARCHITECTURE.md — how schema-tools loads, processes, and generates code. - docs/TEMPLATE VARIABLES.md — complete reference of variables available in Tera templates. - llms.txt — llmstxt.org-style index of this project's docs and source layout, intended as a concise entry point for LLM agents/tools working on codegen templates. Main differences in approach between other solutions like openapi-generator : - more robust template language like jinja2 - language specific logic moved to templates including type mapping, reserved words - wrapping of mixed types without discriminator - one tool for clients, servers, json-schema queue consumers and processing of openapi - relatively small binary used on every build of project - codegen executed per microservice approach (not as a separate, generic client library) - json-schema registry support, TODO: shared models - create one model for shared structures in different clients/servers to avoid mapping same struct","default_branch":null,"files":null,"tree":[],"storefront":"/r/kstasik","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kstasik/schema-tools/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}