[{"data":1,"prerenderedAt":271},["ShallowReactive",2],{"content-\u002Fdocs\u002Freference\u002Fai-agents":3},{"id":4,"title":5,"body":6,"description":252,"extension":253,"meta":254,"metaRows":255,"navigation":265,"path":266,"seo":267,"source":268,"stem":269,"__hash__":270},"docs\u002Fdocs\u002Freference\u002Fai-agents.md","AI agents",{"type":7,"value":8,"toc":240},"minimark",[9,13,41,44,55,62,70,73,79,86,90,100,107,110,118,123,126,151,164,171,191,194,198,227,236],[10,11,5],"h1",{"id":12},"ai-agents",[14,15,16],"blockquote",{},[17,18,19,20,24,25,28,29,32,33,36,37,40],"p",{},"Attaform hands your coding assistant the same map the humans get. Three artifacts, all kept honest by the build: a curated ",[21,22,23],"code",{},"llms.txt"," index, a full-text ",[21,26,27],{},"llms-full.txt"," dump, and an installable Attaform skill. Point an agent at them and the first form it writes reaches for ",[21,30,31],{},"useForm",", binds with ",[21,34,35],{},"v-register",", and submits through ",[21,38,39],{},"handleSubmit",", no correction round needed.",[42,43],"docs-meta-table",{},[17,45,46,47,50,51,54],{},"Large language models are excellent Attaform authors when they can see the surface. Left to guess, a low-context model reaches for whatever it assumes a form library looks like: the wrong import, a hand-rolled ",[21,48,49],{},"v-model",", a write straight through ",[21,52,53],{},"values",". Every artifact on this page exists to replace that guess with the real shape.",[56,57,59,61],"h2",{"id":58},"llmstxt-the-curated-index",[21,60,23],{},": the curated index",[17,63,64,69],{},[65,66,68],"a",{"href":67},"\u002Fllms.txt","attaform.dev\u002Fllms.txt"," is the front door for an agent. It opens with the mental model, lists every documentation page as a titled link, and carries a compact API cheat-sheet plus the core idioms. It is small enough to drop into a prompt whole.",[17,71,72],{},"It is a build artifact, regenerated from the live documentation on every deploy. The links come from the site's own navigation and the headline code comes from a type-checked snippet, so the index cannot silently drift from the site it points at. When an agent needs more than the index gives, the links carry it into the full docs.",[56,74,76,78],{"id":75},"llms-fulltxt-every-page-concatenated",[21,77,27],{},": every page, concatenated",[17,80,81,85],{},[65,82,84],{"href":83},"\u002Fllms-full.txt","attaform.dev\u002Fllms-full.txt"," is every documentation page stitched into one file, in reading order, with the site's markup stripped back to plain prose and code. Reach for it when a model has the context budget to hold the whole manual at once, or when you want to hand off Attaform's complete documentation in a single paste. Like the index, it regenerates on every build, so it is always the current docs.",[56,87,89],{"id":88},"the-attaform-skill","The Attaform skill",[17,91,92,93,96,97,99],{},"Attaform ships an Agent Skill: a ",[21,94,95],{},"SKILL.md"," that teaches an assistant how to actually build a form, distilled from real Attaform apps into a short list of recipes and rules. Where ",[21,98,23],{}," is a reference an agent reads, the skill is guidance an agent follows while it writes.",[17,101,102,103,106],{},"It is built for progressive disclosure. The main file covers the common case end to end: the import surface, the build-a-form shape, the core rules, and short wizard and SSR summaries. It links five reference files an agent loads only when the task reaches their area, served alongside it under ",[21,104,105],{},"references\u002F",": wizards, errors, custom components, SSR, and validation. The lean main keeps the everyday case cheap, and the depth is one hop away when a form needs it.",[108,109],"skill-viewer",{},[17,111,112,113,117],{},"Read or copy it above, or fetch it directly at ",[65,114,116],{"href":115},"\u002Fskill.md","attaform.dev\u002Fskill.md",".",[119,120,122],"h3",{"id":121},"install-it-into-your-project","Install it into your project",[17,124,125],{},"The skill travels inside the package, so one command copies it into place. From your project root:",[127,128,133],"pre",{"className":129,"code":130,"language":131,"meta":132,"style":132},"language-sh shiki shiki-themes github-light github-dark","npx attaform skill\n","sh","",[21,134,135],{"__ignoreMap":132},[136,137,140,144,148],"span",{"class":138,"line":139},"line",1,[136,141,143],{"class":142},"sScJk","npx",[136,145,147],{"class":146},"sZZnC"," attaform",[136,149,150],{"class":146}," skill\n",[17,152,153,154,156,157,160,161,117],{},"That drops the whole skill, the main file and its ",[21,155,105],{},", into ",[21,158,159],{},".claude\u002Fskills\u002Fattaform\u002F",". Run it again after you upgrade Attaform to refresh the skill in place: because it ships inside the package, running it in a project that has Attaform installed copies that exact version's skill. Aiming at another assistant's skills folder is a trailing path away, for example ",[21,162,163],{},"npx attaform skill .cursor\u002Fskills",[17,165,166,167,170],{},"Prefer to place it by hand? The skill sits at ",[21,168,169],{},"node_modules\u002Fattaform\u002Fskills\u002Fattaform\u002F",", so you can copy the folder yourself:",[127,172,174],{"className":129,"code":173,"language":131,"meta":132,"style":132},"cp -r node_modules\u002Fattaform\u002Fskills\u002Fattaform .claude\u002Fskills\u002F\n",[21,175,176],{"__ignoreMap":132},[136,177,178,181,185,188],{"class":138,"line":139},[136,179,180],{"class":142},"cp",[136,182,184],{"class":183},"sj4cs"," -r",[136,186,187],{"class":146}," node_modules\u002Fattaform\u002Fskills\u002Fattaform",[136,189,190],{"class":146}," .claude\u002Fskills\u002F\n",[17,192,193],{},"Either way, the assistant then loads the Attaform skill whenever it works on a form in your repo.",[56,195,197],{"id":196},"pointing-an-agent-at-attaform","Pointing an agent at Attaform",[199,200,201,212,221],"ul",{},[202,203,204,208,209,211],"li",{},[205,206,207],"strong",{},"A quick task in a chat."," Paste the contents of ",[21,210,23],{},", or link it, and ask for the form. The index is sized to fit.",[202,213,214,217,218,220],{},[205,215,216],{},"A capable agent with room to spare."," Hand it ",[21,219,27],{}," for the complete documentation in one file.",[202,222,223,226],{},[205,224,225],{},"An assistant working in your codebase."," Install the skill so every form it touches follows the idioms without a reminder.",[17,228,229,230,232,233,235],{},"All three point the same direction: the schema is the form, ",[21,231,35],{}," binds it, and ",[21,234,39],{}," ships it. Give an agent that map and it builds Attaform forms the way you would.",[237,238,239],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":132,"searchDepth":241,"depth":241,"links":242},2,[243,245,247,251],{"id":58,"depth":241,"text":244},"llms.txt: the curated index",{"id":75,"depth":241,"text":246},"llms-full.txt: every page, concatenated",{"id":88,"depth":241,"text":89,"children":248},[249],{"id":121,"depth":250,"text":122},3,{"id":196,"depth":241,"text":197},"The tooling Attaform ships for AI coding assistants. A generated llms.txt index, a full-text llms-full.txt dump, and an installable Attaform skill, so an agent builds a form the idiomatic way the first time.","md",{},[256,259,261,263],{"label":257,"value":258},"Category","Reference",{"label":260,"value":67,"kind":21},"Index",{"label":262,"value":83,"kind":21},"Full text",{"label":264,"value":115,"kind":21},"Skill",true,"\u002Fdocs\u002Freference\u002Fai-agents",{"title":5,"description":252},null,"docs\u002Freference\u002Fai-agents","RYNt3BqHd50zdSVr5XsGq3e0tzNZXyIU8flhJFq5oBQ",1783176420589]