/markit

CLI tool for bookmarking commands and snippets

Primary LanguageRustMIT LicenseMIT

markit πŸ“ βœ¨

A blazing-fast CLI to save, search, run, and manage your shell command snippets.


πŸš€ Features

  • βœ… Save shell commands with descriptions, tags, and metadata
  • πŸ” Fuzzy search and interactive selection via dialoguer
  • 🧠 Metadata tracking (created_at, updated_at)
  • πŸ“ In-place YAML editing with your preferred editor
  • πŸ§ͺ Clipboard support (--copy)
  • πŸ“‚ Backup/restore with auto-snapshots on every change
  • πŸ” Import/export snippet collections
  • πŸ” Optional exec safety flag (executable: true/false)
  • πŸ’₯ Fast and lightweight β€” just Rust and YAML

πŸ“¦ Installation

πŸ¦€ With Cargo (Linux, macOS, Windows)

cargo install markit

🍎 macOS (Homebrew)

brew tap Nightstack/markit
brew install markit

🐧 Linux (DEB package)

curl -LO https://github.com/Nightstack/markit/releases/latest/download/markit-x86_64-unknown-linux-gnu.deb
sudo dpkg -i markit-x86_64-unknown-linux-gnu.deb

🐧 Linux (prebuilt binary)

curl -L https://github.com/Nightstack/markit/releases/latest/download/markit-linux.tar.gz | tar xz
sudo mv markit /usr/local/bin/

πŸ‘ Windows (Scoop)

scoop bucket add Nightstack https://github.com/Nightstack/scoop-markit
scoop install markit

πŸ› οΈ Windows (prebuilt binary)

  1. Download the latest markit-windows.zip
  2. Extract markit.exe
  3. Optionally add to PATH or run from PowerShell / CMD:
.\markit.exe --help

πŸ“– Usage

markit --help

Save a new snippet

markit save "docker-clean"
# Prompts for description, tags, and command content

List all snippets

markit list

Show a snippet by name

markit show "docker-clean"

Run a command

markit run "docker-clean"

Copy command to clipboard

markit copy "docker-clean"

Edit snippet

markit edit "docker-clean"

Delete snippet (with confirmation)

markit delete "docker-clean"

Filter by tag

markit list --tag "k8s"

Export all snippets

markit export snippets.yml

Import from file

markit import snippets.yml --force

Restore from backup

markit restore

🧰 Data Format

All data is stored as human-readable YAML in:

~/.markit/bookmarks.yml

Automatic backups are saved in:

~/.markit/backups/

πŸ› οΈ Development

Clone

git clone https://github.com/Nightstack/markit
cd markit
cargo run -- <command>

Build

cargo build --release

🧠 Inspiration

Built for people who Google the same commands 20 times a week. Now you don’t have to.


β˜• Support

If markit saves you time, consider buying me a coffee β€” it helps keep the project going!


πŸ“„ License

MIT