Run from source¶
Source mode is for development. Supply PostgreSQL yourself.
Prerequisites¶
- Elixir 1.17 or newer, with a matching Erlang/OTP.
- PostgreSQL with pgvector available, reachable at
localhost:5432.
Set up¶
.env.example lists every setting. Start with
DATABASE_URL, CARTULARY_AUTH_SIGNING_SECRET, and the model settings
described in Configuration.
Bootstrap the Account and first administrator¶
Use the idempotent bootstrap task to create the first administrator:
CARTULARY_BOOTSTRAP_PASSWORD='replace-with-a-long-password' \
mix memhouse.identity.bootstrap \
--email admin@example.test \
--name 'Local Admin'
Start the server¶
The application is at http://localhost:4000.
Working offline¶
Without a model provider, use the deterministic adapter for tests and smoke runs:
Production defaults it off and never falls back to it after a provider error.
Running the checks¶
Run the standard checks:
mix deps.get
mix ash.codegen --check
mix format --check-formatted
mix compile --warnings-as-errors
mix test
Contribution rules, the full check matrix, and the review posture are in
CONTRIBUTING.md.