Skip to content

Example configs

Three package-specific starter configs ship in the repo’s examples/ directory. Each corresponds to a package and is meant to be copied as-is and then customized. Pick the one that matches how much friction you want.

All three are imported verbatim from the checked-in files in this repo, so the snippets below can never drift from what you actually get by running rippy init --package <name>.

Full supervision. Every command asks by default. The starter adds hard denies for force-push, hard reset, recursive delete, and a few other footguns so they can’t be accidentally approved away.

Copy as .rippy.toml or ~/.rippy/config.toml:

examples/review.rippy.toml
# Review package — full supervision
#
# Starts from the "review" package (every command asks) and adds
# strict rules for security-sensitive environments.
#
# Usage: rippy init --package review
# Then customize this file as needed.
#
# See: https://github.com/mpecan/rippy/wiki/Packages
[settings]
default = "ask"
package = "review"
# --- Extra restrictions for review mode ---
# Block force operations outright
[[rules]]
action = "deny"
pattern = "git push --force"
message = "Force push is not allowed in review mode — use --force-with-lease if you must"
[[rules]]
action = "deny"
pattern = "git reset --hard"
message = "Hard reset discards changes — use `git stash` or `git reset --soft` instead"
[[rules]]
action = "deny"
pattern = "git clean -f"
message = "This permanently deletes untracked files — review them manually first"
# Block destructive filesystem operations
[[rules]]
action = "deny"
pattern = "rm -rf"
message = "Recursive force delete is not allowed in review mode"
[[rules]]
action = "deny"
pattern = "chmod 777"
message = "World-writable permissions are a security risk"
# Block network commands that could exfiltrate data
[[rules]]
action = "deny"
pattern = "curl -X POST"
message = "Outbound POST requests require manual review"
[[rules]]
action = "deny"
pattern = "wget"
message = "Downloads require manual review in review mode"
# Protect sensitive paths
[[rules]]
action = "deny-redirect"
pattern = "**/.env*"
message = "Do not write to environment files — they may contain secrets"
[[rules]]
action = "deny-redirect"
pattern = "**/*.pem"
message = "Do not write to PEM files — they contain private keys"
[[rules]]
action = "deny-redirect"
pattern = "**/credentials*"
message = "Do not write to credential files"

The original Dippy-compatible flat format is still loaded so existing configs keep working, but new configs should use .rippy.toml. Run rippy migrate to convert a flat file to TOML. For reference, the flat grammar is one rule per line, no tables:

Terminal window
# Block dangerous commands with guidance
deny rm -rf "use trash instead"
deny python "use uv run python"
# Allow specific safe patterns
allow git status
allow uv run python -c
# Redirect rules (block writes to sensitive paths)
deny-redirect **/.env*
deny-redirect /etc/*
# Settings
set default ask

See Rules for the full flat grammar.