Skip to content

Core Concepts

Stuart Meeks edited this page Jun 8, 2026 · 1 revision

Core Concepts

Snipdeck has a small, deliberate vocabulary. Understanding these five terms is enough to use everything else.

CLI

A CLI is the top-level organising entity — the command-line tool a group of Snips belongs to (for example pl-app, mpt-app, git). This is Snipdeck's defining idea: every Snip belongs to exactly one CLI, so your library stays grouped by tool rather than as one flat list.

A CLI has a name, an optional description (shown on its Home card), an icon, optional execution settings (which shell to run in, an executable path, a working directory) and optional shared parameters. See Managing CLIs.

Snip

A Snip is a single parameterised command that belongs to one CLI. It has:

  • a title,
  • a command template — text with {token} placeholders, e.g. pl-app deploy --env {env},
  • an optional description written in Markdown,
  • a set of parameters that map to the tokens,
  • tags, a favourite flag, and usage tracking (count + last used).

You copy a Snip's resolved command to the clipboard, or run it. See Creating and Editing Snips, Copying Commands and Running Commands.

Parameter

A parameter fills a {token} in the template. Each parameter has a name, a type, and an optional default:

  • Text — a free-form text box.
  • Choice — a dropdown constrained to a list of options.

Parameters can live on the Snip itself, or be shared across a whole CLI or globally, with a clear precedence order. See Parameters and Shared Parameters.

Token names are matched case-sensitively: {Env} and {env} are different tokens.

Tag

A tag is a label on a Snip used to filter the Snip list. Filtering is one tag at a time via the left pane, scoped to the currently selected CLI (or all CLIs on Home). Tags can be given icons. See Tags and Tag Icons.

Favourite

A favourite is a Snip you've starred. Favourites surface in their own category on the Home launcher and sort to the top of lists. Toggle the star on any Snip card.


How it fits together

graph TD
    CLI["CLI (e.g. pl-app)"] -->|owns| Snip1["Snip: Deploy"]
    CLI -->|owns| Snip2["Snip: Logs"]
    CLI -. "shared parameters" .-> Snip1
    CLI -. "shared parameters" .-> Snip2
    Snip1 -->|has| P1["Parameter: env (Choice)"]
    Snip1 -->|tagged| T1["Tag: ops"]
    Snip1 -->|"Copy / Run"| Out["Resolved command"]
Loading
  • A CLI owns many Snips and can define shared parameters they inherit.
  • A Snip carries its own parameters and tags, and resolves to a final command you copy or run.

Where it's stored

Definitions (CLIs, Snips, parameters, tags) live in a single human-readable JSON document; run history lives in a separate database. Full detail in Data Storage and Backups.

Clone this wiki locally