CrydenSync
CLI

CLI Configuration

`csax` reads configuration from a local `.env` file or real environment variables — real environment variables always take precedence.

csax reads configuration from a local .env file (loaded automatically from the current directory) or real environment variables — real environment variables always take precedence over .env file values.

Variables

VariableRequiredNotes
DATABASE_URLYesSame database your application/api instance uses
JWT_SECRETOnly for commands that construct a full engine instance (sessions revoke, sessions revoke-all)Read-only commands (users get, sessions list, audit tail) use the store layer directly and do not require this
MIGRATIONS_DIRNo, default ./migrationsShould point at a folder containing both the engine's own migration file and any migrations your application defines — csax migrate treats every *.up.sql/*.down.sql file the same, regardless of which project originally authored it

Generating .env interactively

csax config init

See commands.md for the interactive flow.

Connecting to Supabase

Use the session pooler connection string, not the transaction pooler — csax's migration runner executes multi-statement SQL files inside database transactions, which can misbehave under a transaction-mode pgbouncer pooler. See guide/installation.md for the full explanation, which applies identically here.

A platform-specific note: Android/Termux

csax uses the same lib/pq Postgres driver as the engine, and is affected by the same Android/Termux limitation described in guide/installation.md — every database-touching command will fail with a pqutil.User: not supported on current platform error on that platform specifically, regardless of correct configuration. See that section for workarounds.