README.md

# ExCrawl4AI client

ExCrawl4AI exposes an HTTP REST API. The `ex_crawl4ai` library provides a convenient wrapper and some caches that simplifies working with the API.

## Installation

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

```elixir
def deps do
  [
      {:ex_crawl4ai, "0.1.0"}
  ]
end
```

after that just add the ExCrawl4AI child spec under your supervision tree 
```elixir
child_specs = ExCrawl4AI.child_specs()

# Start a supervisor to manage the cache processes
{:ok, _pid} = Supervisor.start_link(child_specs, strategy: :one_for_one)
```

## Library maintainer guide

# Running the tests

1. Start associated dockers
`cd deployment && docker compose up --build`

2. Run the test suite
`mix test`

# Regenerate the chroma client based on open api specs (based on the Open API specs at http://localhost:11235/openapi.json)
`mix crawl4ai.generate`

## Documentation
Documentation can be be found at <https://hexdocs.pm/ex_crawl4ai>.