[{"data":1,"prerenderedAt":402},["ShallowReactive",2],{"docs-navigation":3},[4],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"SaaS4Builders Documentation","\u002Fdocs","docs",[9,11,42,94,116,154,176,198,220,234,248,266,284,314,384],{"title":5,"path":6,"stem":10},"docs\u002Findex",{"title":12,"icon":13,"path":14,"stem":15,"children":16,"page":41},"Getting Started","i-lucide-rocket","\u002Fdocs\u002Fgetting-started","docs\u002F01.getting-started",[17,21,25,29,33,37],{"title":18,"path":19,"stem":20},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F01.getting-started\u002F1.introduction",{"title":22,"path":23,"stem":24},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F01.getting-started\u002F2.installation",{"title":26,"path":27,"stem":28},"Docker Setup","\u002Fdocs\u002Fgetting-started\u002Fdocker-setup","docs\u002F01.getting-started\u002F3.docker-setup",{"title":30,"path":31,"stem":32},"Environment Configuration","\u002Fdocs\u002Fgetting-started\u002Fenvironment-configuration","docs\u002F01.getting-started\u002F4.environment-configuration",{"title":34,"path":35,"stem":36},"Running the Demo","\u002Fdocs\u002Fgetting-started\u002Frunning-the-demo","docs\u002F01.getting-started\u002F5.running-the-demo",{"title":38,"path":39,"stem":40},"Deployment Guide","\u002Fdocs\u002Fgetting-started\u002Fdeployment-guide","docs\u002F01.getting-started\u002F6.deployment-guide",false,{"title":43,"icon":44,"path":45,"stem":46,"children":47,"page":41},"Architecture","i-lucide-layers","\u002Fdocs\u002Farchitecture","docs\u002F02.architecture",[48,52,69,86,90],{"title":49,"path":50,"stem":51},"Architecture Overview","\u002Fdocs\u002Farchitecture\u002Foverview","docs\u002F02.architecture\u002F1.overview",{"title":53,"path":54,"stem":55,"children":56,"page":41},"Backend","\u002Fdocs\u002Farchitecture\u002Fbackend","docs\u002F02.architecture\u002F2.backend",[57,61,65],{"title":58,"path":59,"stem":60},"Domain Layer","\u002Fdocs\u002Farchitecture\u002Fbackend\u002Fdomain-layer","docs\u002F02.architecture\u002F2.backend\u002F1.domain-layer",{"title":62,"path":63,"stem":64},"Application Layer","\u002Fdocs\u002Farchitecture\u002Fbackend\u002Fapplication-layer","docs\u002F02.architecture\u002F2.backend\u002F2.application-layer",{"title":66,"path":67,"stem":68},"Infrastructure Layer","\u002Fdocs\u002Farchitecture\u002Fbackend\u002Finfrastructure-layer","docs\u002F02.architecture\u002F2.backend\u002F3.infrastructure-layer",{"title":70,"path":71,"stem":72,"children":73,"page":41},"Frontend","\u002Fdocs\u002Farchitecture\u002Ffrontend","docs\u002F02.architecture\u002F3.frontend",[74,78,82],{"title":75,"path":76,"stem":77},"Vertical Slices","\u002Fdocs\u002Farchitecture\u002Ffrontend\u002Fvertical-slices","docs\u002F02.architecture\u002F3.frontend\u002F1.vertical-slices",{"title":79,"path":80,"stem":81},"Composables & Stores","\u002Fdocs\u002Farchitecture\u002Ffrontend\u002Fcomposables-and-stores","docs\u002F02.architecture\u002F3.frontend\u002F2.composables-and-stores",{"title":83,"path":84,"stem":85},"Validation","\u002Fdocs\u002Farchitecture\u002Ffrontend\u002Fvalidation","docs\u002F02.architecture\u002F3.frontend\u002F3.validation",{"title":87,"path":88,"stem":89},"API Contracts","\u002Fdocs\u002Farchitecture\u002Fapi-contracts","docs\u002F02.architecture\u002F4.api-contracts",{"title":91,"path":92,"stem":93},"Decision Records","\u002Fdocs\u002Farchitecture\u002Fdecision-records","docs\u002F02.architecture\u002F5.decision-records",{"title":95,"icon":96,"path":97,"stem":98,"children":99,"page":41},"Authentication","i-lucide-lock","\u002Fdocs\u002Fauthentication","docs\u002F03.authentication",[100,104,108,112],{"title":101,"path":102,"stem":103},"Auth Architecture Overview","\u002Fdocs\u002Fauthentication\u002Foverview","docs\u002F03.authentication\u002F1.overview",{"title":105,"path":106,"stem":107},"Registration & Onboarding","\u002Fdocs\u002Fauthentication\u002Fregistration-and-onboarding","docs\u002F03.authentication\u002F2.registration-and-onboarding",{"title":109,"path":110,"stem":111},"Login, Logout & Token Refresh","\u002Fdocs\u002Fauthentication\u002Flogin-logout-refresh","docs\u002F03.authentication\u002F3.login-logout-refresh",{"title":113,"path":114,"stem":115},"Impersonation","\u002Fdocs\u002Fauthentication\u002Fimpersonation","docs\u002F03.authentication\u002F4.impersonation",{"title":117,"icon":118,"path":119,"stem":120,"children":121,"page":41},"Billing","i-lucide-credit-card","\u002Fdocs\u002Fbilling","docs\u002F04.billing",[122,126,130,134,138,142,146,150],{"title":123,"path":124,"stem":125},"Billing Overview","\u002Fdocs\u002Fbilling\u002Foverview","docs\u002F04.billing\u002F1.overview",{"title":127,"path":128,"stem":129},"Pricing Models","\u002Fdocs\u002Fbilling\u002Fpricing-models","docs\u002F04.billing\u002F2.pricing-models",{"title":131,"path":132,"stem":133},"Stripe Integration","\u002Fdocs\u002Fbilling\u002Fstripe-integration","docs\u002F04.billing\u002F3.stripe-integration",{"title":135,"path":136,"stem":137},"Subscriptions & Lifecycle","\u002Fdocs\u002Fbilling\u002Fsubscriptions-and-lifecycle","docs\u002F04.billing\u002F4.subscriptions-and-lifecycle",{"title":139,"path":140,"stem":141},"Invoices","\u002Fdocs\u002Fbilling\u002Finvoices","docs\u002F04.billing\u002F5.invoices",{"title":143,"path":144,"stem":145},"Tax Configuration","\u002Fdocs\u002Fbilling\u002Ftax-configuration","docs\u002F04.billing\u002F6.tax-configuration",{"title":147,"path":148,"stem":149},"Webhooks","\u002Fdocs\u002Fbilling\u002Fwebhooks","docs\u002F04.billing\u002F7.webhooks",{"title":151,"path":152,"stem":153},"Currency Rules","\u002Fdocs\u002Fbilling\u002Fcurrency-rules","docs\u002F04.billing\u002F8.currency-rules",{"title":155,"icon":156,"path":157,"stem":158,"children":159,"page":41},"Multi-Tenancy","i-lucide-building-2","\u002Fdocs\u002Fmulti-tenancy","docs\u002F05.multi-tenancy",[160,164,168,172],{"title":161,"path":162,"stem":163},"Multi-Tenancy Overview","\u002Fdocs\u002Fmulti-tenancy\u002Foverview","docs\u002F05.multi-tenancy\u002F1.overview",{"title":165,"path":166,"stem":167},"Tenant Resolution","\u002Fdocs\u002Fmulti-tenancy\u002Ftenant-resolution","docs\u002F05.multi-tenancy\u002F2.tenant-resolution",{"title":169,"path":170,"stem":171},"Data Scoping","\u002Fdocs\u002Fmulti-tenancy\u002Fdata-scoping","docs\u002F05.multi-tenancy\u002F3.data-scoping",{"title":173,"path":174,"stem":175},"Testing Multi-Tenant Isolation","\u002Fdocs\u002Fmulti-tenancy\u002Ftesting-isolation","docs\u002F05.multi-tenancy\u002F4.testing-isolation",{"title":177,"icon":178,"path":179,"stem":180,"children":181,"page":41},"Teams","i-lucide-users","\u002Fdocs\u002Fteams","docs\u002F06.teams",[182,186,190,194],{"title":183,"path":184,"stem":185},"Teams Overview","\u002Fdocs\u002Fteams\u002Foverview","docs\u002F06.teams\u002F1.overview",{"title":187,"path":188,"stem":189},"Invitations","\u002Fdocs\u002Fteams\u002Finvitations","docs\u002F06.teams\u002F2.invitations",{"title":191,"path":192,"stem":193},"Role Management","\u002Fdocs\u002Fteams\u002Frole-management","docs\u002F06.teams\u002F3.role-management",{"title":195,"path":196,"stem":197},"Seat-Based Billing Integration","\u002Fdocs\u002Fteams\u002Fseat-billing-integration","docs\u002F06.teams\u002F4.seat-billing-integration",{"title":199,"icon":200,"path":201,"stem":202,"children":203,"page":41},"Settings","i-lucide-settings","\u002Fdocs\u002Fsettings","docs\u002F07.settings",[204,208,212,216],{"title":205,"path":206,"stem":207},"Settings Overview","\u002Fdocs\u002Fsettings\u002Foverview","docs\u002F07.settings\u002F1.overview",{"title":209,"path":210,"stem":211},"Defining Settings","\u002Fdocs\u002Fsettings\u002Fdefining-settings","docs\u002F07.settings\u002F2.defining-settings",{"title":213,"path":214,"stem":215},"Reading & Writing Settings","\u002Fdocs\u002Fsettings\u002Freading-and-writing","docs\u002F07.settings\u002F3.reading-and-writing",{"title":217,"path":218,"stem":219},"Caching Strategy","\u002Fdocs\u002Fsettings\u002Fcaching-strategy","docs\u002F07.settings\u002F4.caching-strategy",{"title":221,"icon":222,"path":223,"stem":224,"children":225,"page":41},"Notifications","i-lucide-bell","\u002Fdocs\u002Fnotifications","docs\u002F08.notifications",[226,230],{"title":227,"path":228,"stem":229},"Notifications Overview","\u002Fdocs\u002Fnotifications\u002Foverview","docs\u002F08.notifications\u002F1.overview",{"title":231,"path":232,"stem":233},"Web Push","\u002Fdocs\u002Fnotifications\u002Fweb-push","docs\u002F08.notifications\u002F2.web-push",{"title":235,"icon":236,"path":237,"stem":238,"children":239,"page":41},"Content Management","i-lucide-file-text","\u002Fdocs\u002Fcontent-management","docs\u002F09.content-management",[240,244],{"title":241,"path":242,"stem":243},"Nuxt Content Setup","\u002Fdocs\u002Fcontent-management\u002Fnuxt-content-setup","docs\u002F09.content-management\u002F1.nuxt-content-setup",{"title":245,"path":246,"stem":247},"Nuxt Studio Integration","\u002Fdocs\u002Fcontent-management\u002Fnuxt-studio-integration","docs\u002F09.content-management\u002F2.nuxt-studio-integration",{"title":249,"icon":250,"path":251,"stem":252,"children":253,"page":41},"Internationalization","i-lucide-languages","\u002Fdocs\u002Finternationalization","docs\u002F10.internationalization",[254,258,262],{"title":255,"path":256,"stem":257},"Internationalization Overview","\u002Fdocs\u002Finternationalization\u002Foverview","docs\u002F10.internationalization\u002F1.overview",{"title":259,"path":260,"stem":261},"Backend Translations","\u002Fdocs\u002Finternationalization\u002Fbackend-translations","docs\u002F10.internationalization\u002F2.backend-translations",{"title":263,"path":264,"stem":265},"Frontend i18n","\u002Fdocs\u002Finternationalization\u002Ffrontend-i18n","docs\u002F10.internationalization\u002F3.frontend-i18n",{"title":267,"icon":268,"path":269,"stem":270,"children":271,"page":41},"Testing","i-lucide-flask-conical","\u002Fdocs\u002Ftesting","docs\u002F11.testing",[272,276,280],{"title":273,"path":274,"stem":275},"Testing Overview","\u002Fdocs\u002Ftesting\u002Foverview","docs\u002F11.testing\u002F1.overview",{"title":277,"path":278,"stem":279},"Backend Testing (PHPUnit)","\u002Fdocs\u002Ftesting\u002Fbackend-pest","docs\u002F11.testing\u002F2.backend-pest",{"title":281,"path":282,"stem":283},"Frontend Testing (Vitest)","\u002Fdocs\u002Ftesting\u002Ffrontend-vitest","docs\u002F11.testing\u002F3.frontend-vitest",{"title":285,"icon":286,"path":287,"stem":288,"children":289,"page":41},"API Reference","i-lucide-code","\u002Fdocs\u002Fapi-reference","docs\u002F12.api-reference",[290,294,298,302,306,310],{"title":291,"path":292,"stem":293},"API Conventions","\u002Fdocs\u002Fapi-reference\u002Fconventions","docs\u002F12.api-reference\u002F1.conventions",{"title":295,"path":296,"stem":297},"Products & Plans API","\u002Fdocs\u002Fapi-reference\u002Fproducts-and-plans","docs\u002F12.api-reference\u002F2.products-and-plans",{"title":299,"path":300,"stem":301},"Subscriptions API","\u002Fdocs\u002Fapi-reference\u002Fsubscriptions","docs\u002F12.api-reference\u002F3.subscriptions",{"title":303,"path":304,"stem":305},"Invoices API","\u002Fdocs\u002Fapi-reference\u002Finvoices","docs\u002F12.api-reference\u002F4.invoices",{"title":307,"path":308,"stem":309},"Usage & Meters API","\u002Fdocs\u002Fapi-reference\u002Fusage-and-meters","docs\u002F12.api-reference\u002F5.usage-and-meters",{"title":311,"path":312,"stem":313},"Tenants & Teams API","\u002Fdocs\u002Fapi-reference\u002Ftenants-and-teams","docs\u002F12.api-reference\u002F6.tenants-and-teams",{"title":315,"icon":316,"path":317,"stem":318,"children":319,"page":41},"AI-Assisted Development","i-lucide-bot","\u002Fdocs\u002Fai-assisted-development","docs\u002F13.ai-assisted-development",[320,324,341,354,371],{"title":321,"path":322,"stem":323},"AI-Assisted Development Overview","\u002Fdocs\u002Fai-assisted-development\u002Foverview","docs\u002F13.ai-assisted-development\u002F1.overview",{"title":325,"path":326,"stem":327,"children":328,"page":41},"Claude Code","\u002Fdocs\u002Fai-assisted-development\u002Fclaude-code","docs\u002F13.ai-assisted-development\u002F2.claude-code",[329,333,337],{"title":330,"path":331,"stem":332},"CLAUDE.md Configuration","\u002Fdocs\u002Fai-assisted-development\u002Fclaude-code\u002Fclaude-md-configuration","docs\u002F13.ai-assisted-development\u002F2.claude-code\u002F1.claude-md-configuration",{"title":334,"path":335,"stem":336},"Skills System","\u002Fdocs\u002Fai-assisted-development\u002Fclaude-code\u002Fskills-system","docs\u002F13.ai-assisted-development\u002F2.claude-code\u002F2.skills-system",{"title":338,"path":339,"stem":340},"Workplan Execution","\u002Fdocs\u002Fai-assisted-development\u002Fclaude-code\u002Fworkplan-execution","docs\u002F13.ai-assisted-development\u002F2.claude-code\u002F3.workplan-execution",{"title":342,"path":343,"stem":344,"children":345,"page":41},"Codex & Other Agents","\u002Fdocs\u002Fai-assisted-development\u002Fcodex-and-other-agents","docs\u002F13.ai-assisted-development\u002F3.codex-and-other-agents",[346,350],{"title":347,"path":348,"stem":349},"Setup and Configuration","\u002Fdocs\u002Fai-assisted-development\u002Fcodex-and-other-agents\u002Fsetup-and-configuration","docs\u002F13.ai-assisted-development\u002F3.codex-and-other-agents\u002F1.setup-and-configuration",{"title":351,"path":352,"stem":353},"Adapting Conventions","\u002Fdocs\u002Fai-assisted-development\u002Fcodex-and-other-agents\u002Fadapting-conventions","docs\u002F13.ai-assisted-development\u002F3.codex-and-other-agents\u002F2.adapting-conventions",{"title":355,"path":356,"stem":357,"children":358,"page":41},"Architecture for AI Agents","\u002Fdocs\u002Fai-assisted-development\u002Farchitecture-for-ai-agents","docs\u002F13.ai-assisted-development\u002F4.architecture-for-ai-agents",[359,363,367],{"title":360,"path":361,"stem":362},"Convention Files","\u002Fdocs\u002Fai-assisted-development\u002Farchitecture-for-ai-agents\u002Fconvention-files","docs\u002F13.ai-assisted-development\u002F4.architecture-for-ai-agents\u002F1.convention-files",{"title":364,"path":365,"stem":366},"AI Guardrails","\u002Fdocs\u002Fai-assisted-development\u002Farchitecture-for-ai-agents\u002Fai-guardrails","docs\u002F13.ai-assisted-development\u002F4.architecture-for-ai-agents\u002F2.ai-guardrails",{"title":368,"path":369,"stem":370},"Context Management","\u002Fdocs\u002Fai-assisted-development\u002Farchitecture-for-ai-agents\u002Fcontext-management","docs\u002F13.ai-assisted-development\u002F4.architecture-for-ai-agents\u002F3.context-management",{"title":372,"path":373,"stem":374,"children":375,"page":41},"Extending","\u002Fdocs\u002Fai-assisted-development\u002Fextending","docs\u002F13.ai-assisted-development\u002F5.extending",[376,380],{"title":377,"path":378,"stem":379},"Writing Custom Skills","\u002Fdocs\u002Fai-assisted-development\u002Fextending\u002Fwriting-custom-skills","docs\u002F13.ai-assisted-development\u002F5.extending\u002F1.writing-custom-skills",{"title":381,"path":382,"stem":383},"Prompt Patterns","\u002Fdocs\u002Fai-assisted-development\u002Fextending\u002Fprompt-patterns","docs\u002F13.ai-assisted-development\u002F5.extending\u002F2.prompt-patterns",{"title":385,"icon":386,"path":387,"stem":388,"children":389,"page":41},"Customization","i-lucide-paintbrush","\u002Fdocs\u002Fcustomization","docs\u002F14.customization",[390,394,398],{"title":391,"path":392,"stem":393},"Adding a Feature","\u002Fdocs\u002Fcustomization\u002Fadding-a-feature","docs\u002F14.customization\u002F1.adding-a-feature",{"title":395,"path":396,"stem":397},"Custom Billing Logic","\u002Fdocs\u002Fcustomization\u002Fcustom-billing-logic","docs\u002F14.customization\u002F2.custom-billing-logic",{"title":399,"path":400,"stem":401},"Extending the Frontend","\u002Fdocs\u002Fcustomization\u002Fextending-the-frontend","docs\u002F14.customization\u002F3.extending-the-frontend",1775740965923]