paredit is a structure-aware CLI for inspecting and safely refactoring Lisp
S-expressions. Its canonical command layout is designed for both people and AI
coding agents:
paredit inspect ...reads source and produces reports.paredit edit ...transforms one selected form; stdout by default,--writeto update the file in place,--diffto preview a unified diff.paredit refactor ...plans, previews, verifies, and applies semantic changes.
paredit inspect <report> [args] # read-only inventory, validation, analysis
paredit edit <transform> [args] # one structural edit (stdout, --diff, or --write)
paredit refactor <workflow> [args] # plan, preview, verify, and apply changes
paredit completions <shell> # shell completion scripts (bash/zsh/fish/...)Run paredit --help, then paredit <namespace> --help for the complete
command list. All source-facing commands live in these three namespaces;
completions is the only meta command. For machine-readable discovery, run:
paredit inspect capabilities --output json # full catalog of commands and flagsparedit inspect check --file src/example.lisp
paredit inspect outline --file src/example.lisp
paredit edit wrap --file src/example.lisp --path 0.2 --diff
paredit refactor plan --symbol old-name src/example.lispStart with the documentation source for command selection, safe workflows, and integration examples. The published site is available at https://takeokunn.github.io/paredit-cli/.
nix run github:takeokunn/paredit-cli -- --help # run without installing
nix profile install github:takeokunn/paredit-cli # install via Nix
cargo install --git https://github.com/takeokunn/paredit-cli --locked
nix develop -c cargo install --path . --locked # from a local checkoutPrebuilt binaries are served from the public takeokunn-paredit-cli Cachix
cache. The current minimum supported Rust version is 1.85. See the
installation guide for the flake overlay and
flake-input usage, including commit pinning for automation.
nix develop
cargo test
nix flake checkVerify the declared MSRV locally before touching parser, refactor, packaging, or public API surfaces:
cargo +1.85 test --lockedPull requests run nix flake check.
A typed Rust library API behind the CLI is available in the
paredit_cli documentation and its
source.
- Contributing: local setup, verification, and pull request expectations.
- Code of Conduct: standards for project spaces.
- Support: where to ask usage questions or report defects.
- Security: private vulnerability reporting instructions.
- Releasing: maintainer release verification and publication steps.