Welcome to the Schema Store Repository, a collection of JSON and YAML schemas designed to provide validation and standardization for various configuration files. This repository simplifies the development process by offering schemas for configurations that are often missing from popular schema repositories like SchemaStore.org.
- A curated collection of JSON and YAML schemas for popular configuration files.
- Validation and linting support for multiple tools and environments.
- Easily integrable into CI/CD pipelines.
- Includes schemas not available in popular schema repositories like SchemaStore.org.
This repository includes the following schemas:
- Description: Validates the structure of
package-lock.jsonfiles used by Node.js projects. - Location:
json/package-lock-schema.json - Usage: Ensures the integrity and consistency of your package dependencies.
- Description: Validates the structure of
.vscode/settings.jsonfiles used by Visual Studio Code. - Location:
json/vscode-settings-schema.json - Usage: Ensures correct configurations for your VSCode workspace settings.
- Description: Validates the structure of Docker Compose configuration files.
- Location:
yaml/compose-schema.yaml - Usage: Ensures your Docker Compose files are properly configured for multi-container applications.
- Description: Validates MegaLinter configuration files.
- Location:
yaml/mega-linter-schema.yaml - Usage: Ensures your MegaLinter setup adheres to expected standards and structure.
To use these schemas in your project:
-
Clone this repository:
git clone https://github.com/adanmauri/schemastore.git
-
Include the schema in your project configuration. For example, in a VSCode workspace:
{ "$schema": "https://raw.githubusercontent.com/adanmauri/schemastore/main/json/package-lock.json" } -
Validate your configuration files using tools like:
- VSCode's built-in JSON and YAML validation.
- AJV JSON Schema Validator for JSON files.
- YAML Lint for YAML files.
- v8r for JSON and YAML files.
We welcome contributions! To contribute:
- Fork this repository.
- Create a new branch:
git checkout -b feature/new-schema
- Add your changes.
- Submit a pull request.
For detailed guidelines, see the CONTRIBUTING.md file.
This repository is licensed under the MIT License. See the LICENSE file for details.
This repository was created to centralize and simplify schema validation for common configuration files. It is a part of ongoing efforts to streamline development workflows and promote best practices.
Feel free to reach out or open an issue for questions, suggestions, or to report bugs. Happy coding! 🎉