Everything SourceryKit needs before you write code: an account, credentials, and a database. This is the first step — nothing else works until the credentials below exist.
Registration triggers an email verification link that only a human can click — that is the single step an automated agent cannot do. Everything else (register, login, database link, project setup) runs non-interactively. If you are an agent: prefer the sourcerykit init CLI over hand-writing config, run the setup below yourself, and ask a human only for the verification click.
pip install sourcerykitNon-interactive (agents and scripts):
# 1. register (skip if the account exists) — triggers the verification email
sourcerykit init --register --email [email protected] --password ...
# 2. a HUMAN clicks the verification link in the email
# 3. log in + link the database + name the project
sourcerykit init --email [email protected] --password ... \
--postgres-url postgresql://user:pass@host:5432/db --project-name my-app
# 4. verify everything works
sourcerykit doctorA brand-new account has no organization, so step 3 auto-creates one and stays fully non-interactive. If the account already belongs to multiple orgs, init prompts you to choose — use a single-org account to keep it scriptable.
Interactive: run sourcerykit init with no flags and follow the wizard — same steps, prompted (sign up or log in → verify email → link a hosted, publicly reachable Postgres → name the project → credentials stored).
Full command reference (init, doctor, endpoints, config, trace): cli.md.
init stores credentials at two levels (see cli.md for the full table):
Inspect stored config any time with sourcerykit config list, or validate and repair it with sourcerykit doctor (add --fix).
The Postgres database must be hosted and publicly reachable — the Provably backend connects to it directly to generate proofs. localhost / 127.0.0.1 will not work.
Already have credentials? Environment variables override the stored config:
export PROVABLY_API_KEY="..."
export SOURCERYKIT_ORG_ID="..."
export SOURCERYKIT_POSTGRES_URL="postgresql://user:password@host:5432/db"