UI

Starter and packs

prongs add gives every project the same starter: what nearly every interface needs. Packs add the intents only some kinds of app need, for SaaS, editorial, marketing, dashboard and media apps.

The starter

npx prongs add gives every project the same starter: the intents nearly every interface needs, from page regions and forms to toasts, empty states and file fields. It is the vocabulary agents can count on in any Prongs app.

Packs

Some intents only make sense for some kinds of app: sorting a table, a paywalled feature, a pull quote, a battery meter. Putting them in the starter would give every agent words it should not reach for, so they come in packs, added on top. The starters for UI, errors and logs hold 122 intents; the packs add 34 more.

SaaS

8 intents

Apps people work in: records in tables, settings pages, plans and billing.

npx prongs add saas

Editorial

9 intents

Things people read: articles, posts, docs, news and their previews.

npx prongs add editorial

Marketing

3 intents

Landing and product pages: the headline and the links that lead on.

npx prongs add marketing

Dashboard

6 intents

Numbers to watch: amounts in a range, charts, devices and their status.

npx prongs add dashboard

Media

8 intents

Photos, video and music: galleries, players and full-size views.

npx prongs add media

Add the packs that match what you are building; most apps need one or two.

Terminal
npx prongs add saas editorial

What adding one does

  • It copies

    The pack’s intents go into your registry, where they are yours like the starter: rename, restyle and add to them. Running it again skips what is already there.

  • It fits what you have

    Pack intents are built from starter looks and point to starter intents in their “not for” lines. A line that points at an intent your registry does not have is left out.

  • It tells your agents

    PRONGS.md is regenerated, so the next agent that reads it knows the new words.

Where they are listed

Each pack has a page in the reference with its intents by domain and the starter intents they are told apart from. Pack intents also appear in their domains, marked with their pack, since an inspect action is still an action.

Browse the packs