klim export
Export detected tools to YAML. Without a subcommand, prints to stdout. Includes snapshot and profile management for saved exports.
klim export [flags] # print manifest to stdoutklim export save [label] # save as timestamped snapshotklim export list # list saved snapshotsklim export show <name> # show a snapshotklim export delete <name> # delete a snapshotklim export profile <command> # manage named profiles| Flag | Commands | Description |
|---|---|---|
--refresh | export | Force fresh scan, ignoring on-disk cache |
Subcommands
Section titled “Subcommands”Snapshots (Saved Exports)
Section titled “Snapshots (Saved Exports)”| Command | Description |
|---|---|
klim export save [label] | Save current tool state as a timestamped snapshot |
klim export list | List saved snapshots |
klim export show <name> | Show tools in a snapshot |
klim export delete <name> | Delete a snapshot |
Profiles (Named Snapshots)
Section titled “Profiles (Named Snapshots)”| Command | Description |
|---|---|
klim export profile save <name> | Save current state as a named profile |
klim export profile list | List saved profiles |
klim export profile show <name> | Show a profile’s tools |
klim export profile delete <name> | Delete a profile |
Snapshots vs Profiles
Section titled “Snapshots vs Profiles”- Snapshots are timestamped — for point-in-time backups before upgrades or experiments
- Profiles are named — for switching between configurations (“work”, “personal”, “client-x”)
Examples
Section titled “Examples”# Export to stdoutklim export
# Save to fileklim export > my-tools.yaml
# Force fresh scan before exportklim export --refresh > my-tools.yaml
# Save before a big upgradeklim export save "before-k8s-upgrade"
# List all snapshotsklim export list
# View what was in a snapshotklim export show before-k8s-upgrade
# Save a named profileklim export profile save work
# List profilesklim export profile list
# Import on another machineklim import my-tools.yamlOutput Format
Section titled “Output Format”The YAML manifest includes all installed tools with their versions and package IDs:
tools: - name: az version: "2.67.0" source: brew packages: brew: azure-cli winget: Microsoft.AzureCLI choco: azure-cli - name: docker version: "24.0.7" source: manual packages: brew: docker winget: Docker.DockerDesktop choco: docker-desktopCross-Platform Portability
Section titled “Cross-Platform Portability”The manifest is cross-platform — it contains package IDs for all supported package managers. When imported on a different OS, klim automatically picks the best available package manager.
Storage
Section titled “Storage”- Snapshots:
~/.klim/snapshots/<timestamp>-<label>.yaml - Profiles:
~/.klim/profiles/<name>.yaml
Both use the same YAML manifest format, so snapshots can also be used with klim diff and klim import.
Name Matching
Section titled “Name Matching”The show and delete commands support fuzzy matching — you can use a label, prefix, suffix, or substring:
klim export show before-k8s # matches "2026-04-30T...-before-k8s-upgrade"klim export show upgrade # also matchesSee Also
Section titled “See Also”klim import— Install tools from a manifestklim share— Generate a compact share tokenklim diff— Compare against a snapshot or manifest