paseo-plugin

Build, install, and manage trusted local Paseo plugins with client and server contributions.

Updated Nov 25, 2024
One-click install
npx skills add https://github.com/cbrostrom/dotfiles --skill paseo-plugin-cbrostrom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: paseo-plugin
Source: https://github.com/cbrostrom/dotfiles/tree/main/stow/agents/.agents/skills/paseo-plugin
Command: npx skills add https://github.com/cbrostrom/dotfiles --skill paseo-plugin-cbrostrom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developing Paseo plugins requires coordinating client UI entries, daemon-side RPC handlers, lifecycle hooks, and strict runtime boundaries, and mistakes in any of these cause load failures or broken contributions. ## Core Features & Use Cases - Plugin scaffolding and management: Create projects with paseo plugin init, then install, reload, enable, disable, and remove plugins via the Paseo CLI with typechecking before every reload. - Client contributions: Register sidebar surfaces, workspace panels, Command Center items, slash commands, composer pills, attachment sources, timeline transformers and renderers, and themes using React Native primitives that work on desktop and mobile. - Daemon-side behavior: Define Zod-typed plugin RPCs, lifecycle hooks, and before-hooks to transform agent configuration, MCP servers, environment, and workspace creation. - Use Case: A developer wants a /review slash command that calls a daemon RPC, appends a review row to the agent timeline, and renders it with a custom component; this Skill walks through the shared contract, server handler, and client renderer end to end. ## Quick Start Ask the assistant to create a new Paseo plugin that adds a workspace panel showing the current workspace name, then typecheck and install it.

Frequently Asked Questions about paseo-plugin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Paseo plugin?▼

Run `paseo plugin init /absolute/path/to/my-plugin`, then `npm install` in the generated directory. The project contains a manifest, client and server entries, and shared modules; default-export a contribution function from each entry and return a cleanup callback.

How do I add a slash command to the Paseo composer?▼

Register it with `client.addSlashCommand`, providing a name, description, context, and an `onSubmit` callback that receives the raw args string. Plugin slash commands run client-side code only and never send text to the agent.

Can Paseo plugin UI run on mobile clients?▼

Yes, plugin surfaces use React Native primitives like View, Text, and Pressable across desktop, browser, iOS, and Android. Avoid HTML elements, className, onClick, and DOM globals outside a gated `client/web.ts` module.

Why does my Paseo plugin fail to load after editing?▼

Source edits require `paseo plugin reload <id>`; a failed reload stays failed until fixed. Run `npm run typecheck`, inspect `paseo plugin ls` for the load error and `paseo plugin logs <id>` for subprocess output, then reload again.

When should I use a plugin RPC instead of the Paseo SDK?▼

Use the Paseo SDK via `usePaseo()` for normal operations like workspaces, agents, and providers. Use a plugin RPC with `defineRpc` and `server.handle` only for plugin-specific backend work such as vendor APIs, credentials, or local file access.

Are Paseo plugins sandboxed or safe to install?▼

No, plugins are trusted, unsandboxed code; backend code can access files, processes, credentials, and network on the daemon machine. Only install plugins the user has authorized and whose source has been inspected, and check the daemon's `pluginsEnabled` switch first.