# `mix arcana.install`
[🔗](https://github.com/georgeguimaraes/arcana/blob/main/lib/mix/tasks/arcana.install.ex#L2)

Installs Arcana in your Phoenix application.

    $ mix arcana.install

This will:
- Generate the migration for arcana_documents and arcana_chunks tables
- Add the dashboard route to your Phoenix router
- Create the Postgrex types module for pgvector
- Configure your repo to use the types module

If the repo already has a `:types` key in its config, the installer
leaves it alone and tells you how to add the pgvector extension to that
module.

A `Postgrex.Types.define/3` call found by scanning `lib/` is a weaker
signal: types modules are per-repo, and nothing in the call says which
repo it serves. The installer leaves that module untouched and generates
a separate one for the repo it is installing into, named so it cannot
collide, so the repo ends up with pgvector registered either way.

Detection reads every `*.exs` file directly inside your config
directory, plus every `lib/**/*.ex` file that mentions
`Postgrex.Types.define`. It does not evaluate config, so a `:types` key
that only exists in a file imported from outside the config directory,
or that is built at runtime, is invisible to it - the installer will
generate a second types module. If that happens, delete the generated
module and add `Pgvector.Extensions.Vector` to yours instead.

## Options

  * `--no-dashboard` - Skip adding the dashboard route
  * `--repo` - The repo to use (defaults to YourApp.Repo)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
