README.md

# JsonSchemaNif

Library for validating JSON instances against JSON schemas.

Provides a straightforward way to ensure that JSON data adheres to a predefined schema, enhancing the reliability and
consistency of data. Especially useful in contexts like Kafka.

## Installation

The package can be installed by adding `json_schema_nif` to your list of dependencies in `mix.exs`:

```elixir
defp deps do
  [
    {:json_schema_nif, "~> 0.1.0"}
  ]
end
```

## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md).

## Documentation

Documentation is available in [HexDocs](https://hexdocs.pm/json_schema_nif/readme.html).

## Releasing

Since we rely on RustlerPrecompiled actually building our Rust bindings in advance,
we need to follow their [recommended flow](https://hexdocs.pm/rustler_precompiled/precompilation_guide.html#recommended-flow):

1. Release a new tag
1. Push the code to your repository with the new tag: git push origin main --tags
1. Wait for all NIFs to be built
1. Run the `mix rustler_precompiled.download JsonSchemaNif --all`task (with the flag --all)
   release the package to Hex.pm (make sure your release includes the correct files).
   - Run `mix hex.build --unpack` to ensure checksum files exist