Skip to main content

Recipe best practices

Tips to get your plugin published with great UX and functionality.

Written by Ryan Kulp

Thousands of private plugins have been created by TRMNL users, and 100s have been submitted to the public directory:

Until May 2025 we manually reviewed each detail of every submission, from the markup to custom form fields, spelling and grammar, and general usability.

Then we created Chef (demo), a Recipe linting utility. See tips below to make a Recipe that pleases her. And see the latest Chef implementation here.

Markup uses too many inline styles

The following style declarations are unnecessary thanks to our Framework design system: https://trmnl.com/framework

display, justify-content, padding, margin, background-color, color, border-radius, text-align, object-fit, font-size

For example:

Custom field has a link that can be optimized for usability

Instead of pointing users to external locations like this:

Live a little. Use HTML like so:

- keyname: api_key
name: API Key
description: Get your API key from <a href="https://somewhere.com/settings">Server Settings</a>.
placeholder: asdf-fdsa
field_type: string
optional: true

Which produces:

Embedded links make description text shorter, open up in a new tab, and are more obviously clickable with the underline CSS class applied.

Is your link just an example, and should not be clickable?

Remove https:// from the beginning to ignore this check.

About This Plugin is your Recipe's description

The About This Plugin custom field (field_type: author_bio) is the description on your public Recipe page and the text in link previews. Say what the Recipe shows and why someone would want it, then add credits, your GitHub and a "learn more" link.

A Recipe needs at least 100 words there to appear in Google and other search engines. It does not change TRMNL's own search.

Related

Did this answer your question?