Skip to content

krites init

What krites init does

Write krites' configuration file and run the first-run bootstrap. It seeds the wedding-default cull profile and a neutral look as starting points; every other command reads that file.

On a CLI install this is the one command to run before anything else. Without a config file, other commands stop with "no configuration files found — please run init".

Usage

krites init [flags]

Flags

Flag Short Default What it does
--clean -c false Discard the existing configuration and replace it with the defaults
--dir -d ~/.krites Directory to write the config into
--skip-ai -a true under CI, else false Skip the AI-provider credential wizard
--skip-key -k true under CI, else false Skip the SSH key wizard
--skip-login -l true under CI, else false Skip the GitHub login wizard
--skip-bitbucket true under CI, else false Skip the Bitbucket credential wizard

The four --skip-* flags default themselves from the environment: each is true when the CI environment variable is exactly true, and false otherwise. So a pipeline skips the wizards without passing anything.

Plus the global flags on every command.

Running it again is safe

init is idempotent. Re-running it will not overwrite settings you have changed; it fills in anything missing and leaves the rest alone. --clean is the explicit opt-out — that does discard your settings and rewrite the defaults.

krites also re-runs init for you after a successful krites update, so your config stays compatible across upgrades.

What it does without a terminal

With piped stdin, in CI, or under a test harness, the credential wizards are skipped silently and only the base configuration is written. That is not a failure — but it does mean a scripted krites init never configures a provider. Run krites init <provider> from a real terminal later, or set the key from the studio.

The credential wizards it offers (--skip-ai, --skip-key, --skip-login, --skip-bitbucket) come from the shared framework and cover subsystems krites itself does not use. The AI-provider key krites actually needs — for krites review — is entered in the studio and stored in the OS keychain.

The macOS app does not need it

The packaged macOS app ensures its configuration in-process at launch, before it starts the studio. A fresh install and every upgrade are self-configuring with no terminal step. krites init is for CLI installs.

Where the config file lands

~/.krites/config.yaml by default, or <--dir>/config.yaml. Confirm it with:

krites config path

A per-shoot <shoot>/.krites/config.yaml is a separate, much narrower file — it carries only cull.profile.* overrides, and init neither creates nor touches it. See Configuration.