Open contribution
Add a generator
Every generator on this site is plain JSON in the repo. Adding one is a pull request — no build step, no app code. A maintainer reviews and merges; the site is then redeployed manually (changes are not auto-deployed).
Find the right file
Generators live in data/generators/, one JSON file per category. To add to an existing category, edit its file (e.g. development.json). To add a whole new category, create a new data/generators/<id>.json and add an entry to data/categories.json.
Current categories: development, devops, data, ai-ml, product, qa, security, content, seo, social, email, ads, sales, support, hr, legal, finance, strategy, design, video, education, research, ecommerce, productivity.
Append a generator object
Each file is a JSON array. Add an object with this shape:
{
"id": "kebab-case-id",
"label": "Human Title",
"description": "One line, what it produces",
"icon": "Sparkles", // any lucide-react icon name
"fields": [
{ "id": "name", "label": "Name", "type": "text", "required": true },
{ "id": "tone", "label": "Tone", "type": "select",
"options": [{ "id": "formal", "label": "Formal" },
{ "id": "casual", "label": "Casual" }],
"default": "formal" },
{ "id": "tests", "label": "Add tests", "type": "toggle", "default": true }
],
"template": "You are an expert. Build {{name}} in a {{tone}} tone.{{#if tests}} Include tests.{{/if}}\n\n## Deliverables\n1. ..."
}Field types: text, textarea, select, multi-select, toggle. Options are inline, or pull from a shared pool in data/options/ via optionsRef.
Write the template
The template is a string rendered by a tiny, safe engine (no eval). Supported syntax:
{{ name }} interpolate (arrays join with ", ")
{{#if x}} … {{else}} … {{/if}} truthiness
{{#if x == "Label"}} … {{/if}} equality (compare to a select's label)
{{#unless x}} … {{/unless}}
{{#each list}} {{this}} {{/each}} loop a multi-selectQuality bar: open with a clear expert role, restate the inputs via {{fields}}, gate sections with {{#if}}, and end with explicit deliverables. Every {{var}} must match a field id.
Open a pull request
Use the GitHub editor (the button above opens the “new file” screen, or use “Edit” on an existing file). GitHub will offer to fork the repo and “Propose changes” — that creates the PR. In the description, note the category and what the generator is for.
- JSON is valid (no trailing commas)
- Every template variable is a real field id
- Distinct from existing generators
- Ends with concrete deliverables
What happens after you submit
- 1. A maintainer reviews the PR for JSON validity and prompt quality.
- 2. Once merged, it ships on the next manual deploy.
- 3. Your generator appears here and in Browse all, statically rendered like the rest.