Reignite Dev Experience
Klim is a productivity booster for dev tools: it maps what your projects depend on, turns tools into portable environment contracts, and automates install, audit, diff, upgrade, and restore workflows through native package managers.
$ klim check --output json
{
"project": ".klim.yaml",
"status": "needs_action",
"missing": ["terraform"],
"outdated": ["kubectl"]
}
$ klim diff teammate.yaml
git match
docker differs
terraform remote only
$ klim security audit --sbom
CycloneDX written to stdout
One binary for the whole developer toolchain
Klim connects inventory, environment contracts, native package managers, security posture, and automation into one deterministic workflow.
Map your environment
Discover installed tools, versions, sources, binary paths, GitHub metadata, project references, and pack provenance in one local inventory.
Standardize project requirements
Use .klim.yaml, packs, generated CI workflows, Dockerfiles, and devcontainers to turn setup instructions into versioned environment contracts.
Automate through native package managers
Install, upgrade, remove, proxy, watch, and script tool changes while delegating execution to brew, winget, apt, scoop, choco, snap, and npm.
Compare, restore, and share toolchains
Export manifests, create share tokens, capture trail snapshots, diff machines, and reproduce known-good environments across operating systems.
Audit security and compliance
Find unmanaged installs, PATH risks, archived upstreams, stale projects, license exposure, vulnerabilities, and SBOM data for compliance pipelines.
Give agents deterministic primitives
Let AI agents and CI call stable Klim commands with predictable exit codes and JSON output instead of improvising shell commands from scratch.
Built-in capabilities
One binary covers discovery, validation, automation, security, and sharing. Every command works from the terminal, the TUI, CI, and AI agents — same flags, same JSON, same exit codes.
Interactive TUI
Nine tabs covering My Tools, Marketplace, Project, Dashboard, My Profile (with My Score breakdown), Health (PATH explorer + interactive fix wizard), Security, Backup, and Config.
klim plan
Terraform-plan-style preview of pending changes — grouped by package manager, with 0-100% upgrade confidence per change, risk analysis, disk impact, and time estimate.
klim apply
Run pending changes with an auto-checkpoint, then four-check postcheck (shell resolution, binary validation, PATH consistency, manager integrity) that flags real regressions and prints the rollback command.
klim checkpoint + rollback
Named YAML snapshots of versions, sources, and PATH stored under ~/.klim/checkpoints/. klim rollback produces a restore plan; klim apply auto-captures pre-apply-<UTC> before every run.
klim health
Top-level health command with a PATH conflict explorer (klim health path), interactive fix wizard in the TUI, and an auto-PATH-backup written before any fix touches your $PATH.
Manifests (.klim.yaml)
Codify required tools and version ranges. klim init scaffolds one from your repo files automatically.
klim check / klim score
CI-friendly validation of project requirements plus a 0–100 environment health grade (My Score) with full per-category breakdown and shields.io badges.
klim trail
Git-style content-addressed snapshots of your environment with capture, label, log, show, diff, and prune.
klim env
Capture the full environment fingerprint (tools, favorites, custom packs, OS, audit). Diff and apply across machines.
klim diff
Compare local toolchain against a manifest, share token, or env profile with side-by-side output and CI exit codes.
klim generate
Turn .klim.yaml into a GitHub Actions workflow, Dockerfile, or devcontainer.json — same source, three targets.
klim onboard
Role-based wizard (web, devops, data, mobile, systems, security) that ranks tools and installs in one shot.
klim try
Install a tool temporarily, run your command, then keep-or-remove. Like npx, but for any CLI.
klim proxy
Auto-install shims that fetch a tool on first use. Lazy installation for the long-tail of CLIs.
klim watch
Cron-friendly update notifier across the whole toolchain with --output json for notification scripts.
klim why
Reverse dependency map: where a tool is referenced (projects, packs, related tools, supplying package managers).
Security audit + vulns
OSV-backed CVE/GHSA lookup, license inventory, archived-upstream warnings, PATH hygiene, and CycloneDX SBOM export.
Compliance policy
Define allowed sources, allowed/blocked licenses, blocked/required tools, and a max vulnerability severity threshold.
Marketplace + custom packs
110+ curated tools across categories. Bundle related tools into packs. Add internal or community marketplace URLs.
Share tokens
Compact klim:v1:... tokens for chat. Recipients run klim open <token> to install your toolchain.
Shell completion + hooks
Bash, zsh, fish, PowerShell completions plus a cd-hook that quietly checks .klim.yaml when you enter a project.
Local-first and offline-friendly
No auth, no telemetry, no required network. Marketplace catalog cached locally; native managers do the work.
See klim in action
Nine TUI tabs and an optional local web view. Same data, same actions, same JSON — whichever surface you prefer.
Installed
Every tool, every version, every install source — in one local inventory with category, platform, and tag filters.
Dashboard
Environment score, tool coverage, GitHub highlights, package-manager mix, and category breakdown at a glance.
Marketplace
110+ curated tools, ranked by GitHub stars, with category, description, and policy / blocked indicators.
Curated packs
Bundles like Cloud Essentials, Kubernetes Starter, and Go Developer with completion progress.
For You
Personalised recommendations ranked by overlap with what you already use.
Project scan
Detect required tools from .github/, go.mod, package.json, and friends. One Enter and .klim.yaml is written.
Compliance
Policy violations broken down by tool: disallowed sources, disallowed licenses, blocked tools, and missing required tools.
Search
Type to filter the marketplace by name, tag, or description without leaving the keyboard.
Local browser
Prefer a browser? `klim browser` serves the same data as a local web app — same actions, same recommendations.
Start with a local environment map
Install Klim, run klim,
and turn your current machine into a productivity booster for dev tools.
macOS / Linux — Quick Install
curl -fsSL https://raw.githubusercontent.com/nassiharel/klim/main/install.sh | bash Windows — PowerShell
irm https://raw.githubusercontent.com/nassiharel/klim/main/install.ps1 | iex Homebrew (macOS / Linux)
brew install nassiharel/tap/klim winget (Windows)
winget install nassiharel.klim Each release auto-submits a PR to microsoft/winget-pkgs, published system-wide through winget.
Scoop (Windows)
scoop bucket add nassiharel https://github.com/nassiharel/scoop-bucket
scoop install klim Go Install
go install github.com/nassiharel/klim/cmd/klim@latest Pre-built binaries also available on GitHub Releases for macOS, Linux, and Windows (amd64 & arm64).
Klim is the layer above packages, scripts, and prompts
Package managers install packages. Scripts automate one workflow. Agents translate intent. Klim provides the environment contract and deterministic operations layer they can all rely on.
| Capability | Package Managers | Version Managers | Ad-hoc Scripts | AI Agent + Shell | klim |
|---|---|---|---|---|---|
| Complete local tool inventory | One manager at a time | Managed runtimes only | Hand-rolled | Re-discovers per prompt | Unified environment map |
| Project environment contract | No | Partial | Informal | Prompt drift | .klim.yaml |
| Cross-OS reproduction | Per platform | Limited | Fragile branches | Non-deterministic | Native PM mapping |
| Machine-readable CI interface | Inconsistent | Partial | Custom | Tokens per build | Stable JSON + exit codes |
| Security and compliance posture | Package-local | No | Manual | Best effort | Audit, score, SBOM |
| Toolchain history and diff | No | No | Manual files | Forgets sessions | Trail + diff |
| Agent-safe operations | Low-level commands | Low-level commands | Opaque | Improvises | Deterministic primitive |