Skip to content

nerima-lisp/paredit-cli

Repository files navigation

paredit-cli

CI License: MIT Documentation

paredit is a structure-aware CLI for inspecting and safely refactoring Lisp S-expressions, designed for both people and AI coding agents. It supports Common Lisp, Emacs Lisp, LFE, Scheme, Racket, Clojure, Hy, Carp, Janet, and Fennel.

Full documentation — command reference, safe editing workflows, the agent interface, and integration guides — is published at https://nerima-lisp.github.io/paredit-cli/. The source for that site lives in docs/src/.

Commands

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. For machine-readable discovery, run paredit inspect capabilities --output json.

Quick Start

paredit inspect check --file src/example.lisp
paredit edit wrap --file src/example.lisp --path 0.2 --diff
paredit refactor plan --symbol old-name src/example.lisp

Install

nix run github:nerima-lisp/paredit-cli -- --help    # run without installing
nix profile install github:nerima-lisp/paredit-cli # install via Nix
cargo install --git https://github.com/nerima-lisp/paredit-cli --locked
nix develop -c cargo install --path . --locked   # from a local checkout

The current minimum supported Rust version is 1.85. See the installation guide for the Cachix binary cache, flake overlay, and commit-pinning for automation.

Stability

paredit-cli follows Semantic Versioning. From 1.0.0 onward, command paths, flags, exit codes, documented JSON fields, the paredit_cli crate-root API, and the Nix outputs are stable within the 1.x series; human-readable text output is not a machine contract. The compatibility guide lists exactly what an upgrade may and may not change.

Development

nix develop
cargo test
nix flake check

Pull requests run nix flake check. A typed Rust library API behind the CLI is documented in src/lib.rs; build it locally with cargo doc --no-deps --open. The rendered command reference and guides live at the documentation site.

Community and security

License

MIT. See LICENSE.

About

Structure-editing CLI for safe S-expression refactoring by AI coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages