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.