okr¶
Reproducible R source context for coding agents.
okr retrieves exact R package sources and arbitrary reference repositories,
organizes them into a greppable source tree, and records enough provenance to
verify every byte later.
Why¶
An installed R library is poor context for a coding agent. Package R code is
stored in binary lazy-load databases, and compiled src/ trees are removed
during installation. Metadata remains visible, but much of the implementation
the agent needs to inspect does not.
okr creates a synthetic monorepo alongside the project. It can contain exact
CRAN package versions, packages from Git forges, and non-package repositories
that provide useful standards, protocols, or examples. A lockfile and aggregate
tree digests make the result suitable for reproducible, offline evaluation as
well as day-to-day agent work.
Start here¶
The result includes:
okr.toml, the declarations you maintain;okr.lock, the resolved versions, commits, acquisition methods, and digests;deps-src/, the pruned source trees;deps-src/_manifest.mdand_manifest.json, indexes for people, agents, and evaluation harnesses; and- a managed marker block in
AGENTS.mdthat tells coding agents where to look.
Continue with the quick start, then see source declarations for CRAN, GitHub, GitLab, Bitbucket, arbitrary Git hosts, direct tarballs, and reference repositories.
Less is more¶
okr installs nothing. It does not install R, mutate an R library, or solve
package dependencies. Use rig for R toolchains and pak, renv, rv, or
install.packages() for package installation. okr can inspect the installed
library read-only and report whether its versions agree with the vendored
sources.