Getting started¶
Install krites and cull your first shoot.
Install¶
krites ships as a single binary with the studio's web assets embedded at build
time. Install it from the release archives
— builds are published for macOS and Linux (arm64 and x86_64).
Don't use go install
The studio UI is built by a go generate step and embedded into the binary.
go install (and a bare go build) skip that step and embed only a
placeholder — a broken studio. Use a release archive or just build / just
install, both of which run the generate step.
macOS app (recommended for the studio)¶
For the desktop studio experience, download Krites_<version>_arm64.dmg from
the latest release,
open it, and drag Krites into Applications. Then double-click Krites:
- it starts the studio, opens your browser, and keeps running in the background;
- click Krites again any time to reopen the studio (it reuses the one already running rather than starting a second);
- use Shutdown krites in the studio settings to stop it.
The app is signed and notarized with an Apple Developer ID, so it opens with
no "unidentified developer" warning, and the ONNX runtime for the local ML
features is bundled inside — nothing else to install. Apple Silicon
(arm64) only. Keep it current from inside the studio — see
Update krites.
Quick install (macOS / Linux CLI)¶
Prefer the command line? The install script downloads the right archive for your
OS/arch and drops the krites binary in ~/.local/bin:
Manual install¶
Download the archive for your platform from the
latest release
(e.g. krites_Darwin_arm64.tar.gz), extract the binary, and put it on your
PATH:
From source¶
With Go 1.26.4 or newer and just, clone the
repo and build — this runs the go generate step that embeds the studio:
Then confirm it's on your PATH:
First run: initialise your config¶
Run this once after installing, before anything else:
init writes your configuration file (~/.krites/config.yaml) and seeds a
starting wedding-default cull profile and a neutral look. Every other
command reads this file, so a fresh install will otherwise stop with "no
configuration files found — please run init".
init is idempotent — re-run it any time; it won't overwrite settings you've
changed (use krites init --clean to reset to defaults). When krites self-updates
it re-runs init for you, so your config stays current across upgrades.
Packaged macOS app
The macOS app needs no krites init step — it ensures your config
in-process at launch (before it starts the studio), so a fresh install and
every upgrade are self-configuring with zero terminal steps. The manual krites
init above is only for CLI installs.
Cull your first shoot¶
krites keeps no catalog of its own — it operates on a shoot: a directory of
imported originals plus a .krites/ sidecar that holds the analysis, verdicts and
edit records. Originals are immutable; only export ever writes pixels.
1. Register a shoot from a folder of frames:
2. Judge it — analyse every frame and assign a keep / maybe / reject verdict with reasons:
3. Review in the studio — the primary surface. This opens a local, localhost-only web UI over the same shoot files:
Work the cull grid, confirm or override verdicts, straighten/crop/develop the keepers, and remove the odd distraction — all non-destructively.
4. Export the keepers — render the chosen verdict set (with every edit baked
in) into the shoot's export/ directory, writing XMP sidecars for Lightroom:
Your originals are untouched throughout; undo anything with
krites reset.
Next steps¶
- The full walkthrough, with the reasoning at each step: Tutorials → Cull a shoot end to end.
- Task recipes: How-to guides.
- Every command and flag: CLI reference.
- Turn on the optional providers (face/eye, object removal): Configuration reference.