A native desktop app that quietly cleans copied text and links using rules you control
Files
README.md

Clipboard Transformer #

A native desktop app that quietly cleans copied text and links using rules you control.

CI MPL-2.0 Agent skill installs

Clipboard Transformer can remove tracking parameters, normalize URLs, rewrite text, and run ordered groups of rules. The desktop app handles the clipboard automatically; the separate CLI is available for terminals, scripts, and diagnostics.

Install #

See the installation guide for every supported macOS, Windows, and Linux installation method, followed by direct downloads for each platform. The desktop app does not require CLI setup.

Packaging status

Desktop app (GUI) #

The desktop app is the recommended way to use Clipboard Transformer. Launch it from Applications, the Start menu, or your desktop launcher; no terminal setup is required.

On first launch it creates a YAML config and editor schema automatically. It then lives in the tray and provides:

  • automatic clipboard transformations;
  • pause and resume;
  • recent transformations and Undo;
  • config and plugin reload;
  • open or reveal config;
  • autostart and diagnostics.

There is intentionally no large settings window. Most everyday customization is a small edit to the generated config.yaml.

A small YAML config #

# $schema: ./clipboard-transformer.schema.json

config:
  recent_items_count: 5

rules:
  - type: url-cleanup
    id: remove-tracking
    name: Remove tracking parameters
    formats: [url, text]
    remove_query_prefixes: [utm_]
    remove_query_params: [fbclid, gclid]

  - type: regexp
    id: youtube-shorts
    name: Normalize YouTube Shorts
    formats: [url, text]
    from: '^https://www\.youtube\.com/shorts/([A-Za-z0-9_-]{11})$'
    to: 'https://youtu.be/$1'

Each rule has an id and a type; the remaining fields describe when and how it transforms a copied value. The generated schema provides completion and typo checking in compatible editors.

Read Configuration and the Rule guide when you want to add or organize rules.

More rule examples #

As a bonus, you can browse the maintainer's personal rules gist. Copy only the rules you understand, or import the hosted file directly:

rules:
  - import: https://gist.github.com/jag-k/3f9cd197776ab5db24150f5cd23026ea/raw/rules.yaml

A remote import can change when its owner updates it. Review the gist before using it; for a stable personal setup, copy the rules locally or pin a specific gist revision. See Imports.

Command-line interface (CLI) #

The standalone clipboard-transformer command is optional. It shares the same config and rules but does not own the tray, autostart, notifications, or continuous clipboard transformation.

Use it for explicit terminal workflows:

# Find files and diagnose native capabilities.
clipboard-transformer paths
clipboard-transformer doctor

# Validate the active config.
clipboard-transformer config check

# Discover rule types available to the active config.
clipboard-transformer rules list --available-only

# Preview the current clipboard without writing the result.
clipboard-transformer transform --preview

# Transform the current clipboard once.
clipboard-transformer transform

# Use the rule engine as a stdin/stdout filter.
printf '%s' 'https://example.com/?utm_source=test&id=42' |
  clipboard-transformer transform -

The CLI never starts a hidden daemon. See the complete CLI reference.

Rules #

Type Purpose
regexp Text matching and replacement.
url Encoding-safe structural URL changes.
url-cleanup Query-parameter cleanup.
ruleset Ordered composition and match policies.
shell Explicitly trusted local scripts.
<plugin-id>/<rule-type> Sandboxed WASM extensions.

Rules may be limited by clipboard format or source application. YAML and TOML configs may also split rule sets across local or remote imports.

Agent skill #

The repository includes an installable clipboard-transformer-rules skill for agents that help write and validate configs:

npx skills add jag-k/clipboard-transformer \
  --skill clipboard-transformer-rules

It has one canonical copy under .agents/skills/clipboard-transformer-rules. See Agent setup for Codex, Claude Code, Cursor, Gemini CLI, GitHub Copilot, and OpenCode.

Support and development #

macOS, Windows, and Linux are supported targets. See Platform support, the detailed Linux guide, and Troubleshooting.

The documentation index links the full user guide. Contributors should read CONTRIBUTING.md; active work is tracked in TODO.md.

Security reports belong in SECURITY.md. The project is licensed under MPL-2.0.