pi-emacs
A collection of Emacs related pi tools
Package details
Install pi-emacs from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-emacs- Package
pi-emacs- Version
1.0.0- Published
- Apr 24, 2026
- Downloads
- 46/mo · 46/wk
- Author
- markokocic
- License
- EPL-2.0
- Types
- extension
- Size
- 22.3 KB
- Dependencies
- 3 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./extensions/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-emacs
A collection of Emacs-related extensions for pi-coding-agent.
Installation
This package can be installed via npm:
pi install npm:pi-emacs
Or by adding it to your ~/.pi/settings.json:
{
"packages": ["npm:markokocic/pi-emacs"]
}
Extensions
emacs_eval
Evaluates Emacs Lisp code via emacsclient CLI. Supports heredoc-style multi-line code input.
Requires: Emacs server running (M-x server-start in Emacs).
Parameters:
| Parameter | Type | Description |
|---|---|---|
code |
string | Emacs Lisp code to evaluate |
timeout |
number (optional) | Timeout in seconds (default: 30) |
noWait |
boolean (optional) | Don't wait for response (fire and forget) |
quiet |
boolean (optional) | Suppress success messages |
socketName |
string (optional) | Emacs socket name |
Returns:
stdout- Evaluation result from Emacsstderr- Standard error outputerrors- Any errors encounteredsuccess- Whether evaluation succeeded
Example usage:
;; Query Emacs version
(princ emacs-version)
;; Get current buffer name
(buffer-name (current-buffer))
;; Set a variable
(setq my-var "hello")
;; Query a variable
(message "%s" my-var)
Development
# Link for local development
cd ~/.pi/agent/extensions
ln -s /path/to/pi-emacs/extensions ./pi-emacs
# Or reference in package.json
"pi": {
"extensions": ["/path/to/pi-emacs/extensions/index.ts"]
}