Setup
Install Reckon and its CLIs on macOS or Linux, put the reckon command on your PATH, and migrate an older checkout.
Reckon is a native executable and needs Claude Code or Codex to open an agent.
Building from source requires Rust, using the pinned
rust-toolchain.toml. Python is used only by compatibility tests. The
checkout holds Reckon's code only. Orgs, credentials, knowledge and saved work
live under ~/.reckon (or $RECKON_HOME).
macOS and Linux
git clone https://github.com/piyush-gambhir/reckon.git
cd reckon
bash scripts/setup.sh
export PATH="$HOME/.reckon/bin:$PATH" # add this to your shell profilesetup.sh installs missing tools with Homebrew on macOS and apt or dnf on
Debian, Ubuntu, Fedora and RHEL-family systems. Downloaded binaries such as
rpk and kubectl are checksum-verified. It then creates ~/.reckon (mode
0700), builds Reckon with cargo build --locked --release, and links
~/.reckon/bin/reckon to target/release/reckon in the checkout.
Other Linux distributions get manual-install guidance.
Setup is idempotent. Re-running it installs only what is missing and leaves existing tools and orgs alone.
For Reckon alone, run cargo install --locked --path .. Provider definitions,
workspace guides, templates and built-in recipes are embedded in the executable;
running the installed binary does not require the checkout or a language runtime.
Once you have created an org, reckon doctor reports the Reckon version,
whether ~/.reckon is private, your orgs, connections without credentials or
without their CLI, and the default context.
Windows
Use WSL2 and the same script inside it:
wsl --installNative PowerShell (scripts\setup.ps1, scripts\reckon.ps1) is experimental.
reckon open needs symlink rights there (Developer Mode).
Where data lives
~/.reckon/
bin/reckon native executable, or link to the source build
context default org/env for the next launch (reckon use)
links.json folders linked to an org/env and preferred connections (reckon link)
orgs/<org>/
org.json environments and connections, no secrets
secrets/<connection>.env credentials, 0600, never shown to the agent
config/<connection>/ the CLI's own config and saved logins
runtime/<connection>/ private HOME, cache and temp for that CLI
workspace/ the agent's folder for this org
RECKON.md generated: environments and connections
CLAUDE.md, AGENTS.md the org's agent guide; add your own notes
knowledge/ company and per-environment facts
sessions/ saved work with evidence
incidents/ promoted RCAsNext, create an org and connect its tools: see Orgs & connections or the Quick start.
Migrate an older checkout
Older versions kept one business inside the checkout: .env.<env> files,
.config/<env>/, infra-knowledge/, sessions/ and incidents/.
reckon migrate copies that layout into a new org. It changes and deletes
nothing in the old checkout.
reckon migrate --org acme --rename production=prod --rename staging=dev --share cubeapm --dry-run
reckon migrate --org acme --rename production=prod --rename staging=dev --share cubeapm--rename OLD=NEWrenames an environment. The new defaults areprod,uatanddev.--share TOOLmakes one connection for every environment, for example CubeAPM when one server holds them all. It needs identical settings and saved CLI config in every environment, and fails otherwise. A tool that is identical everywhere is shared automatically; any other tool becomes one connection per environment, such asjenkins-prodandjenkins-dev.--from PATHreads another checkout (default: this one).--namesets the org's display name.- Settings that use shell expansion (
$(...),${...}) are skipped and listed by name. Copy those by hand into the new secrets files.
A shared CubeAPM connection still needs its environment labels:
reckon connect cubeapm --org acme --label prod=PROD --label dev=DEV
reckon use acme/prod
reckon verifyOnce you have checked the new org, delete the old files from the checkout.
Pinned CLI releases
Setup installs the ten CLIs maintained alongside Reckon from their GitHub
release archives at the versions pinned in scripts/cli-releases.csv, after
checking each archive against the release's checksums.txt. Release builds
matter: a source build of gsc has no built-in OAuth client. A copy already on
your PATH is kept when it is current and replaced in place when it is older than
the pin, so rerunning setup upgrades them. reckon doctor lists any that are
behind. Where no archive fits your platform, setup builds from source with
go install.
| CLI | Release |
|---|---|
grafana | 0.2.11 |
jenkins | 0.2.11 |
cubeapm | 0.2.12 |
es | 0.1.12 |
jira | 0.1.13 |
nginxpm | 0.1.13 |
gsc | 0.1.8 |
bwt | 0.1.7 |
clarity | 0.1.5 |
whatsapp | 0.1.0 |
The other tools (aws, gh, kubectl, psql, mysql, mongosh,
clickhouse, redis-cli, kcat, rpk, jq) come from your package manager
or vendor releases.