Skip to content

Team Manifests

A .klim.yaml file is a portable contract for the tools your project requires, with optional version constraints. Drop it in your repository root and every developer, CI job, or agent can verify the same setup deterministically.

klim Project tab auto-detecting required tools from .github/, go.mod, and package.json

  1. Export your current toolchain:

    Terminal window
    klim export > .klim.yaml
  2. Edit the file to keep only the tools your project needs and add version constraints:

    tools:
    - name: node
    version: ">=20.0.0"
    - name: docker
    version: ">=24.0.0"
    - name: kubectl
    - name: terraform
    version: ">=1.5.0"
  3. Commit .klim.yaml to your repository.

Team members run:

Terminal window
klim check

klim auto-detects .klim.yaml in the current directory or parent directories and validates that all required tools are installed and meet version constraints.

✓ node 22.11.0 (required: >=20.0.0)
✗ docker not found (required: >=24.0.0)
✓ kubectl 1.31.0
✓ terraform 1.7.2 (required: >=1.5.0)
1 tool missing or outdated. Exit code: 1
FlagDescription
--file, -fPath to .klim.yaml (default: auto-detect)
--jsonMachine-readable JSON output
--refreshForce fresh scan (ignore cache)
CodeMeaning
0All requirements satisfied
1One or more tools missing or outdated

Use klim check in your CI pipeline to fail fast if the environment contract is not satisfied:

# GitHub Actions example
- name: Verify dev tools
run: |
curl -fsSL https://raw.githubusercontent.com/nassiharel/klim/main/install.sh | bash
klim check --json

The --json flag outputs machine-readable results for CI systems.

The Project tab (press 6) provides a TUI interface for managing multiple projects with .klim.yaml files:

KeyAction
EnterOpen project details
nRegister a new project
dRemove a project