KK Glossary
Canonical definitions for terms used throughout KK's code, documentation, and UI.
-
DriverA pluggable implementation of the
remote.Driverinterface that knows how to store and retrieve KK objects, manifests, project files, and history bundles on a specific storage destination. The three built-in drivers arelocal(filesystem / NAS),rclone(any rclone-supported provider), anddrive(native Google Drive). -
Git RemoteA standard Git hosting URL (GitHub, GitLab, Gitea, etc.) added via
kk remote add git. KK uses it to push and pull pointer history only — large-file blobs never travel through a git remote. -
History BundleA standard
git bundlefile containing commit history for one or more branches. When no git remote is configured, KK stores bundles in<driver>/<project>/history/<branch>/so teammates can restore full git history viakk clone --historyorkk fetch. -
History State
.kk/history-state.json— records which history bundle was last applied from each remote, sokk fetch/kk pulldownloads only new incremental bundles. -
KK RemoteA named, user-configured entry in
.kk/config.jsonthat pairs a human-readable name with a driver type and its settings (path, folder ID, credentials, roles, etc.). Managed withkk remote add / list / remove. -
Local CacheThe
.kk/objects/directory on the local machine — a local copy of objects fetched from or staged for upload to a driver.kk pull-filepopulates it;kk objects prunecleans it. -
ManifestA per-project JSON file (
manifests/<repo_id>.json) on the driver that lists every object the driver currently holds for this project. Used bykk status,kk fsck, and future UI tooling. -
Object / OIDA content-addressed binary blob stored in the driver under
objects/<oid[:2]>/<oid[2:4]>/<oid>. The OID is the lowercase hex SHA-256 digest of the file's content. Identical content across any project, branch, or machine always maps to the same OID. -
PointerA small text file (stored in git history) that replaces a large binary. It records the file's SHA-256 OID, byte size, and the original filename. KK substitutes the real file for the pointer on demand (
kk pull-file). -
Project MirrorThe full copy of the committed working tree (source files, pointer files, and
.kk/metadata) thatkk pushsynchronises to the driver's project folder. Excludesobjects/,manifests/,tmp/,logs/, andgit/. -
Push State
.kk/push-state.json— records the last HEAD commit successfully pushed to each named remote, enabling incrementalkk pushto upload only the files changed since that commit. -
Refs SnapshotA
refs.jsonfile stored alongside history bundles. It records the ordered bundle list, the current branch-tip SHAs, and thebase_refused to build the next incremental bundle. -
Repo IDA UUID generated once at
kk initand stored in.kk/repo.json. Mirrors also contain this file;kk pushuses it to detect project-name collisions before overwriting a remote folder. -
StageThe KK staging area, analogous to git's index.
kk addconverts tracked large files to pointers and adds them (along with all other files) to the embedded git index inside.kk/git/. -
TrackMarking a file-glob pattern (e.g.
*.psd,Content/**/*.uasset) so KK automatically converts matching files to pointers when staging withkk add. Managed withkk track/kk untrack.
See Also
- How It Works — end-to-end workflow
- Git Remote Integration — Git remotes vs object storage
- How To Guide — step-by-step user guides