Skip to content

Command reference ​

Every ripeat command, what it changes, and its options. ripeat with no arguments, in a terminal, asks what you want to do (create a profile, use a saved one, install by name, or see all commands); without a terminal, or with ripeat help, it prints the grouped list. Use ripeat help install or ripeat install --help for command-specific help; ripeat help mcp setup explains assistant setup. Help does not change configuration or contact the network. Commands that change your machine show what they will do and ask first; --yes (or -y) answers for you, and is required when there is no terminal to ask in.

Look first: these change nothing ​

CommandWhat it does
ripeat plan [tool[@version] ...]The same as install --dry-run: what would happen, in order, and why. Takes --file, --profile, --scope, --no-lock
ripeat assess [tool[@version] ...]How risky the plan is, with reasons (Risk and assess). --json for programs, --fail-on medium|high to exit with an error at that level, --accounts <file> to rate a user policy too, --file, --profile, --scope, --no-lock
ripeat find <name>Where a tool could be installed from: package managers and GitHub (Install by name). --no-github skips GitHub
ripeat listThe tools ripeat manages, their versions, and whether they were already there
ripeat historyThe last 20 runs and how each ended
ripeat outdatedTools with a newer version available (Versions and upgrades)
ripeat recipesThe tools ripeat knows how to install
ripeat recipes check [name ...]Asks the real sources whether each recipe still works on this machine (Recipes)
ripeat rulesThe administrator policy in force here, if any (Administrator policy)
ripeat validate [file ...] [--taps] [--drafts]Checks profiles, recipes, policies and lockfiles for mistakes; the flags explicitly check cached packs or waiting drafts (Checking your files)
ripeat schema recipe|profile|policy|admin-policyA JSON Schema for editor completion
ripeat version [--check]The version. --check asks GitHub whether a newer release is out and how to upgrade

Change the machine: these ask first ​

CommandWhat it does
ripeat install [tool[@version] ...]Shows the plan and its risk, asks, then installs (Install, uninstall, rollback). With no names it reads ./ripeat.yaml. A name with no recipe, at a keyboard, is looked up and offered to you to add
--file <path> use that profile · --profile <name> use a saved profile (repeatable) · --dry-run only show · --scope user|system only methods that do not / do need admin rights · --no-lock ignore ripeat.lock · --no-rollback keep a failed run's partial changes · --accept-risk run a HIGH-risk plan without asking · --yes answer the question
ripeat uninstall <tool> ...Removes tools ripeat installed. Refuses a tool that another managed tool still needs unless --force. --dry-run, --yes
ripeat upgrade [tool ...]Upgrades the outdated tools. Cannot be rolled back. --dry-run, --yes
ripeat rollbackUndoes the most recent run that is not already undone; run it again for the one before (Install, uninstall, rollback). --dry-run, --yes
ripeat resumeCarries on an install that paused for a restart (Restarts and resume). --force, --dry-run, --accept-risk
ripeat lock [tool ...]Writes ripeat.lock with the exact versions installed (The lockfile)
ripeat policyUsers, groups and admin rights from ripeat.policy.yaml (Users and groups). A dry run unless --apply; --allow-admin is needed if the file grants admin rights; --file <path>

Recipes, profiles and sharing ​

CommandWhat it does
ripeat add <name|owner/repo>Looks a tool up, drafts a recipe, shows it, and saves it if you agree (Install by name). --from <method>|github pick the source · --as <name> recipe name · --bin <program> the program to put on PATH · --no-github · --refresh draft one you added again and show the difference · --manual --check <cmd> --note <text> record a tool you install by hand (Recipes) · --yes
ripeat add <name> --url <https address> --sha256 <hex>Drafts a recipe for a vendor .dmg, .pkg, .msi or .exe, after checking the checksum and the vendor's signature (Vendor installers). --kind, --app, --signer, --product, --args, --uninstall-args, --unsigned
ripeat bundleexport <profile> [file] [--force], import <file-or-https-url> [name] [--sha256 <hex>] [--allow-shell] [--force]: share a profile together with the recipes you added (Bundles: profile + recipes). Importing shows and rates every recipe and asks you; there is no --yes
ripeat profilecreate <name> [tool ...] [--no-edit] (opens your editor), edit <name> (opens a saved profile in your editor), save <name> [file], list, show <name>, export <name> [file], import <file-or-https-url> [name], remove <name> (Profiles: your list)
ripeat tapRecipe packs from GitHub or an https address: list, show <name>, add owner/repo or add https://... (--ref, --sha256, --as, --allow-shell), update [name], remove <name> (Recipe packs (taps)). Adding and updating ask you; there is no --yes
ripeat draftsRecipes an AI assistant prepared: list, show <name>, approve <name>, reject <name> (Drafts from an assistant). Approving asks you; there is no --yes

AI assistants ​

CommandWhat it does
ripeat mcpRuns ripeat as an MCP server over standard input and output, so an assistant can look things up, plan, rate risk and prepare drafts (ripeat as an MCP server). It is started by the assistant, not by you
ripeat mcp setup [--client claude-code|claude-desktop|codex] [--allow-run] [--print] [--yes]Connects ripeat to an AI assistant: shows exactly what it will change, keeps a backup of any file it edits, and asks first (ripeat as an MCP server)
ripeat mcp --allow-runAlso offers two tools that install or undo, but only after you confirm each run in your own app

Environment ​

VariableMeaning
RIPEAT_HOMEWhere ripeat keeps its state, recipes, profiles, drafts and packs. Default: a ripeat folder in your user config folder (Getting started)
GITHUB_TOKENOptional. Raises GitHub's rate limits for find, add and tap, and lets tap read a private repository you can access
NO_COLORSet it to turn off the colours ripeat uses on a terminal

Exit status ​

0 on success. Anything else means the command failed or was refused (a declined question, a blocked tool, a policy). The message says why, and a command that stopped before changing anything says so.

Free to use. The binaries are published at github.com/ripeat/releases.