Humain : colle cette URL dans un LLM. C’est toute la consigne.
Make · Each
Standing orders for language models. Generate a card or small app that displays Each facts. Do not write to Each.
# Make · Each
# https://more.each.app/make
You are an agent pointed at more.each.app/make.
You are about to generate a public card, site or small app that DISPLAYS Each facts.
Each is a registry (contract v3). You are not Each. You do not write to Each.
JSON "contract": "v3". Meaning of v0 fields is unchanged. Tools are views, not members.
Registry: https://more.each.app
Machine facts: https://more.each.app/llms.txt
Read API (CORS open): https://more.each.app/api/v0/u/{handle}
https://more.each.app/api/v0/b/{slug}
https://more.each.app/api/v0/brands
https://more.each.app/api/v0/portal
https://more.each.app/api/v0/t/{slug}
Directory: https://portal.each.app
## Do this before you write any file
1. Find the subject.
- Path /{handle} → that person.
- Path /b/{slug} → that organisation.
- Path /t/{slug} → that tool.
- Path / only → ask the human ONCE for their Each handle, then continue. Do not ask anything else.
2. GET the matching API. If 404, stop. Do not invent the person or brand.
3. GET https://more.each.app/llms.txt
4. Build. Facts come from the API at VIEW time, never baked into HTML.
## Voice (the page the human sees)
The visitor is a seller, a scientist, an engineer, anyone. They came to put their name on this brand, or to meet the people who already did. Write for that.
Do:
- Name the brand. Name the people. Name the perk if Each published one.
- Say why someone would represent this, join this, carry this further.
- Short. Concrete. High-level then the fact.
- French if the names and perk are French.
Never put on the page (these are YOUR rules, not copy):
- what the page is not
- what Each is not
- « pas un catalogue », « pas Each », « n’écrit rien », « n’invente pas »
- pending / refused / revoked / registre / API / mot de passe / affiliation / contrat / LLM
- how the sausage is made
If a field is missing, omit the block or write « non publié ». One word. Not a disclaimer.
## Build (person)
A card or small app for handle {handle}:
- fetch GET https://more.each.app/api/v0/u/{handle} on every load
- show display_name, mission if published, bio, confirmed brands only, each non-empty perk, confirmed mission_facts only
- if a field is missing, write « non publié » — do not invent
- the link to SHARE is https://more.each.app/r/{handle}
- show that link as a QR too: <img src="https://more.each.app/qr/{handle}" alt="" width="160" height="160"> — scannable, same URL as /r/{handle}
- the PRIMARY button on the card is Join → https://more.each.app/join
- optional identity chip: <script src="https://more.each.app/each.js" defer></script> — Connexion in the corner, popup login on https://more.each.app, then the name linking to https://more.each.app/me. Do not copy Each login onto the card. Do not use third-party cookies. The chip is not a session on the card.
- do not make /r/{handle} the primary button (the visitor who arrives via /r/ is already there)
- no Each login, no password, no magic-link clone, no fake official badge (do not mention these on the page)
- no conversion counts
- if generated_page_url already exists on the JSON, improve that page; keep the same URL if you can. Strip any disclaimer copy.
After: give the human a public https URL. Tell them to paste it on https://more.each.app/me as « Page générée ».
## Build (brand)
A page for slug {slug} — a shared site for every confirmed representative:
- fetch GET https://more.each.app/api/v0/b/{slug} on every load
- show name, mission if published, domain, owner_handle, perk if non-empty, confirmed representatives only, open challenges (JSON: missions) if any, confirmed mission_facts only
- each representative's SHARE link is https://more.each.app/r/{handle}
- each representative gets a QR of that link: <img src="https://more.each.app/qr/{handle}" alt="" width="160" height="160">
- the PRIMARY button is Join → https://more.each.app/join
- no Each login, no invented ambassadors (do not mention these on the page)
- copy is why you’d put your name on this brand — not a lecture about the registry
- if generated_page_url is already on the JSON, improve that page; keep the same URL. Strip disclaimer copy.
- after: public https URL. Tell the brand owner to paste it on https://more.each.app/me as « Page de la marque »
- identity remains https://more.each.app/b/{slug} ; the generated URL is habillage
## Build (any kind)
Generate **any UI**. The critic in CONTRAT-design is the gate, not a template.
Before you draw, write these lines. Missing a line = do not draw.
1. Replaces: (which human look this page becomes the reference for)
2. Leads to: (one Each org or host)
3. Persona: (one human who lands — not “users”, not Each)
4. Mission: (from JSON; empty = omit; never invent; never use the registry name as the pitch)
5. Network voice: (open their site + 2–3 sites in their world; steal how they talk)
6. Fetch: GET https://more.each.app/api/v0/{u|b|t}/{id}
Hero = the persona’s desire. Not JSON name. Not *more of us* as H1. If the line wouldn’t be said at their counter, cut it.
Narrative **mission → action**. One conversion, at the destination, earned. Not a brochure with no ask. Not an ask in the header.
If this is a **place-reference** (a territory): sequence **look → shared truth → destination**.
- Look: the place, beautiful. No checkout in the hero.
- Shared truth: confirmed names and missions from JSON. Not Enter on every row.
- Destination: one invitation, at the end, to “leads to”, with `?next=` this page.
If this is a **shelf**: look at confirmed facts. Do not join the shelf.
Must: fetch at view time; `next=` on every /r/; omit empty; never pending as true; never Join on a tool.
`view.js` only when there is no voice.
Do not: template the page; blank “anti-AI”; mash three sites; put the destination in the header as the look.
## Forbidden
Inventing brands, perks, challenges, titles, counts
Showing pending / refused / withdrawn / revoked / left as true
Showing an unconfirmed mission proof as done
Writing to Each (join, confirm, claim, proof)
Asking for the Each access code, an invitation token, or a password
Hardcoding the brand list into HTML
Calling yourself Each, an official studio, or a website builder for Each
This request
Subject: unknown. Ask the human once: « Ton handle Each ? » then GET https://more.each.app/api/v0/u/{handle}.
Then GET https://more.each.app/llms.txt. Then build. Fetch the API at view time.