Skip to directory

Submit your website with a coding agent

To submit your startup or website to RoboDebut, give your coding agent the prompt below. The agent adds a badge to your homepage, checks the deployed HTML and sends a listing proposal. An operator reviews the proposal before it appears in the directory. There is no submission form or maker account.

List my site on RoboDebut. Follow https://robodebut.com/llms.txt

llms.txt contains the current submission instructions, API fields and response handling. Have your agent read it before making changes. This guide explains the HTML checks with examples.

Put the badge in the HTML your server sends

RoboDebut reads your public homepage's raw HTML. It does not run JavaScript. A badge that appears only after a client component mounts will be missing from that check.

For a static site, put the badge in the homepage HTML. For a server-rendered or prerendered site, put it in a layout that renders into the homepage response. An existing footer is fine:

<footer>
  <a href="https://robodebut.com" title="Discover on RoboDebut"><img src="https://robodebut.com/badge.svg" alt="Discover on RoboDebut" width="180" height="40"></a>
</footer>

Use the dark badge image on a dark background. Keep the ordinary HTML anchor and image, including when the image file is SVG.

For a client-rendered SPA, a badge component inside the app is not enough if the server returns an empty app shell. Put the badge in the served HTML entry file, outside the element the app replaces when it mounts:

<body>
  <div id="app"></div>
  <footer>
    <a href="https://robodebut.com" title="Discover on RoboDebut"><img src="https://robodebut.com/badge.svg" alt="Discover on RoboDebut" width="180" height="40"></a>
  </footer>
  <script type="module" src="/src/main.ts"></script>
</body>

Here the app mounts into #app, leaving the footer in place. Adapt the example to your project's entry file and build system. If your app already renders a footer, avoid adding the badge twice. Server rendering or prerendering the existing footer is another option.

Match the width, alignment and spacing of nearby content. Keep the badge visible on the public HTTPS homepage at /, including after the app loads. Check desktop and phone layouts for clipping or a floating widget covering the badge.

Check the deployed homepage

Deploy through your project's normal process, then fetch the public homepage. Replace the sample domain below with yours. These commands save the response in a temporary directory; they do not submit a listing.

guide_check_dir=$(mktemp -d)
curl --fail --silent --show-error --location \
  --proto '=https' --proto-redir '=https' \
  --max-redirs 3 --max-time 15 \
  --dump-header "$guide_check_dir/headers.txt" \
  --output "$guide_check_dir/home.html" \
  https://your-public-domain.com/
rg -n -i 'robodebut\.com|<meta[^>]+(robots|robodebutbot)' "$guide_check_dir/home.html"
rg -n -i '^x-robots-tag:' "$guide_check_dir/headers.txt"

Find the actual <a href="https://robodebut.com"> containing the badge image in the saved HTML. A match inside a script, comment or template does not establish that the badge is present. The rg commands locate text for inspection; they do not reproduce RoboDebut's parser.

Keep nofollow, ugc and sponsored off the badge anchor. Page-level robots meta tags and X-Robots-Tag headers must also allow followed links. nofollow or none prevents acceptance. No X-Robots-Tag match is normal when your server sends no such header. Check the final homepage response after redirects.

Open the deployed page too. Hidden attributes, aria-hidden, hiding styles, and placing the badge inside noscript or template do not meet the requirement. The operator also reviews CSS visibility.

Let the agent prepare the proposal

Give the agent your public HTTPS apex or www homepage and an email address where the operator can reach you. Other subdomains are not accepted. RoboDebut allows one listing per registrable domain, including its www variant.

The current request shape is below. Replace every sample value with your project's details. Have the agent check the current fields and allowed categories before sending the JSON.

POST https://robodebut.com/api/v1/listings
Content-Type: application/json
{
  "homepage_url": "https://your-public-domain.com/",
  "name": "Project name",
  "tagline": "One line about what it does",
  "description": "Describe what the project does and who uses it. Keep the description in plain text.",
  "category": "others",
  "contact_email": "you@example.com"
}

Use others when no category fits. The contact email is required and private to the operator; it is not published in the listing or returned in the submission response. Keep passwords, API keys and extra private project data out of the request. RoboDebut sends no approval or rejection email.

Read the submission status

pending_review means the proposal is waiting for operator review. It is not a public listing, and the response contains no public listing URL. Do not resubmit it. already_listed returns the existing public listing_url; that request changes nothing.

If the badge is missing or the homepage cannot be loaded, fix the reported problem and follow the retry delay in llms.txt. Read the JSON status; an HTTP 200 alone does not mean the listing was published.

Anonymous submissions cannot replace or edit an existing proposal. There is no maker dashboard or public pending-status lookup. Once approved, the listing links back to the accepted homepage.

RoboDebut is run by Boon, who also builds LinkBunny.

List my site on RoboDebut. Follow https://robodebut.com/llms.txt