{"id":50798765,"url":"https://github.com/lordbuffcloud/clipvault","last_synced_at":"2026-06-12T17:05:47.431Z","repository":{"id":361716627,"uuid":"1255511745","full_name":"lordbuffcloud/clipvault","owner":"lordbuffcloud","description":"Local terminal clipboard-history applet from CK42X.","archived":false,"fork":false,"pushed_at":"2026-05-31T23:26:01.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T01:14:09.916Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lordbuffcloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-31T23:09:50.000Z","updated_at":"2026-05-31T23:26:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lordbuffcloud/clipvault","commit_stats":null,"previous_names":["lordbuffcloud/clipvault"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/lordbuffcloud/clipvault","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordbuffcloud%2Fclipvault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordbuffcloud%2Fclipvault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordbuffcloud%2Fclipvault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordbuffcloud%2Fclipvault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lordbuffcloud","download_url":"https://codeload.github.com/lordbuffcloud/clipvault/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordbuffcloud%2Fclipvault/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34253971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-12T17:05:46.732Z","updated_at":"2026-06-12T17:05:47.426Z","avatar_url":"https://github.com/lordbuffcloud.png","language":"Python","funding_links":["https://buymeacoffee.com/napalmlighs"],"categories":[],"sub_categories":[],"readme":"# ClipVault\n\nClipVault is a local terminal clipboard-history applet from CK42X. It keeps a small searchable history of copied text so one accidental copy does not bury the thing you needed to paste.\n\nIt is intentionally boring where it matters: no cloud account, no third-party Python packages, no telemetry, and no hidden service. Your clipboard history is stored as plain JSON on your own machine.\n\n```text\n      (__)    CK42X // CLIPVAULT                                                           LIVE\n      (oo)    clipboard recovery console // moo-ving clips back into reach\n   /---\\/\n  /| CV||     FILTER  press / to filter\n  *|---||\n   ^^  ^^\n────────────────────────────────────────────────────────────────────────────────────────────────\n┌───────────────────────────────────────────────────────────────┐  ┌─────────────────────────┐\n│ HISTORY BUFFER                                                │  │ OPS                     │\n│ ▶ ★ 001 │ release notes: polish clipboard history UI         │  │  items    42            │\n│      002 │ python3 -m clipvault --history ./history.json      │  │  visible  42            │\n│      003 │ support reply: thanks, I will test this today      │  │  pinned   3             │\n└───────────────────────────────────────────────────────────────┘  └─────────────────────────┘\n```\n\n## What it does\n\n- Watches your text clipboard while ClipVault is running.\n- Saves copied text to a local JSON history file.\n- Deduplicates repeated clips instead of cluttering the list.\n- Searches old clipboard entries from a keyboard-first terminal UI.\n- Pins important clips so they survive normal cleanup.\n- Copies a selected old item back to the system clipboard.\n- Runs as either an interactive TUI or a headless daemon.\n- Installs global `clipvault` / `clipvaultd` commands.\n- Can create a Windows-login Startup launcher when installed from WSL.\n\n## Install\n\nOne-line install for macOS, Linux, or WSL:\n\n```bash\ncurl -fsSL https://ck42x.com/install/clipvault.sh | bash\n```\n\nWindows PowerShell installer for the default WSL distro:\n\n```powershell\niwr https://ck42x.com/install/clipvault-wsl.ps1 -OutFile $env:TEMP\\clipvault-wsl.ps1; powershell -ExecutionPolicy Bypass -File $env:TEMP\\clipvault-wsl.ps1\n```\n\nGitHub-hosted fallback:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/lordbuffcloud/clipvault/main/install/clipvault.sh | bash\n```\n\nFrom the repo folder:\n\n```bash\nbash scripts/install-global.sh\n```\n\nThat installs command wrappers into `~/.local/bin`:\n\n| Command | Purpose |\n| --- | --- |\n| `clipvault` | Open the interactive terminal UI |\n| `clipvaultd` | Run the headless clipboard daemon in the foreground |\n| `clipvault-autostart-install` | Recreate the Windows Startup launcher from WSL |\n| `clipvault-autostart-remove` | Remove the Windows Startup launcher |\n\nIf your shell cannot find `clipvault`, add this to your shell profile:\n\n```bash\nexport PATH=\"$HOME/.local/bin:$PATH\"\n```\n\n### Installer options\n\n```bash\nbash scripts/install-global.sh --help\nbash scripts/install-global.sh --no-autostart\nbash scripts/install-global.sh --bin-dir \"$HOME/bin\"\nbash scripts/uninstall.sh\n```\n\nThe installer preserves your local history when uninstalling.\n\n## Run without installing\n\n```bash\npython3 -m clipvault\npython3 -m clipvault --help\npython3 -m clipvault --snapshot-ui\n```\n\nRun a headless daemon:\n\n```bash\npython3 -m clipvault --daemon\npython3 -m clipvault --daemon --once\n```\n\nUse a custom history file or size limit:\n\n```bash\npython3 -m clipvault --history ./history.json --max-items 200\n```\n\n## Keyboard shortcuts\n\n| Key | Action |\n| --- | --- |\n| `q` | Quit |\n| `↑` / `k` | Move up |\n| `↓` / `j` | Move down |\n| `Enter` / `c` | Copy selected item back to clipboard |\n| `p` | Pin/unpin selected item |\n| `d` | Delete selected item |\n| `x` | Clear unpinned items |\n| `/` | Search |\n| `Esc` | Clear search |\n| `Space` | Pause/resume monitoring |\n| `r` | Read current clipboard now |\n| `?` | Toggle help |\n\n## Clipboard backend support\n\nClipVault tries these clipboard backends in order:\n\n1. WSL using Windows clipboard commands: `powershell.exe Get-Clipboard -Raw` and `clip.exe`.\n2. macOS: `pbpaste` and `pbcopy`.\n3. Wayland Linux: `wl-paste` and `wl-copy`.\n4. X11 Linux: `xclip`.\n5. X11 Linux: `xsel`.\n\nIf no backend is available, the app still opens but cannot read or write the system clipboard until a backend exists on `PATH`.\n\n## Data and privacy\n\nDefault history path:\n\n```text\n~/.local/share/clipvault/history.json\n```\n\nStartup daemon log path:\n\n```text\n~/.local/state/clipvault/startup.log\n```\n\nClipboard content can be sensitive. ClipVault stores text locally in plain JSON so you can inspect, back up, edit, or delete it. Do not pin or retain secrets you do not want stored on disk.\n\nUseful cleanup commands:\n\n```bash\nclipvault --print-path\nrm ~/.local/share/clipvault/history.json\n```\n\n## Development\n\n```bash\npython3 -m unittest discover -s tests\npython3 -m compileall clipvault tests\npython3 -m clipvault --help\nPYTHONDONTWRITEBYTECODE=1 python3 -m clipvault --snapshot-ui\n```\n\n## Support\n\nClipVault is free. If it saves you time, you can support CK42X here:\n\nhttps://buymeacoffee.com/napalmlighs\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flordbuffcloud%2Fclipvault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flordbuffcloud%2Fclipvault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flordbuffcloud%2Fclipvault/lists"}