reckon

Setup

Clone reckon and prepare its isolated production tool workspace.

reckon is a repository workspace, not a standalone binary. Setup starts with a Git clone and runs the repository's idempotent installer.

macOS

git clone https://github.com/piyush-gambhir/reckon.git
cd reckon
bash scripts/setup.sh

Homebrew is required. The script installs missing tools with Homebrew or pinned go install commands, creates .env.production from .env.example when needed, seeds the infra-knowledge/ templates, and runs direnv allow.

Linux

git clone https://github.com/piyush-gambhir/reckon.git
cd reckon
bash scripts/setup.sh

The same script detects Debian/Ubuntu or Fedora/RHEL-family systems through /etc/os-release and uses apt or dnf. Pinned rpk and kubectl downloads are checksum-verified; vendor repositories are used where available. Other Linux distributions receive manual-install guidance.

Hook direnv into your shell once so the workspace environment loads when you enter the clone:

eval "$(direnv hook bash)"

Use the equivalent zsh hook when zsh is your shell.

Windows

WSL2 is the recommended Windows path because native Windows does not provide the complete toolbelt:

wsl --install

After rebooting, run the Linux clone and setup commands inside WSL.

Native PowerShell support is partial. scripts/setup.ps1 installs the available tools, and scripts/activate.ps1 replaces direnv for the current session:

git clone https://github.com/piyush-gambhir/reckon.git
cd reckon
.\scripts\setup.ps1
notepad .env
. .\scripts\activate.ps1

Setup is idempotent. Re-running it leaves existing configuration alone and installs only missing tools.

Finish the workspace

Edit .env.production with real production credentials and fill the seeded infra-knowledge/*.md files with your service inventory, naming conventions, server quirks, and known issues. Then confirm the workspace is actually wired up:

./scripts/reckon doctor      # setup problems, with the fix for each
./scripts/reckon status      # what is connected in the active environment
./scripts/reckon verify      # one safe read per configured integration

verify is the only command that contacts your infrastructure; doctor and status are local inspection.

Keep approval prompts enabled in the agent runtime. Database queries must not be broadly pre-approved, and database users must be true read-only roles.

Pinned CLI releases

Both setup scripts read scripts/cli-releases.csv. It pins Grafana, Jenkins, and CubeAPM to release 0.2.6 and Elasticsearch to 0.1.6. The source modules live under cli-go/ and have matching cli-go/v* version tags. The installer stages each build and installs it using its public name (grafana, jenkins, cubeapm, or es). Existing commands on PATH are left in place when setup is rerun.