Skip to content

Snippet CLI manager for quickly generating and executing shell snippets without leaving the terminal.

License

Notifications You must be signed in to change notification settings

lemoony/snipkit

Repository files navigation

SnipKit Logo

SnipKit - Snippet CLI manager

Execute the scripts saved in your favorite snippet manager or generate new scripts with the help of AI without even leaving the terminal.

Language Build License Go Report Card codecov

Demo

Documentation | SnipKit GPT | Changelog

Features

  • Generate new scripts with the help of SnipKit Assistant
  • Load snippets form an external snippet manager (filtered by tags)
  • Search for snippets by typing
  • Parameter substitution
  • Support for different parameter types:
    • Pre-defined values / Enum parameters
    • Password (will be masked)
    • Paths (autocomplete)
  • Themes
    • Built-in themes (default, simple)
    • Define custom themes
  • Root command can be adjusted (e.g. set to print or exec)

Inspired by Pet.

SnipKit Assistant (BETA) 🤖

SnipKit Assistant lets you generate parameterized scripts based on a prompt directly from the command line.

❇️ Alternatively, you can use SnipKit GPT.

Demo

The assistant also allows you to save generated scripts and retry or adjust the prompt based on the script output. For more details, see the documentation.

⚠️ SnipKit Assistant is currently in beta for OpenAI and Gemini. A couple of improvements are already in the pipeline...

Parameters

SnipKit supports different types of script parameters to ease execution:

Parameter Type Demo
Predefined values Predefined Values
Path Path
Password Password

Quick Start

Please also have a look at the Documentation.

Overview of all commands

snipkit -h

Configuration

# Create a new config
snipkit config init

As of now, no external snippet manager is configured.

# Add an external snippet manager
snipkit manager add

You will be presented with a list of supported managers. Pick the one you want to use. After that, you should be ready to go.

Working with snippets

Search for and execute a snippet:

snipkit exec

SnipKit will connect to the external snippet manager configured and provide all corresponding snippets to you. If you don't want to execute a snippet directly but have a look at the resulting command, call snipkit print instead.

Tip: In order to execute snippets even faster, have a look at the power setup described in the documentation.

Installation

Homebrew

brew install lemoony/tap/snipkit

apt

echo 'deb [trusted=yes] https://apt.fury.io/lemoony/ /' | sudo tee /etc/apt/sources.list.d/snipkit.list
sudo apt update
sudo apt install snipkit

yum

echo '[snipkit]
name=Snipkit Private Repo
baseurl=https://yum.fury.io/lemoony/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/snipkit.repo
sudo yum install snipkit

deb, rpm and apk packages

Download the .deb, .rpm or .apk packages from releases page and install them with the appropriate tools.

Go

go install github.com/lemoony/snipkit@latest

Build

git clone https://github.com/lemoony/snipkit.git
cd snipkit 
make build

After the build succeeds, go to ./dist to find the binary for your operating system.

You can also build the project via Gitpod.

Open in Gitpod

Contributing

See CONTRIBUTING.md.