[{"data":1,"prerenderedAt":1205},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":124,"api-none":352,"page-en-\u002Fguides\u002Fai-agents":353},{"\u002Fit\u002Fcomponenti\u002Fbb-accordion":4,"\u002Fen\u002Fcomponents\u002Fbb-accordion":5,"\u002Fit\u002Fcomponenti\u002Fbb-alert":6,"\u002Fen\u002Fcomponents\u002Fbb-alert":7,"\u002Fit\u002Fcomponenti\u002Fbb-asterisk":8,"\u002Fen\u002Fcomponents\u002Fbb-asterisk":9,"\u002Fit\u002Fcomponenti\u002Fbb-avatar":10,"\u002Fen\u002Fcomponents\u002Fbb-avatar":11,"\u002Fit\u002Fcomponenti\u002Fbb-badge":12,"\u002Fen\u002Fcomponents\u002Fbb-badge":13,"\u002Fit\u002Fcomponenti\u002Fbb-base-button":14,"\u002Fen\u002Fcomponents\u002Fbb-base-button":15,"\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs":16,"\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs":17,"\u002Fit\u002Fcomponenti\u002Fbb-button":18,"\u002Fen\u002Fcomponents\u002Fbb-button":19,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":20,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":21,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":22,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":23,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":24,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":25,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":26,"\u002Fen\u002Fcomponents\u002Fbb-color-input":27,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":28,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":29,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":30,"\u002Fen\u002Fcomponents\u002Fbb-confirm":31,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":32,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":33,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":34,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":35,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":36,"\u002Fen\u002Fcomponents\u002Fbb-dialog":37,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":38,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":39,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":40,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":41,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":42,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":43,"\u002Fit\u002Fcomponenti\u002Fbb-form":44,"\u002Fen\u002Fcomponents\u002Fbb-form":45,"\u002Fit\u002Fcomponenti\u002Fbb-icon":46,"\u002Fen\u002Fcomponents\u002Fbb-icon":47,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":48,"\u002Fen\u002Fcomponents\u002Fbb-indicator":49,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":50,"\u002Fen\u002Fcomponents\u002Fbb-number-input":51,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":52,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":53,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":54,"\u002Fen\u002Fcomponents\u002Fbb-pagination":55,"\u002Fit\u002Fcomponenti\u002Fbb-popover":56,"\u002Fen\u002Fcomponents\u002Fbb-popover":57,"\u002Fit\u002Fcomponenti\u002Fbb-progress":58,"\u002Fen\u002Fcomponents\u002Fbb-progress":59,"\u002Fit\u002Fcomponenti\u002Fbb-radio":60,"\u002Fen\u002Fcomponents\u002Fbb-radio":61,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":62,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":63,"\u002Fit\u002Fcomponenti\u002Fbb-rating":64,"\u002Fen\u002Fcomponents\u002Fbb-rating":65,"\u002Fit\u002Fcomponenti\u002Fbb-select":66,"\u002Fen\u002Fcomponents\u002Fbb-select":67,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":68,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":69,"\u002Fit\u002Fcomponenti\u002Fbb-slider":70,"\u002Fen\u002Fcomponents\u002Fbb-slider":71,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":72,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":73,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":74,"\u002Fen\u002Fcomponents\u002Fbb-spinner":75,"\u002Fit\u002Fcomponenti\u002Fbb-switch":76,"\u002Fen\u002Fcomponents\u002Fbb-switch":77,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":78,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":79,"\u002Fit\u002Fcomponenti\u002Fbb-table":80,"\u002Fen\u002Fcomponents\u002Fbb-table":81,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":82,"\u002Fen\u002Fcomponents\u002Fbb-tabs":83,"\u002Fit\u002Fcomponenti\u002Fbb-tag":84,"\u002Fen\u002Fcomponents\u002Fbb-tag":85,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":86,"\u002Fen\u002Fcomponents\u002Fbb-text-input":87,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":88,"\u002Fen\u002Fcomponents\u002Fbb-textarea":89,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":90,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":91,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":92,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":93,"\u002Fit\u002Fcomponenti\u002Fbb-toast":94,"\u002Fen\u002Fcomponents\u002Fbb-toast":95,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":96,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":97,"\u002Fit\u002Fcomponenti\u002Fbb-tree":98,"\u002Fen\u002Fcomponents\u002Fbb-tree":99,"\u002Fit\u002Fguide\u002Fai-agents":100,"\u002Fen\u002Fguides\u002Fai-agents":101,"\u002Fit\u002Fguide\u002Fcoherence":102,"\u002Fen\u002Fguides\u002Fcoherence":103,"\u002Fit\u002Fguide\u002Fdesign-language":104,"\u002Fen\u002Fguides\u002Fdesign-language":105,"\u002Fit\u002Fguide\u002Fdesign-tokens":106,"\u002Fen\u002Fguides\u002Fdesign-tokens":107,"\u002Fit\u002Fguide\u002Ffetching-data":108,"\u002Fen\u002Fguides\u002Ffetching-data":109,"\u002Fit\u002Fguide\u002Ficons":110,"\u002Fen\u002Fguides\u002Ficons":111,"\u002Fit\u002Fguide\u002Finertia":112,"\u002Fen\u002Fguides\u002Finertia":113,"\u002Fit\u002Fguide\u002Finstallation":114,"\u002Fen\u002Fguides\u002Finstallation":115,"\u002Fit\u002Fguide\u002Fmigration":116,"\u002Fen\u002Fguides\u002Fmigration":117,"\u002Fit\u002Fguide\u002Fnuxt":118,"\u002Fen\u002Fguides\u002Fnuxt":119,"\u002Fit\u002Fguide\u002Foptions-and-items":120,"\u002Fen\u002Fguides\u002Foptions-and-items":121,"\u002Fit\u002Fguide\u002Fvalidated-forms":122,"\u002Fen\u002Fguides\u002Fvalidated-forms":123},"\u002Fen\u002Fcomponents\u002Fbb-accordion","\u002Fit\u002Fcomponenti\u002Fbb-accordion","\u002Fen\u002Fcomponents\u002Fbb-alert","\u002Fit\u002Fcomponenti\u002Fbb-alert","\u002Fen\u002Fcomponents\u002Fbb-asterisk","\u002Fit\u002Fcomponenti\u002Fbb-asterisk","\u002Fen\u002Fcomponents\u002Fbb-avatar","\u002Fit\u002Fcomponenti\u002Fbb-avatar","\u002Fen\u002Fcomponents\u002Fbb-badge","\u002Fit\u002Fcomponenti\u002Fbb-badge","\u002Fen\u002Fcomponents\u002Fbb-base-button","\u002Fit\u002Fcomponenti\u002Fbb-base-button","\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs","\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs","\u002Fen\u002Fcomponents\u002Fbb-button","\u002Fit\u002Fcomponenti\u002Fbb-button","\u002Fen\u002Fcomponents\u002Fbb-checkbox","\u002Fit\u002Fcomponenti\u002Fbb-checkbox","\u002Fen\u002Fcomponents\u002Fbb-checkbox-group","\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group","\u002Fen\u002Fcomponents\u002Fbb-collapsible","\u002Fit\u002Fcomponenti\u002Fbb-collapsible","\u002Fen\u002Fcomponents\u002Fbb-color-input","\u002Fit\u002Fcomponenti\u002Fbb-color-input","\u002Fen\u002Fcomponents\u002Fbb-color-palette","\u002Fit\u002Fcomponenti\u002Fbb-color-palette","\u002Fen\u002Fcomponents\u002Fbb-confirm","\u002Fit\u002Fcomponenti\u002Fbb-confirm","\u002Fen\u002Fcomponents\u002Fbb-date-picker","\u002Fit\u002Fcomponenti\u002Fbb-date-picker","\u002Fen\u002Fcomponents\u002Fbb-date-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input","\u002Fen\u002Fcomponents\u002Fbb-dialog","\u002Fit\u002Fcomponenti\u002Fbb-dialog","\u002Fen\u002Fcomponents\u002Fbb-dropdown","\u002Fit\u002Fcomponenti\u002Fbb-dropdown","\u002Fen\u002Fcomponents\u002Fbb-dropdown-button","\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button","\u002Fen\u002Fcomponents\u002Fbb-dropzone","\u002Fit\u002Fcomponenti\u002Fbb-dropzone","\u002Fen\u002Fcomponents\u002Fbb-form","\u002Fit\u002Fcomponenti\u002Fbb-form","\u002Fen\u002Fcomponents\u002Fbb-icon","\u002Fit\u002Fcomponenti\u002Fbb-icon","\u002Fen\u002Fcomponents\u002Fbb-indicator","\u002Fit\u002Fcomponenti\u002Fbb-indicator","\u002Fen\u002Fcomponents\u002Fbb-number-input","\u002Fit\u002Fcomponenti\u002Fbb-number-input","\u002Fen\u002Fcomponents\u002Fbb-off-canvas","\u002Fit\u002Fcomponenti\u002Fbb-off-canvas","\u002Fen\u002Fcomponents\u002Fbb-pagination","\u002Fit\u002Fcomponenti\u002Fbb-pagination","\u002Fen\u002Fcomponents\u002Fbb-popover","\u002Fit\u002Fcomponenti\u002Fbb-popover","\u002Fen\u002Fcomponents\u002Fbb-progress","\u002Fit\u002Fcomponenti\u002Fbb-progress","\u002Fen\u002Fcomponents\u002Fbb-radio","\u002Fit\u002Fcomponenti\u002Fbb-radio","\u002Fen\u002Fcomponents\u002Fbb-radio-group","\u002Fit\u002Fcomponenti\u002Fbb-radio-group","\u002Fen\u002Fcomponents\u002Fbb-rating","\u002Fit\u002Fcomponenti\u002Fbb-rating","\u002Fen\u002Fcomponents\u002Fbb-select","\u002Fit\u002Fcomponenti\u002Fbb-select","\u002Fen\u002Fcomponents\u002Fbb-select-popover","\u002Fit\u002Fcomponenti\u002Fbb-select-popover","\u002Fen\u002Fcomponents\u002Fbb-slider","\u002Fit\u002Fcomponenti\u002Fbb-slider","\u002Fen\u002Fcomponents\u002Fbb-smooth-height","\u002Fit\u002Fcomponenti\u002Fbb-smooth-height","\u002Fen\u002Fcomponents\u002Fbb-spinner","\u002Fit\u002Fcomponenti\u002Fbb-spinner","\u002Fen\u002Fcomponents\u002Fbb-switch","\u002Fit\u002Fcomponenti\u002Fbb-switch","\u002Fen\u002Fcomponents\u002Fbb-switch-group","\u002Fit\u002Fcomponenti\u002Fbb-switch-group","\u002Fen\u002Fcomponents\u002Fbb-table","\u002Fit\u002Fcomponenti\u002Fbb-table","\u002Fen\u002Fcomponents\u002Fbb-tabs","\u002Fit\u002Fcomponenti\u002Fbb-tabs","\u002Fen\u002Fcomponents\u002Fbb-tag","\u002Fit\u002Fcomponenti\u002Fbb-tag","\u002Fen\u002Fcomponents\u002Fbb-text-input","\u002Fit\u002Fcomponenti\u002Fbb-text-input","\u002Fen\u002Fcomponents\u002Fbb-textarea","\u002Fit\u002Fcomponenti\u002Fbb-textarea","\u002Fen\u002Fcomponents\u002Fbb-time-picker","\u002Fit\u002Fcomponenti\u002Fbb-time-picker","\u002Fen\u002Fcomponents\u002Fbb-time-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input","\u002Fen\u002Fcomponents\u002Fbb-toast","\u002Fit\u002Fcomponenti\u002Fbb-toast","\u002Fen\u002Fcomponents\u002Fbb-tooltip","\u002Fit\u002Fcomponenti\u002Fbb-tooltip","\u002Fen\u002Fcomponents\u002Fbb-tree","\u002Fit\u002Fcomponenti\u002Fbb-tree","\u002Fen\u002Fguides\u002Fai-agents","\u002Fit\u002Fguide\u002Fai-agents","\u002Fen\u002Fguides\u002Fcoherence","\u002Fit\u002Fguide\u002Fcoherence","\u002Fen\u002Fguides\u002Fdesign-language","\u002Fit\u002Fguide\u002Fdesign-language","\u002Fen\u002Fguides\u002Fdesign-tokens","\u002Fit\u002Fguide\u002Fdesign-tokens","\u002Fen\u002Fguides\u002Ffetching-data","\u002Fit\u002Fguide\u002Ffetching-data","\u002Fen\u002Fguides\u002Ficons","\u002Fit\u002Fguide\u002Ficons","\u002Fen\u002Fguides\u002Finertia","\u002Fit\u002Fguide\u002Finertia","\u002Fen\u002Fguides\u002Finstallation","\u002Fit\u002Fguide\u002Finstallation","\u002Fen\u002Fguides\u002Fmigration","\u002Fit\u002Fguide\u002Fmigration","\u002Fen\u002Fguides\u002Fnuxt","\u002Fit\u002Fguide\u002Fnuxt","\u002Fen\u002Fguides\u002Foptions-and-items","\u002Fit\u002Fguide\u002Foptions-and-items","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",[125,136,145,166,178,220,253,286,307,328,340,346],{"label":126,"entries":127},"Getting started",[128,132],{"title":129,"path":130,"order":131},"Installation","\u002Fguides\u002Finstallation",1,{"title":133,"path":134,"order":135},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"label":137,"entries":138},"Design system",[139,142],{"title":140,"path":141,"order":131},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":143,"path":144,"order":135},"Design language","\u002Fguides\u002Fdesign-language",{"label":146,"entries":147},"Playbooks",[148,151,154,158,162],{"title":149,"path":150,"order":131},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":152,"path":153,"order":135},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":155,"path":156,"order":157},"Coherence","\u002Fguides\u002Fcoherence",3,{"title":159,"path":160,"order":161},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":163,"path":164,"order":165},"Icons","\u002Fguides\u002Ficons",5,{"label":167,"entries":168},"Ecosystem",[169,172,175],{"title":170,"path":171,"order":131},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":173,"path":174,"order":135},"Nuxt","\u002Fguides\u002Fnuxt",{"title":176,"path":177,"order":157},"AI agents","\u002Fguides\u002Fai-agents",{"label":179,"entries":180},"Inputs",[181,184,187,190,193,196,200,204,208,212,216],{"title":182,"path":183,"component":182,"order":131},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":185,"path":186,"component":185,"order":135},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":188,"path":189,"component":188,"order":157},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":191,"path":192,"component":191,"order":161},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":194,"path":195,"component":194,"order":165},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":197,"path":198,"component":197,"order":199},"BbForm","\u002Fcomponents\u002Fbb-form",6,{"title":201,"path":202,"component":201,"order":203},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":205,"path":206,"component":205,"order":207},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":209,"path":210,"component":209,"order":211},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":213,"path":214,"component":213,"order":215},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":217,"path":218,"component":217,"order":219},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":221,"entries":222},"Selection",[223,226,229,232,235,238,241,244,247,250],{"title":224,"path":225,"component":224,"order":131},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":227,"path":228,"component":227,"order":135},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":230,"path":231,"component":230,"order":157},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":233,"path":234,"component":233,"order":161},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":236,"path":237,"component":236,"order":165},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":239,"path":240,"component":239,"order":199},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":242,"path":243,"component":242,"order":203},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":245,"path":246,"component":245,"order":207},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":248,"path":249,"component":248,"order":211},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":251,"path":252,"component":251,"order":215},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":254,"entries":255},"Overlay",[256,259,262,265,268,271,274,277,280,283],{"title":257,"path":258,"component":257,"order":131},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":260,"path":261,"component":260,"order":135},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":263,"path":264,"component":263,"order":157},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":266,"path":267,"component":266,"order":161},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":269,"path":270,"component":269,"order":165},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":272,"path":273,"component":272,"order":199},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":275,"path":276,"component":275,"order":203},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":278,"path":279,"component":278,"order":207},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":281,"path":282,"component":281,"order":211},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":284,"path":285,"component":284,"order":215},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":287,"entries":288},"Navigation",[289,292,295,298,301,304],{"title":290,"path":291,"component":290,"order":131},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":293,"path":294,"component":293,"order":135},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":296,"path":297,"component":296,"order":157},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":299,"path":300,"component":299,"order":161},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":302,"path":303,"component":302,"order":165},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":305,"path":306,"component":305,"order":199},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":308,"entries":309},"Feedback",[310,313,316,319,322,325],{"title":311,"path":312,"component":311,"order":131},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":314,"path":315,"component":314,"order":135},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":317,"path":318,"component":317,"order":157},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":320,"path":321,"component":320,"order":161},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":323,"path":324,"component":323,"order":165},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":326,"path":327,"component":326,"order":199},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":329,"entries":330},"Data Display",[331,334,337],{"title":332,"path":333,"component":332,"order":131},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":335,"path":336,"component":335,"order":135},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":338,"path":339,"component":338,"order":157},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":341,"entries":342},"Layout & Utility",[343],{"title":344,"path":345,"component":344,"order":131},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":347,"entries":348},"Other",[349],{"title":350,"path":351,"component":350,"order":131},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",null,{"id":354,"title":176,"body":355,"component":352,"description":1192,"extension":1193,"group":167,"meta":1194,"navigation":1133,"order":157,"path":177,"sections":1195,"seo":1202,"stem":1203,"__hash__":1204},"docs_en\u002Fguides\u002Fai-agents.md",{"type":356,"value":357,"toc":1184},"minimark",[358,362,365,373,376,392,417,429,435,442,465,468,540,567,577,595,598,614,620,631,714,725,735,741,755,769,791,794,801,846,852,855,858,865,903,917,991,1012,1028,1049,1062,1090,1096,1099,1164,1171,1180],[359,360,361],"p",{},"Most component libraries leave a coding agent to guess. It reads a prop name off\na blog post from two majors ago and writes markup that looks plausible. The\nmistake surfaces at runtime, or never: an unknown prop in Vue is just an\nattribute.",[359,363,364],{},"bitboss-ui ships four things instead. A knowledge base written for agents, a\nmanifest of every component's real surface, a linter that validates your markup\nagainst it, and an MCP server your agent can query directly. One command sets up\nall of it.",[366,367,369],"h2",{"id":368},"why",[370,371,372],"span",{},"Why this exists",[359,374,375],{},"Three failure modes cost the most, and each has a tool aimed at it.",[359,377,378,382,383,387,388,391],{},[379,380,381],"strong",{},"Invented props."," An agent writes ",[384,385,386],"code",{},"color=\"primary\""," because every other library\nhas one. v3 removed ",[384,389,390],{},"color"," from nine components. Nothing throws; the attribute\nlands on the DOM node and does nothing.",[359,393,394,397,398,401,402,405,406,409,410,413,414,416],{},[379,395,396],{},"Stale API."," Training data is full of v2. ",[384,399,400],{},"showClose",", ",[384,403,404],{},"allowWriting",",\n",[384,407,408],{},"thumbTranslate"," and ",[384,411,412],{},"type"," on ",[384,415,335],{}," all read as current and are all wrong.",[359,418,419,422,423,425,426,428],{},[379,420,421],{},"Right component, wrong situation."," ",[384,424,205],{}," and a multiple ",[384,427,239],{}," look\ninterchangeable until you notice one is for values the user invents.",[366,430,432],{"id":431},"setup",[370,433,434],{},"Point your agent at it",[359,436,437,438,441],{},"Run one command in the app, after installing ",[384,439,440],{},"bitboss-ui",":",[443,444,449],"pre",{"className":445,"code":446,"language":447,"meta":448,"style":448},"language-bash shiki shiki-themes github-light-high-contrast github-dark-high-contrast","npx bitboss-ui ai-init\n","bash","",[384,450,451],{"__ignoreMap":448},[370,452,454,458,462],{"class":453,"line":131},"line",[370,455,457],{"class":456},"soyes","npx",[370,459,461],{"class":460},"sT6z2"," bitboss-ui",[370,463,464],{"class":460}," ai-init\n",[359,466,467],{},"It does three things. It writes a pointer to the knowledge base for every\nassistant the project might use, so an agent finds the rules without being told:",[469,470,471,484],"table",{},[472,473,474],"thead",{},[475,476,477,481],"tr",{},[478,479,480],"th",{},"File",[478,482,483],{},"Read by",[485,486,487,499,509,520,530],"tbody",{},[475,488,489,496],{},[490,491,492,495],"td",{},[384,493,494],{},"AGENTS.md"," (a marked fragment, the rest of the file is left alone)",[490,497,498],{},"Cursor, Codex, most other agents",[475,500,501,506],{},[490,502,503],{},[384,504,505],{},".cursor\u002Frules\u002Fbitboss-ui.mdc",[490,507,508],{},"Cursor",[475,510,511,517],{},[490,512,513,516],{},[384,514,515],{},".github\u002Fcopilot-instructions.md"," (a marked fragment)",[490,518,519],{},"GitHub Copilot",[475,521,522,527],{},[490,523,524],{},[384,525,526],{},".claude\u002Fskills\u002Fbitboss-ui\u002FSKILL.md",[490,528,529],{},"Claude Code",[475,531,532,537],{},[490,533,534],{},[384,535,536],{},".windsurf\u002Frules\u002Fbitboss-ui.md",[490,538,539],{},"Windsurf",[359,541,542,543,548,549,401,552,555,556,559,560,409,563,566],{},"It registers the ",[544,545,547],"a",{"href":546},"#mcp","MCP server"," in ",[384,550,551],{},".mcp.json",[384,553,554],{},".cursor\u002Fmcp.json"," and\n",[384,557,558],{},".vscode\u002Fmcp.json",". And it installs the server's two dependencies,\n",[384,561,562],{},"@modelcontextprotocol\u002Fsdk",[384,564,565],{},"zod",", as dev dependencies, using the package\nmanager your lockfile names.",[359,568,569,570,572,573,576],{},"Every write is idempotent and merges rather than overwrites: your own lines in\n",[384,571,494],{}," and the other MCP servers you have configured survive. Re-run it\nafter every upgrade, so the pointers name the version you have. ",[384,574,575],{},"--update"," is an\nalias that reads better in a script:",[443,578,580],{"className":445,"code":579,"language":447,"meta":448,"style":448},"npx bitboss-ui ai-init --update\n",[384,581,582],{"__ignoreMap":448},[370,583,584,586,588,591],{"class":453,"line":131},[370,585,457],{"class":456},[370,587,461],{"class":460},[370,589,590],{"class":460}," ai-init",[370,592,594],{"class":593},"s-5SL"," --update\n",[359,596,597],{},"To write the pointers only, with no MCP config and no install, opt out:",[443,599,601],{"className":445,"code":600,"language":447,"meta":448,"style":448},"npx bitboss-ui ai-init --no-mcp\n",[384,602,603],{"__ignoreMap":448},[370,604,605,607,609,611],{"class":453,"line":131},[370,606,457],{"class":456},[370,608,461],{"class":460},[370,610,590],{"class":460},[370,612,613],{"class":593}," --no-mcp\n",[366,615,617],{"id":616},"knowledge-base",[370,618,619],{},"What the agent reads",[359,621,622,623,626,627,630],{},"The knowledge base lives at ",[384,624,625],{},"node_modules\u002Fbitboss-ui\u002Fdist\u002Fai\u002F",", exported as\n",[384,628,629],{},"bitboss-ui\u002Fai",". It is deliberately structured as a hop map rather than one large\ndocument, so an agent loads a few kilobytes rather than the whole catalogue.",[469,632,633,642],{},[472,634,635],{},[475,636,637,639],{},[478,638,480],{},[478,640,641],{},"What it is",[485,643,644,654,664,674,684,694,704],{},[475,645,646,651],{},[490,647,648],{},[384,649,650],{},"guides\u002Fai-router.md",[490,652,653],{},"Start here. Which file to open next, in what order.",[475,655,656,661],{},[490,657,658],{},[384,659,660],{},"guides\u002Fagent-contract.md",[490,662,663],{},"The hard rules, before any code is written.",[475,665,666,671],{},[490,667,668],{},[384,669,670],{},"index.md",[490,672,673],{},"Full component catalogue, grouped, each linked to a typed contract.",[475,675,676,681],{},[490,677,678],{},[384,679,680],{},"components.json",[490,682,683],{},"Machine-readable API surface of every component.",[475,685,686,691],{},[490,687,688],{},[384,689,690],{},"\u003CComponent>.md",[490,692,693],{},"One contract per component: props, events, slots, v-model.",[475,695,696,701],{},[490,697,698],{},[384,699,700],{},"guides\u002F*.md",[490,702,703],{},"Cross-cutting playbooks: coherence, options and items, icons, forms.",[475,705,706,711],{},[490,707,708],{},[384,709,710],{},"recipes\u002F{vue,nuxt,inertia}\u002F",[490,712,713],{},"Whole-page shapes, one file per platform.",[359,715,716,717,720,721,724],{},"If the agent can only fetch URLs, use the versioned package files under\n",[384,718,719],{},"dist\u002Fai\u002F"," on your npm CDN. ",[384,722,723],{},"llms-medium.txt"," packs the router, contract, setup,\npicker, design language and catalogue into one request. This is the package\nknowledge base, not the locale-dependent documentation site.",[359,726,727,728,731,732,734],{},"That manifest is not a side artifact. ",[379,729,730],{},"The API reference tables are generated\nfrom it."," Every props table on this site renders ",[384,733,680],{},". The guides\naround those tables are curated separately, but the component surface comes\nfrom the same source an agent reads.",[366,736,738],{"id":737},"check",[370,739,740],{},"Checking the markup",[359,742,743,744,747,748,409,751,754],{},"The linter validates ",[384,745,746],{},"Bb*"," markup in your ",[384,749,750],{},".vue",[384,752,753],{},".md"," files against the\ninstalled manifest, not against a copy of the rules. You are checked against the\nversion you actually have:",[443,756,758],{"className":445,"code":757,"language":447,"meta":448,"style":448},"npx bitboss-ui check\n",[384,759,760],{"__ignoreMap":448},[370,761,762,764,766],{"class":453,"line":131},[370,763,457],{"class":456},[370,765,461],{"class":460},[370,767,768],{"class":460}," check\n",[359,770,771,772,775,776,779,780,783,784,783,787,790],{},"It catches unknown and removed props, bad ",[384,773,774],{},"v-model"," targets, ",[384,777,778],{},"\u003Ctemplate #slot>","\nnames that do not exist, and ",[384,781,782],{},"href"," \u002F ",[384,785,786],{},"to",[384,788,789],{},"method"," on a component that does not\ndeclare them. It exits non-zero on findings, which makes it a CI step.",[359,792,793],{},"It also exits non-zero when an explicit glob matches nothing. A typo in a CI path\nthat validates zero files silently is the failure this prevents.",[359,795,796,797,800],{},"If your app owns a component whose name happens to start with ",[384,798,799],{},"Bb",", exempt it\nrather than renaming:",[443,802,806],{"className":803,"code":804,"language":805,"meta":448,"style":448},"language-json shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u002F\u002F package.json\n{\n    \"bitboss-ui\": { \"allowComponents\": [\"BbRichEditor\"] }\n}\n","json",[384,807,808,814,820,841],{"__ignoreMap":448},[370,809,810],{"class":453,"line":131},[370,811,813],{"class":812},"sLBg1","\u002F\u002F package.json\n",[370,815,816],{"class":453,"line":135},[370,817,819],{"class":818},"suds8","{\n",[370,821,822,826,829,832,835,838],{"class":453,"line":157},[370,823,825],{"class":824},"sne4z","    \"bitboss-ui\"",[370,827,828],{"class":818},": { ",[370,830,831],{"class":824},"\"allowComponents\"",[370,833,834],{"class":818},": [",[370,836,837],{"class":460},"\"BbRichEditor\"",[370,839,840],{"class":818},"] }\n",[370,842,843],{"class":453,"line":161},[370,844,845],{"class":818},"}\n",[366,847,849],{"id":848},"mcp",[370,850,851],{},"The MCP server",[359,853,854],{},"The MCP server lets an agent query the knowledge base instead of reading it\nblind. It can search the components, fetch one component's contract, look up a\ndesign token, read a guide or a recipe, list the breaking changes between two\nversions, and validate a snippet of markup, all without loading the catalogue\ninto its context first.",[359,856,857],{},"The practical difference: an agent that can ask \"what props does BbSelect take\"\nanswers from the installed version. An agent that cannot, guesses from training\ndata, and training data is v2.",[359,859,860,861,864],{},"You never start the server yourself. ",[384,862,863],{},"ai-init"," registers it, and the harness\nlaunches it on demand. Restart the harness once after the first run so it picks\nthe server up. Each harness gets an entry in its own format:",[469,866,867,876],{},[472,868,869],{},[475,870,871,873],{},[478,872,480],{},[478,874,875],{},"Harness",[485,877,878,886,894],{},[475,879,880,884],{},[490,881,882],{},[384,883,551],{},[490,885,529],{},[475,887,888,892],{},[490,889,890],{},[384,891,554],{},[490,893,508],{},[475,895,896,900],{},[490,897,898],{},[384,899,558],{},[490,901,902],{},"VS Code and Copilot",[359,904,905,906,909,910,912,913,916],{},"The entry runs the installed binary, ",[384,907,908],{},"node node_modules\u002Fbitboss-ui\u002Fbin\u002Fbitboss-ui.mjs mcp",",\nnot ",[384,911,457],{},". That way it cannot fetch anything from the registry and always answers\nfrom the version in your ",[384,914,915],{},"node_modules",". The path is relative to the project, so\ncommit these files and the server works for your teammates too:",[443,918,920],{"className":803,"code":919,"language":805,"meta":448,"style":448},"\u002F\u002F .mcp.json\n{\n    \"mcpServers\": {\n        \"bitboss-ui\": {\n            \"command\": \"node\",\n            \"args\": [\"node_modules\u002Fbitboss-ui\u002Fbin\u002Fbitboss-ui.mjs\", \"mcp\"]\n        }\n    }\n}\n",[384,921,922,927,931,939,946,959,977,982,987],{"__ignoreMap":448},[370,923,924],{"class":453,"line":131},[370,925,926],{"class":812},"\u002F\u002F .mcp.json\n",[370,928,929],{"class":453,"line":135},[370,930,819],{"class":818},[370,932,933,936],{"class":453,"line":157},[370,934,935],{"class":824},"    \"mcpServers\"",[370,937,938],{"class":818},": {\n",[370,940,941,944],{"class":453,"line":161},[370,942,943],{"class":824},"        \"bitboss-ui\"",[370,945,938],{"class":818},[370,947,948,951,954,957],{"class":453,"line":165},[370,949,950],{"class":824},"            \"command\"",[370,952,953],{"class":818},": ",[370,955,956],{"class":460},"\"node\"",[370,958,405],{"class":818},[370,960,961,964,966,969,971,974],{"class":453,"line":199},[370,962,963],{"class":824},"            \"args\"",[370,965,834],{"class":818},[370,967,968],{"class":460},"\"node_modules\u002Fbitboss-ui\u002Fbin\u002Fbitboss-ui.mjs\"",[370,970,401],{"class":818},[370,972,973],{"class":460},"\"mcp\"",[370,975,976],{"class":818},"]\n",[370,978,979],{"class":453,"line":203},[370,980,981],{"class":818},"        }\n",[370,983,984],{"class":453,"line":207},[370,985,986],{"class":818},"    }\n",[370,988,989],{"class":453,"line":211},[370,990,845],{"class":818},[359,992,993,996,997,1000,1001,1004,1005,1007,1008,1011],{},[379,994,995],{},"Windsurf is not registered."," It only reads one global config in your home\ndirectory, and a project command should not edit that. If you use Windsurf, add\nthe entry to ",[384,998,999],{},"~\u002F.codeium\u002Fwindsurf\u002Fmcp_config.json"," yourself. That file serves\nevery project, so give it the absolute path to this project's\n",[384,1002,1003],{},"node_modules\u002Fbitboss-ui\u002Fbin\u002Fbitboss-ui.mjs",". ",[384,1006,863],{}," still writes Windsurf's\n",[384,1009,1010],{},".windsurf\u002Frules"," pointer.",[359,1013,1014,422,1017,555,1019,1021,1022,1024,1025,1027],{},[379,1015,1016],{},"The two dependencies are optional peers.",[384,1018,562],{},[384,1020,565],{}," weigh about 12 MB together, more than every runtime dependency of the\nlibrary combined. Only the MCP server loads them, so installing ",[384,1023,440],{},"\nnever pulls them in. ",[384,1026,863],{}," installs them for you. If that install fails, it\nprints the command to run, and the config files are written anyway. The server\nstarts once the peers are there.",[359,1029,1030,1033,1034,1036,1037,1040,1041,1044,1045,1048],{},[379,1031,1032],{},"You can skip the server and lose no knowledge."," The server only reads the\nfiles in ",[384,1035,625],{},". An agent that opens that directory\nitself knows exactly as much, and ",[384,1038,1039],{},"npx bitboss-ui check"," runs without the peers.\nIf the project cannot take new dependencies, run ",[384,1042,1043],{},"ai-init --no-mcp"," and point\nthe agent at ",[384,1046,1047],{},"dist\u002Fai\u002Fguides\u002Fai-router.md",".",[359,1050,1051,1052,1055,1056,1058,1059,1061],{},"In a Vite or Nuxt app, the plugin can register the server instead: pass\n",[384,1053,1054],{},"mcp: true"," and the dev server writes the same three files on boot. It never\ninstalls anything, so run ",[384,1057,863],{}," once for the peers. See\n",[544,1060,173],{"href":118}," for the option.",[443,1063,1067],{"className":1064,"code":1065,"language":1066,"meta":448,"style":448},"language-ts shiki shiki-themes github-light-high-contrast github-dark-high-contrast","bitbossUi({ iconDir: '.\u002Fassets\u002Ficons', mcp: true });\n","ts",[384,1068,1069],{"__ignoreMap":448},[370,1070,1071,1075,1078,1081,1084,1087],{"class":453,"line":131},[370,1072,1074],{"class":1073},"sKwhi","bitbossUi",[370,1076,1077],{"class":818},"({ iconDir: ",[370,1079,1080],{"class":460},"'.\u002Fassets\u002Ficons'",[370,1082,1083],{"class":818},", mcp: ",[370,1085,1086],{"class":593},"true",[370,1088,1089],{"class":818}," });\n",[366,1091,1093],{"id":1092},"eslint",[370,1094,1095],{},"Catching it in the editor",[359,1097,1098],{},"The library ships an ESLint plugin, so the same rules apply while typing rather\nthan at review:",[443,1100,1104],{"className":1101,"code":1102,"language":1103,"meta":448,"style":448},"language-js shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u002F\u002F eslint.config.mjs\nimport bitboss from 'bitboss-ui\u002Feslint-plugin';\n\nexport default [bitboss.configs.recommended];\n","js",[384,1105,1106,1111,1129,1135],{"__ignoreMap":448},[370,1107,1108],{"class":453,"line":131},[370,1109,1110],{"class":812},"\u002F\u002F eslint.config.mjs\n",[370,1112,1113,1117,1120,1123,1126],{"class":453,"line":135},[370,1114,1116],{"class":1115},"sHUrx","import",[370,1118,1119],{"class":818}," bitboss ",[370,1121,1122],{"class":1115},"from",[370,1124,1125],{"class":460}," 'bitboss-ui\u002Feslint-plugin'",[370,1127,1128],{"class":818},";\n",[370,1130,1131],{"class":453,"line":157},[370,1132,1134],{"emptyLinePlaceholder":1133},true,"\n",[370,1136,1137,1140,1143,1146,1149,1151,1154,1156,1159,1162],{"class":453,"line":161},[370,1138,1139],{"class":1115},"export",[370,1141,1142],{"class":1115}," default",[370,1144,1145],{"class":456}," [",[370,1147,1148],{"class":818},"bitboss",[370,1150,1048],{"class":456},[370,1152,1153],{"class":818},"configs",[370,1155,1048],{"class":456},[370,1157,1158],{"class":818},"recommended",[370,1160,1161],{"class":456},"]",[370,1163,1128],{"class":818},[359,1165,1166,1167,1170],{},"Pair it with ",[384,1168,1169],{},"vueCompilerOptions.checkUnknownComponents"," and explicit imports.\nThat combination turns a mistyped or removed component into a type error instead\nof an empty space on the page.",[359,1172,1173,1174,1176,1177,1179],{},"The shortest reliable setup is ",[384,1175,863],{},", the recommended ESLint config and\n",[384,1178,1039],{}," in CI. Add MCP when the agent can use tools; keep the\nfile-based knowledge pointers either way, because they remain available to every\nagent and in offline work.",[1181,1182,1183],"style",{},"html pre.shiki code .soyes, html code.shiki .soyes{--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .sT6z2, html code.shiki .sT6z2{--shiki-default:#032563;--shiki-dark:#ADDCFF}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 .s-5SL, html code.shiki .s-5SL{--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .sLBg1, html code.shiki .sLBg1{--shiki-default:#66707B;--shiki-dark:#BDC4CC}html pre.shiki code .suds8, html code.shiki .suds8{--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sne4z, html code.shiki .sne4z{--shiki-default:#024C1A;--shiki-dark:#72F088}html pre.shiki code .sKwhi, html code.shiki .sKwhi{--shiki-default:#622CBC;--shiki-dark:#DBB7FF}html pre.shiki code .sHUrx, html code.shiki .sHUrx{--shiki-default:#A0111F;--shiki-dark:#FF9492}",{"title":448,"searchDepth":157,"depth":157,"links":1185},[1186,1187,1188,1189,1190,1191],{"id":368,"depth":135,"text":372},{"id":431,"depth":135,"text":434},{"id":616,"depth":135,"text":619},{"id":737,"depth":135,"text":740},{"id":848,"depth":135,"text":851},{"id":1092,"depth":135,"text":1095},"Wire your agent to the library's knowledge base, manifest, linter and MCP server.","md",{},[1196,1197,1198,1199,1200,1201],{"id":368,"title":372},{"id":431,"title":434},{"id":616,"title":619},{"id":737,"title":740},{"id":848,"title":851},{"id":1092,"title":1095},{"title":176,"description":1192},"guides\u002Fai-agents","eb-gLv1OmbylWamSwfE5FWwzksdp0RePDvyZUpqxgH0",1790005167751]