For macOS and Linux

Set up your terminal in two steps, reviewing the plan first

Shell, modern CLI tools, git, Helix as an IDE, languages, containers and the kitty + herdr terminal, from profiles and a declarative catalog.

  1. 1Install the binary with curl, no sudo.
  2. 2Run kanivet-cli, pick a profile and items, and review the plan.
install.sh
curl -fsSL https://raw.githubusercontent.com/eusener/kanivet-cli/master/install.sh | sh

In the interactive flow, nothing changes before you review the plan. Changed files are backed up and come back with restore.

Install

The script downloads the latest release, checks the SHA-256 and installs to ~/.local/bin, without sudo.

Official command
curl -fsSL https://raw.githubusercontent.com/eusener/kanivet-cli/master/install.sh | sh
Rather read it first? Download, open, then run
curl -fsSLo install.sh https://raw.githubusercontent.com/eusener/kanivet-cli/master/install.sh && less install.sh && sh install.sh

What install.sh does

  1. Detects the system (macOS or Linux) and the architecture (amd64 or arm64).
  2. Downloads the .tar.gz and checksums.txt of the latest GitHub release.
  3. Checks the file SHA-256 before extracting.
  4. Installs the binary to ~/.local/bin. It does not use sudo or edit rc files.

macOS through the browser: the binary is not signed by Apple, so Gatekeeper blocks the .tar.gz. Unblock it with xattr -d com.apple.quarantine ./kanivet-cli. The script does not hit this block.

The real TUI

kanivet-cli TUI welcome screen
kanivet-cli TUI welcome screen
Profile choice: each profile shows how many items it brings
Profile choice: each profile shows how many items it brings
Items in a category, with the item detail on the right
Items in a category, with the item detail on the right
Plan review: every command and every file before any change
Plan review: every command and every file before any change

Features

Plan reviewed before running

The plan lists every command and every file. Nothing is installed before the review screen.

Backup and restore

Existing files are copied before they change, and kanivet-cli restore undoes a run.

5 profiles

blank, web, laravel, ml and backend. After the profile, each category can be adjusted item by item.

Declarative catalog

Everything comes from YAML files in catalog/, validated with kanivet-cli catalog lint.

TUI and a CLI for scripts

The TUI guides the first install; the CLI has plan, install, update, uninstall, restore and doctor.

No needless sudo

The binary goes to ~/.local/bin without sudo. Only the items in the plan's "Needs sudo" section ask for the password, once.

Single Go binary

No runtime dependencies.

macOS and Linux

Debian/Ubuntu and Fedora with their own package, Arch and openSUSE through the script or tarball. x86_64 and arm64.

How it works

  1. 1

    Install

    One curl command, or the .deb/.rpm package for your distribution.

  2. 2

    Run kanivet-cli

    The wizard asks for a profile, shows the categories and ends at the plan review.

  3. 3

    Run and summary

    kanivet-cli runs the plan and shows a summary. Later, kanivet-cli update updates what it installed.

Catalog

The tool list is not available here yet. See the profiles and the catalog in the README.

Open the README

Downloads

The files are on the GitHub releases page.

Open the releases

FAQ

Ready to start?

One command installs the binary. The plan waits for your review.

curl -fsSL https://raw.githubusercontent.com/eusener/kanivet-cli/master/install.sh | sh