agentleFS
robotostudiorobotostudio/hotrod/AGENTS.md

hotrod

AGENTS.md1 starsChanged 12 days agoMITView on GitHub

Hotrod is Roboto Studio's agent-first Astro starter: an Astro 6 + MDX + Tailwind v4 marketing site where pages are built from Zod-typed blocks in frontmatter. This file is the rulebook for any agent working here. Cursor, Codex, Copilot, v0 and most other tools read it directly; Claude Code reads it through CLAUDE.md. 1. Compose before you extend. Most requests are content: fill existing blocks in a page's blocks: list. Touch src/blocks/ only when no block can express the content.…

  • Reads credentials
  • Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.

    Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.

  • In this repository4 other files it gives its agents.

The file

We split this AGENTS.md into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Strict Zod everywhere: Every schema is .strict() and every field has a plain-English error message.

    line 14

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

AGENTS.md — Hotrod

Hotrod is Roboto Studio's agent-first Astro starter: an Astro 6 + MDX + Tailwind v4 marketing site where pages are built from Zod-typed blocks in frontmatter. This file is the rulebook for any agent working here. Cursor, Codex, Copilot, v0 and most other tools read it directly; Claude Code reads it through CLAUDE.md.

Golden rules

  1. Compose before you extend. Most requests are content: fill existing blocks in a page's blocks: list. Touch src/blocks/ only when no block can express the content.
  2. Strict Zod everywhere. Every schema is .strict() and every field has a plain-English error message. When content fails validation, fix the content; never loosen the schema to make it pass.
  3. public/ is chrome only (favicon, robots.txt). Content images go to Vercel Blob and are referenced by key; video goes to Mux and is referenced by playback ID. The build checks both exist.
  4. Design tokens only. Colours come from src/styles/global.css. No hex codes or palette classes in components.
  5. kebab-case filenames for everything, including .astro files. Import bindings stay PascalCase (import SiteNav from './site-nav.astro').
  6. The build is the gate, then look. pnpm build runs every schema. A green build is not done: open the page in pnpm dev and check it at phone and desktop width.
  7. main deploys to production. Work on a branch and open a pull request; never push to main. Every other branch gets a Vercel preview.

Where things live

WhatPath
Pages (MDX, URL = file path)src/content/pages/**/*.mdx
Blog postssrc/content/blog/*.mdx
Authorssrc/content/authors/*.mdx
Frontmatter schemassrc/content.config.ts
Blocks (schema + component per folder)src/blocks/<name>/{schema.ts,index.astro}
Block registrysrc/blocks/registry.ts
Shared block fields (button, image, video)src/blocks/_shared/
Shared components (icons, dividers, media)src/components/
Header and footer links (hard-coded)src/components/site-nav.astro, src/components/site-footer.astro
Layouts and site chromesrc/layouts/
Page routing (blocks vs prose)src/pages/[...slug].astro
Design tokenssrc/styles/global.css
Blob and Mux manifests (generated at build, gitignored)src/generated/

Skills

Step-by-step procedures live in .claude/skills/. Read the one that matches the task before starting.

SkillUse it for
.claude/skills/compose-page/SKILL.mdAdding or editing a page or blog post: finding the file, frontmatter rules, the block catalog, field shapes, and how to validate.
.claude/skills/compose-block/SKILL.mdCreating or changing a block or any visible component: the folder contract, registry, shared parts, and the design rules every block follows.
.claude/skills/write-a-skill/SKILL.mdAsked to remember a rule or save a convention: write it here as a skill so every agent gets it, then add a row to this table.

Commands

CommandDoes
pnpm installInstall dependencies
shelve pullPull env vars from Shelve (project and env come from shelve.json). pnpm dlx vercel env pull .env.local works too. dev, build and astro check fail without BLOB_READ_WRITE_TOKEN, MUX_TOKEN_ID and MUX_TOKEN_SECRET.
pnpm devDev server at http://localhost:4321, drafts included
pnpm buildProduction build; validates every page
pnpm astro checkType check

There is no test framework. Verification is pnpm astro check, pnpm build and looking at the page.

When the build fails

Zod errors name the file, the field path and what was expected, for example `hero.buttons` can contain at most three buttons. Fix the content the message points at. A Blob or Mux error means the key or playback ID does not exist in that account: upload the asset, or correct the reference.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.