/schema

Convert your kickstartDS component schema to types and CMS configuration

Primary LanguageTypeScriptOtherNOASSERTION

kickstartDS schema tooling

This project encompasses a suite of tools designed to convert JSON schemas into various formats suitable for different CMS (Content Management Systems), GraphQL schemas, and static site generators. It leverages the power of JSON Schema to streamline the creation of content structures across different platforms, ensuring consistency and efficiency in content management processes.

Tools Included

  • jsonschema2storyblok: Converts JSON schemas to Storyblok components.
  • jsonschema2staticcms: A tool for transforming JSON schemas into formats compatible with static site generators.
  • jsonschema2stackbit: Transforms JSON schemas for use with Stackbit.
  • jsonschema2graphql: Generates GraphQL schemas from JSON schemas.

Key Features

  • Conversion of JSON schemas into various CMS configurations and GraphQL types.
  • Support for combining JSON schemas using allOf, anyOf, or not.
  • Generation of GraphQL input types from JSON schemas.

Installation

Each tool within the project has its own installation instructions. Please refer to the respective tool's README.md for detailed installation and usage instructions.

Examples and Usage

For practical examples of how to use these tools, please refer to the examples directory. You'll find detailed examples for Storyblok, StaticCMS, and other platforms, showcasing the conversion process and the resulting configurations.

Contributing

Contributions are welcome. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as below, without any additional terms or conditions.

License

This project is licensed under either of

at your option.

The SPDX license identifier for this project is MIT OR Apache-2.0.


For more information and updates, please visit the project's GitHub repository.

Support

Join our Discord community for support, or leave an issue on this repository!