Skip to content

Project Structure

Whiskers imposes no restrictions on the project structure or template names. However, we recommend you use one of the following options listed below.

These conventions exist to make it easier for contributors to find templates and to give code editors a hint about the correct file type.

<port-name>.tera in the repository root for ports that only need one template.

For example, a sample port generating a json file for each flavor:

  • sample.tera
  • Directorythemes
    • catppuccin-frappe.json
    • catppuccin-latte.json
    • catppuccin-macchiato.json
    • catppuccin-mocha.json

templates/<filename>.tera for ports that have multiple templates.

For example, a sample port generating separate editor and ui files for each flavor:

  • Directorytemplates
    • ui.tera
    • editor.tera
  • Directorythemes
    • Directoryfrappe
      • catppuccin-frappe-ui.ini
      • catppuccin-frappe-editor.json
    • Directorylatte
      • catppuccin-latte-ui.ini
      • catppuccin-latte-editor.json
    • Directorymacchiato
      • catppuccin-macchiato-ui.ini
      • catppuccin-macchiato-editor.json
    • Directorymocha
      • catppuccin-mocha-ui.ini
      • catppuccin-mocha-editor.json