An unofficial CLI for Catppuccin developers; query data about Catppuccin ports and userstyles, star counts of the organization as a whole or individual repositories, the Whiskers port creation tool migration, or even initialize a new port/userstyle from the upstream template.
cargo install catppuccin-purr
# or
cargo install --git https://github.com/uncenter/purr.gitpurr is available as an AUR package.
It can be installed with an AUR helper (e.g. paru):
paru -S purrnix run github:uncenter/purr
purr <COMMAND> [-h | --help] [-V | --version]
purr query [--for <PORT>] [-g | --get] [-c | --count] [--userstyles | --no-userstyles | --only-userstyles]
Query the ports.yml data source. With no arguments, all ports are displayed. The --count and userstyles-related flags work for all of the query subcommands.
Examples
-
List all ports.
purr query -
List all ports excluding userstyles.
purr query --no-userstyles -
List all userstyles.
purr query --only-userstyles -
Count the number of ports.
purr query --count -
List the names of all ports.
purr query --get name -
List the current maintainers of the
nvimport.purr query --for nvim --get current-maintainers
purr query maintained [--by <NAME>] [-n | --not] [-c | --count]
Examples
-
List maintained ports.
purr query maintained -
Count the number of maintained ports.
purr query maintained --count -
List unmaintained ports.
purr query maintained --not -
Count the number of unmaintained ports.
purr query maintained --not --count -
List ports maintained by
<username>.purr query maintained --by "<username>" -
Count the number of ports maintained by
<username>.purr query maintained --by "<username>" --count -
List ports not maintained by
<username>.purr query maintained --by "<username>" --not -
Count the number of ports not maintained by
<username>.purr query maintained --by "<username>" --not --count
purr query has [PROPERTIES] [-n | --not] [-c | --count]
Properties:
--name <NAME>--category <CATEGORIES>--upstreamed--platform <PLATFORM>--icon <ICON>--color <COLOR>--alias--url <URL>
Examples
-
List ports with
colorset tomauve.purr query has --color mauve -
Count the number of ports that have
colorset tomauve.purr query has --color mauve --count -
Count the number of ports that have
colorset to anything other thanmauve.purr query has --color mauve --not --count -
List ports that do not have
icondefined.purr query has --icon --not -
List ports with categories of
application_launcherandsystem.purr query has --category application_launcher,system
purr query stars [--for <REPOSITORY>] [--archived]
Examples
-
Get the total stars for all repositories across the organization.
purr query stars -
Get the total stars for all non-archived repositories across the organization.
purr query stars --archived false -
Get the total stars for only archived repositories across the organization.
purr query stars --archived true -
Get the stars for a repository called
<repository>.purr query stars --for "<repository>"
purr query whiskers [--is <STATE>] [-n | --not] [-c | --count | -p | --percentage]
Examples
-
Get the overall statistics of the Whiskerification process.
purr query whiskers -
List Whiskerified repositories.
purr query whiskers --is true -
List non-Whiskerified repositories.
purr query whiskers --is false -
List repositories Whiskers is not applicable for.
purr query whiskers --is not-applicable -
List repositories Whiskers is applicable for.
purr query whiskers --is not-applicable --not
The init command accepts each value (name, categories, etc.) via arguments, though if not provided a series of prompts will be displayed instead.
purr init <TEMPLATE> [PROPERTIES]
| Template | Available Properties/Flags |
|---|---|
port |
name, url |
userstyle |
name, category, icon, color, url |
purr whiskerify <PATH> [-o | --output <PATH>]
Whiskerify a file by replacing Catppuccin colors and names with Tera expressions. Prints the output or writes to the --output file path if given.