Skip to content

Repository files navigation

Paseo plugins and apps

Extensions for Paseo, organized in a pnpm workspace.

App Description
Claude TTY ACP Run genuine interactive Claude Code sessions in Paseo's native agent view.
Plugin Description
Discord Rich Presence Show your current Paseo activity on Discord.
Catppuccin theme Add all four Catppuccin flavours as app themes.
Claude TTY Offer the Claude TTY ACP adapter as a Paseo provider, and manage it on the daemon host.

Each app and plugin has its own README with installation, settings, and development details.

Local development

Install dependencies and check every package from the repository root:

pnpm install
pnpm typecheck
pnpm test

Enable Paseo plugins, then install each plugin by its directory in this repository:

paseo plugin add sleeyax/paseo-plugins --path plugins/discord-rich-presence
paseo plugin ls

Paseo clones the repository itself and tracks the default branch, so paseo plugin update <id> and paseo plugin status keep an installation current. claude-tty is the one that asks something of the host: it runs an adapter that has to be built, so installing and updating it run the build commands in its manifest and it needs pnpm on the daemon's PATH — or a path to an adapter built elsewhere, in its own Adapter executable setting.

To work on a plugin, install it from the working copy instead. A directory installation runs no build, so build what it needs first:

paseo plugin add "/absolute/path/to/paseo-plugins/plugins/discord-rich-presence"

After making changes, run paseo plugin reload <id>. Paseo does not hot-reload plugins, and reloading is the compile check for the client and server bundles built from index.client.tsx and index.server.ts.

Releasing a plugin

A plugin's version in its own package.json is its update identity: Paseo Cafe compares it against the installed copy's, and only a higher version offers an update. Until it moves, installations stay on the old code however many commits land here.

release-please does the bumping, from the conventional commits on main: a feat takes a minor, a fix takes a patch, and a chore or docs releases nothing. It keeps a single release pull request open and adds to it as more commits land, so a release can cover one pull request or a batch of them. Merging it is the release: the new versions and each package's CHANGELOG.md are written, tagged, and published as GitHub releases. Nothing reaches npm, since every package here is private.

Which package a commit bumps comes from the files it touches rather than its scope, so keep a change inside the plugin it belongs to. claude-tty and the claude-tty-acp adapter it runs are versioned together, because a change to the adapter changes what the plugin ships.

Skills

skills/ holds agent skills for working on this repository, in the Agent Skills format, so any harness that reads them can use them. .claude/skills/ and .agents/skills/ are symlinks into it — the first is where Claude Code looks, the second is where Codex, Cursor, OpenCode and GitHub Copilot do — and editing the file under skills/ updates every harness at once.

Skill Description
update-plugins Rebuild the apps and reload the plugins this host has installed from this checkout.

Working in this repository needs no installation; the symlinks are committed. To use a skill from another checkout, install it by name:

npx skills add sleeyax/paseo-plugins --skill update-plugins

Plugin settings

Plugins keep their settings in $PASEO_HOME/plugin-settings/<plugin-id>/, managed by Paseo and removed with the plugin. Versions from before Paseo 0.9 used ${XDG_CACHE_HOME:-~/.cache}/paseo-plugins/<plugin-id>/ instead; each plugin's README says whether it carries those settings over.

About

My paseo plugins

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages