You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.3 KiB

🤝 Contributing

Creating Catppuccin ports

 

What's a port?

A port is basically an adaptation of Catppuccin's palettes for an app to use. Think of it as a colorscheme for a program that styles every UI component it consists of!

 

Creation

You can create ports using this public template as a blueprint. However, you must not create it the traditional way (by clicking Use this template), because this leaves a small tag under the repos' name that says generated from <template>. To avoid this, follow the instructions below:

  1. Create the repo and leave it empty:
mkdir name_of_your_port
cd name_of_your_port
git init
  1. Add this template as a remote:
git remote add template https://github.com/catppuccin/template.git
  1. Pull from it:
git pull template main
  1. Delete the remote:
git remote remove template
  1. Make the template its own repository by running
git reset $(git commit-tree HEAD^{tree} -m "feat: initial commit")
  1. Set up the rest of your port, and push it to your user repository!

 

Styling!

Although you just created the repo successfully, it's important to style it properly to ensure consistency:

  • The name of the repo must be the simplest version of the app's name (e.g nvim instead of NeoVim). You may use hyphens if needed (e.g. windows-files).
  • Put the images under assets/. If there are a bunch of them consider creating an empty branch (e.g. assets) and storing them there.
  • Format the repo's description as "<emoji> Soothing pastel theme for <app name>".
    • <emoji> should be an emoji that you feel represents the app best.
    • <app name> is the name of the app, capitalized properly.
  • Add catppuccin to the topics.
  • Ensure uppercase meta files (e.g. README.md)
  • Don't add health files (e.g. CODE_OF_CONDUCTS.md, SUPPORT.md), those are organization-wide files stored here.

 

Tools

Since Catppuccin is available in 4 palettes it's understandable that it may not be quite as easy to make 4 versions of a port. So to help with that, we have built a bunch of tools to make life easier when creating Catppuccin ports. You'll find them all (with instructions) under our catppuccin/toolbox repo. Particularly, for the initial problem stated, you'd want to take a look at the Puccinier tool.

 

Submission

Raise a discussion under main repository here! The title should be the simplest name of the application/tool/website in lower-kebab-case that you are wanting ported over. E.g. NeoVim -> neovim

If you have already created a repository containing the work, make sure to include it within the description for others to see! Feel free to join our Discord and share it there too!

The discussion will be transferred to an issue once the staff team have deemed the port ready to be reviewed and merged!