Skip to content

krites init

What krites init does

Write krites' configuration file and run the first-run bootstrap. Every other command reads that file.

The file holds only log, server and update settings at first. The wedding-default cull profile and the neutral look are built into krites, not written by init: an unset cull.profile.* key takes its built-in value, and a shoot with no look catalog of its own uses neutral. See Cull profile.

You rarely need to run it. On a fresh install, the first krites command of any kind writes the same default config before it runs, with the credential wizards suppressed. Run init to get those wizards from a terminal, or with --clean to reset the config to the defaults.

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-gitlab true under CI, else false Skip the GitLab credential wizard
--skip-key -k true under CI, else false Skip the SSH key wizard

The two --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.

krites init gitlab runs the GitLab wizard on its own.

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 isn't a failure, but it does mean a scripted krites init never configures GitLab. Run krites init gitlab from a real terminal later if you want it.

The two credential wizards it offers (GitLab and the SSH key) come from the shared framework, and krites runs without either. The AI-provider key that krites review needs is entered in the studio and stored in the OS keychain, never through init.

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.