dnouri/pilish

The ergonomic agent harness for Emacs.

What it solves

Pilish is an Emacs frontend for the Pi coding agent, providing a seamless integration of AI-assisted coding within the Emacs editor. It allows users to interact with the coding agent while maintaining their existing Emacs editing habits, shortcuts, and workflow, avoiding the need to switch between a terminal UI and their editor.

How it works

Pilish communicates with the Pi CLI via JSON-RPC mode, receiving structured messages and tool events. It operates using two windows: a chat buffer for rendering the conversation in Markdown (with tree-sitter highlighting for code and diffs) and an input buffer for composing prompts. Because the input buffer is a standard Emacs buffer, users can use all their own keyboard macros, registers, and extensions like Evil mode.

Who it’s for

Emacs users who use the Pi coding agent and want a more integrated, editor-native experience for AI-assisted development.

Highlights

  • Editor-Native Prompting: Uses a standard Emacs buffer for input, enabling full use of the editing tools and setup available in the editor.
  • Markdown Rendering: Renders conversations with tree-sitter syntax highlighting for code blocks and diffs, with collapsible tool output.
  • File Integration: Allows users to visit files mentioned in the tool output or path references directly from the chat buffer using the RET key.
  • Session Management: Includes a session browser to search, rename, and delete sessions, with support for project-specific sessions and conversation forking.
  • Multimodal Support: Supports attaching images to prompts for vision-capable models.
  • C-c C-p Transient Menu: Provides a quick access menu for sessions, models, thinking levels, and skills.

Related

  • Project
  • Project
  • Project
  • Project