Vibeleaderboard
Index / app
Visit trimmy.app
Category
Developer Tools
Rank
Pricing
Open Source
Type
APP
Builder
@steipete
GitHub
744 stars
Latest release
v0.11.0
Date

About

A macOS menu bar utility that automatically flattens multi-line shell commands from your clipboard so they paste and run correctly in terminals. It removes newlines while preserving line continuations and strips shell prompts, making it easier to copy commands from documentation and tutorials.

What it does

Trimmy classifies clipboard text using shell-like cues, then applies a chosen sensitivity profile before the next paste. It keeps access to the untouched copy and previews changes. Its menu also offers focused cleanup for hard-wrapped Markdown, tracking-heavy URLs, and copied terminal output with box-drawing gutters.

Why it's ranked here

The case for Trimmy is strong because it combines cautious detection with practical escape hatches. Terminal and general-app profiles can differ, specific apps and sites can be excluded, and the original remains available. The shared command-line engine also makes the same cleanup useful in scripts and CI.

What's good

The controls match the risk of rewriting clipboard contents. Low sensitivity requires strong command signals, while manual trimming can apply the most aggressive mode. Clipboard data stays local, self-written content is marked to prevent processing loops, and automatic rewriting works without Accessibility permission. Tests cover both the app and command-line targets.

Tradeoffs

The packaged desktop app requires an Apple silicon Mac running macOS 15 or later. Global paste actions require Accessibility permission, though background clipboard rewriting does not. Heuristic classification still demands sensible sensitivity settings and exclusions, and large clipboard payloads are deliberately skipped. Manual testing notes also record runs where automatic trimming did not activate consistently.

How to use it well

It suits people who frequently move commands from documentation, chat, or terminal transcripts into a shell. Start with conservative sensitivity, keep terminal handling separate, and exclude apps or sites where formatting must remain exact. Use the command-line interface for files and pipelines. It reshapes text; it does not verify that a command is correct or safe to execute.

Technical notes+

Package.swift defines Swift 6.2 targets for TrimmyCore, the macOS executable, TrimmyCLI, and two test targets, with strict concurrency enabled. The app depends on Sparkle, KeyboardShortcuts, and MenuBarExtraAccess, while the CLI depends only on TrimmyCore. Sources/TrimmyCLI/main.swift reads files or stdin, supports plain-text and JSON output, and returns distinct exit codes for input failure, unchanged content, and JSON failure. docs/spec.md describes NSPasteboard polling through a DispatchSourceTimer, an approximately 80 ms deferred read, and the com.steipete.trimmy self-write marker. docs/manual-testing-peekaboo.md contains both successful clipboard transformations and later runs where automatic trimming remained inactive.

Observed

License
MIT
Primary language
Swift
Packaging
Homebrew Cask and signed GitHub release app; the app can install a bundled command-line helper.
Interfaces
macOS menu-bar application and headless command-line interface; no library, API, or MCP interface is described.
Platform support
The desktop application requires Apple silicon and macOS 15 or later; Linux command-line binaries are distributed through GitHub Releases.
Test structure
The Swift package declares separate test targets for the application and command-line interface.

Read from README.md, package.json, docs/cli.md, docs/icon.md, docs/spec.md, docs/AGENTS.md, docs/release.md, docs/debug-lldb.md, docs/preferences-panel.md, docs/releasing-homebrew.md, docs/manual-testing-peekaboo.md, Package.swift, Scripts/docs-list.mjs, Scripts/generate-llms.mjs, Sources/TrimmyCLI/main.swift.

What it can do

  • Automatically flatten multi-line shell commands

    Multi-line shell command text in clipboardSingle-line shell command ready for terminal execution

  • Remove newlines while preserving line continuations

    Shell command with backslash line continuationsProperly formatted command with preserved continuations

  • Strip shell prompts from copied commands

    Command text with shell prompts (e.g., $, #, >)Clean command text without prompts

  • Watch clipboard for shell commands automatically

    Any text copied to macOS clipboardProcessed command text when shell commands detected

  • Configure processing aggressiveness levels

    User preference settingsAdjusted command processing behavior for different contexts

Tags

clipboardshellmacosterminaldeveloper-productivitycommand-lineautomation

Tech Stack

Node.jsSwift

Media

Trimmy

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.