https://github.com/ricardoliveira5ro/clipvault
Clipboard manager for the terminal built with Node.js. Easily store, search, pin, remove, and interact with clipboard history
https://github.com/ricardoliveira5ro/clipvault
cli-tool coverage jest nodejs
Last synced: 10 months ago
JSON representation
Clipboard manager for the terminal built with Node.js. Easily store, search, pin, remove, and interact with clipboard history
- Host: GitHub
- URL: https://github.com/ricardoliveira5ro/clipvault
- Owner: ricardoliveira5ro
- Created: 2025-07-07T11:11:18.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-18T09:02:59.000Z (11 months ago)
- Last Synced: 2025-08-12T02:26:25.877Z (10 months ago)
- Topics: cli-tool, coverage, jest, nodejs
- Language: JavaScript
- Homepage:
- Size: 107 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ClipVault
A powerful and flexible clipboard manager for the terminal, built with Node.js.
Easily store, search, pin, remove, and interact with clipboard history โ all from your command line.
### โก Features
- ๐ฅ Automatically watch and save clipboard contents
- ๐ Multiple query search
- ๐ Pin and unpin entries
- ๐งน Clear old or unwanted clipboard entries
- ๐งพ Easily copy previous entries back to clipboard
- ๐พ Persistent history saved locally in JSON format
### ๐ฆ Installation
```
git clone https://github.com/ricardoliveira5ro/ClipVault.git
cd clipvault
npm install
```
Globally CLI usage
```
npm link
```
### ๐ Usage
##### ๐ข Start Watching Clipboard
```bash
clipvault watch
```
Continuously monitors clipboard changes and saves them
##### ๐ List All Entries
```bash
clipvault list
```
##### ๐ Search Clipboard History
```bash
clipvault search --query "password"
clipvault search --date "2025-07-01"
clipvault search --pinned
clipvault search --min-size 10 --max-size 1000
```
##### ๐ Pin/Unpin an Entry
```bash
clipvault pin
clipvault unpin
```
##### โ Remove an Entry
```bash
clipvault remove
clipvault remove --force # Remove pinned
```
##### ๐งน Clear Entries
```bash
clipvault clear
clipvault clear --days 7 # Clears entries older than 7 days
clipvault clear --days 7 --force
```
##### ๐ Copy an Entry
```bash
clipvault copy
```
Copies the clipboard entry with given ID back into the system clipboard.
### ๐จ๐ผโ๐ป Developer Guide
๐งช Running Tests
```
npm run test
```
Mocks are created using `jest.unstable_mockModule` for ESM compatibility
โ
Coverage
```
npm run coverage
```
Current code coverage: 97.93%

### ๐ File Structure
```python
โโโ ๐ bin/
โ โโโ ๐ index.js/ # CLI entry point
โโโ ๐ commands/ # CLI commands
โโโ ๐ lib/ # Shared utility modules
โโโ ๐ __tests__/ # Unit tests
โโโ ๐ jest.config.cjs
โโโ ๐ package.json
โโโ ๐ README.md
```