{"version":1,"generatedAt":"2026-03-27T15:25:12.225Z","scope":["(common)","web/(root)","web/features","mobile/(root)","mobile/features"],"capabilities":[{"id":"agent_rules_contract","title":"AI Agent Rules","description":"Canonical cross-agent execution contract for implementing features with docs + kit + examples.","pageUrl":"/docs/ai-agent-rules","llmUrl":"/llms.mdx/ai-agent-rules","sourcePath":"(common)/ai-agent-rules.mdx","relatedPageUrls":["/docs/mcp-server"],"entrypoints":["docs/agent-rules/creatorem-agent-rules.contract.v1.json","AGENTS.md","CLAUDE.md",".cursor/rules/creatorem-agent-rules.mdc",".windsurfrules","docs/agent-rules/adapters/generic-agent-rules.md","apps/creatorem/scripts/generate-agent-rules.mts","apps/creatorem/scripts/check-agent-rules.mts","apps/creatorem/app/mcp-index.json/route.ts","apps/creatorem/app/llms.mdx/[...slug]/route.ts"],"inputs":["coding_task","capability_selection"],"outputs":["deterministic_agent_execution_rules","synchronized_agent_adapter_files"],"constraints":["canonical contract is the only editable source for adapter content","capability IDs referenced by rules must exist in mcp-index","path references in contract must resolve in repository"],"sideEffects":["adapter files are regenerated from canonical contract"]},{"id":"analytics_integration","title":"Analytics","description":"Track page views and events with pluggable analytics providers.","pageUrl":"/docs/web/features/analytics","llmUrl":"/llms.mdx/web/features/analytics","sourcePath":"web/features/analytics/index.mdx","relatedPageUrls":["/docs/web/features/analytics/google-analytics"],"entrypoints":["apps/dashboard/config/analytics.config.ts","kit/analytics/core/src/config.ts","kit/analytics/core/src/www/filters/use-filters.tsx","kit/organization/src/shared/filters/use-filters-with-organization.ts","apps/dashboard/hooks/use-filters.ts","apps/dashboard/components/providers/app-provider.tsx"],"inputs":["provider_list"],"outputs":["analytics_provider_runtime"],"constraints":["provider key must exist in analytics provider registry"],"sideEffects":["emits tracking events to external analytics providers"]},{"id":"app_configuration","title":"Configuration","description":"Core config files that control behavior across the web apps.","pageUrl":"/docs/web/configuration","llmUrl":"/llms.mdx/web/configuration","sourcePath":"web/(root)/configuration.mdx","relatedPageUrls":["/docs/web"],"entrypoints":["apps/dashboard/config/","apps/dashboard/lib/init-*.ts","apps/dashboard/hooks/use-filters.ts","packages/shared/src/config/"],"inputs":["desired_feature_behavior"],"outputs":["updated_app_runtime_configuration"],"constraints":["config and filters must stay consistent","shared routes/languages should be imported from @kit/shared"],"sideEffects":["changes runtime behavior across auth/settings/billing/etc."]},{"id":"ask_ai_ui","title":"AskAI","description":"Add an AI-assistant launcher tied to markdown/LLM endpoints.","pageUrl":"/docs/web/features/cms/components/ask-ai","llmUrl":"/llms.mdx/web/features/cms/components/ask-ai","sourcePath":"web/features/cms/components/ask-ai.mdx","relatedPageUrls":["/docs/web/features/cms/notion/llms"],"entrypoints":["@kit/cms/ui/ask-ai"],"inputs":["company_name","markdown_endpoint_url"],"outputs":["external_ai_prompt_links"],"constraints":["endpoint URL should return markdown/plain text content"],"sideEffects":["opens third-party AI websites"]},{"id":"auth_mobile_integration","title":"Integration","description":"Implement @kit/auth native flows in a custom Expo app using the apps/mobile architecture.","pageUrl":"/docs/mobile/features/authentication/integration","llmUrl":"/llms.mdx/mobile/features/authentication/integration","sourcePath":"mobile/features/authentication/integration.mdx","relatedPageUrls":["/docs/mobile/features/authentication"],"entrypoints":["apps/mobile/app/(app)/_layout.tsx","apps/mobile/app/auth/(auth)/[path]/index.tsx","apps/mobile/config/auth.config.ts","apps/mobile/hooks/use-filters.ts","apps/mobile/config/i18n.config.ts","kit/auth/src/native/filters/use-filters/use-translation-filters.tsx"],"inputs":["auth_config_object","expo_router_paths"],"outputs":["guarded_native_auth_routes"],"constraints":["urls in auth config must match real expo router routes","signed-out state must redirect to auth welcome path"],"sideEffects":["redirects users between auth and app stacks"]},{"id":"auth_mobile_settings_ui","title":"User Settings","description":"Integrate auth-related controls into mobile settings pages.","pageUrl":"/docs/mobile/features/authentication/user-settings","llmUrl":"/llms.mdx/mobile/features/authentication/user-settings","sourcePath":"mobile/features/authentication/user-settings.mdx","relatedPageUrls":["/docs/mobile/features/settings"],"entrypoints":["apps/mobile/config/settings.ui.config.tsx","apps/mobile/app/(app)/screens/settings-menu.tsx","apps/mobile/app/(app)/screens/settings/[...settings]/index.tsx","apps/mobile/hooks/use-filters.ts","apps/mobile/config/i18n.config.ts","kit/organization/src/native/filters/use-filters/use-settings-filters.tsx","kit/auth/src/native/filters/use-filters/use-translation-filters.tsx"],"inputs":["auth_config","client_trpc"],"outputs":["auth_management_sections_in_settings"],"constraints":["components must run under authenticated context","settings route params must match configured settings slugs"],"sideEffects":["can terminate sessions or trigger account-destructive actions"]},{"id":"auth_mobile_setup","title":"Authentication","description":"Configure native authentication flows for apps/mobile using @kit/auth and Supabase Auth.","pageUrl":"/docs/mobile/features/authentication","llmUrl":"/llms.mdx/mobile/features/authentication","sourcePath":"mobile/features/authentication/index.mdx","relatedPageUrls":["/docs/mobile/features/authentication/integration"],"entrypoints":["apps/mobile/config/auth.config.ts","apps/mobile/app/(app)/_layout.tsx","apps/mobile/hooks/use-filters.ts","apps/mobile/config/i18n.config.ts","kit/auth/src/native/filters/use-filters/use-translation-filters.tsx","supabase/config.toml"],"inputs":["auth_provider_selection","supabase_provider_credentials"],"outputs":["native_authentication_flow"],"constraints":["provider config must match supabase enabled providers","apps/dashboard API must be reachable for db user bootstrap"],"sideEffects":["user session creation and refresh"]},{"id":"auth_mobile_user_access","title":"Retrieve User","description":"Fetch and provide authenticated DB user data in native app flows.","pageUrl":"/docs/mobile/features/authentication/retrieve-user","llmUrl":"/llms.mdx/mobile/features/authentication/retrieve-user","sourcePath":"mobile/features/authentication/retrieve-user.mdx","relatedPageUrls":["/docs/mobile/features/authentication"],"entrypoints":["apps/mobile/app/(app)/_layout.tsx","apps/mobile/app/onboarding/_layout.tsx","apps/mobile/utils/trpc-client.ts"],"inputs":["authenticated_session"],"outputs":["db_user_context"],"constraints":["getUser query requires reachable dashboard TRPC endpoint","useUser must be called under UserProvider"],"sideEffects":["route gating based on user fields"]},{"id":"auth_settings_ui","title":"User Settings","description":"Expose auth-related account controls inside settings pages.","pageUrl":"/docs/web/features/authentication/user-settings","llmUrl":"/llms.mdx/web/features/authentication/user-settings","sourcePath":"web/features/authentication/user-settings.mdx","relatedPageUrls":["/docs/web/features/settings"],"entrypoints":["@kit/auth/www/user","apps/dashboard/config/settings.ui.config.tsx","kit/organization/src/www/filters/use-filters/use-settings-filters.tsx","kit/auth/src/www/filters/cross-env-filters.ts","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-cross-env-filters.ts"],"inputs":["auth_config","client_trpc"],"outputs":["interactive_auth_controls_in_settings"],"constraints":["components should be rendered inside authenticated context"],"sideEffects":["can terminate sessions, modify auth factors, or trigger destructive actions"]},{"id":"auth_user_access","title":"Retrieve User","description":"Access authenticated user data on server and client.","pageUrl":"/docs/web/features/authentication/retrieve-user","llmUrl":"/llms.mdx/web/features/authentication/retrieve-user","sourcePath":"web/features/authentication/retrieve-user.mdx","relatedPageUrls":["/docs/web/features/authentication"],"entrypoints":["@kit/shared/server/get-db-client","@kit/auth/shared/user (UserProvider, useUser)"],"inputs":["authenticated_request_context"],"outputs":["current_user_record"],"constraints":["use app user table abstraction (`db.user.*`)"],"sideEffects":["none"]},{"id":"auth_web_integration","title":"Integration","description":"Step-by-step auth integration for an existing web app.","pageUrl":"/docs/web/features/authentication/integration","llmUrl":"/llms.mdx/web/features/authentication/integration","sourcePath":"web/features/authentication/integration.mdx","relatedPageUrls":["/docs/web/features/authentication"],"entrypoints":["proxy.ts","app/auth/[path]/page.tsx","app/auth/callback/route.ts","app/layout.tsx","kit/organization/src/www/filters/use-filters/use-auth-filters.tsx","kit/auth/src/www/filters/cross-env-filters.ts","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-cross-env-filters.ts"],"inputs":["auth_config"],"outputs":["authenticated_route_guarding"],"constraints":["proxy matcher must include protected pages"],"sideEffects":["redirects unauthenticated users to auth pages"]},{"id":"auth_web_setup","title":"Authentication","description":"Web authentication architecture using Supabase and @kit/auth.","pageUrl":"/docs/web/features/authentication","llmUrl":"/llms.mdx/web/features/authentication","sourcePath":"web/features/authentication/index.mdx","relatedPageUrls":["/docs/web/features/authentication/integration"],"entrypoints":["apps/dashboard/config/auth.config.ts","apps/dashboard/app/auth/[path]/page.tsx","apps/dashboard/app/api/auth-email-webhook/route.ts","kit/auth/src/config.ts","kit/auth/src/www/filters/cross-env-filters.ts","kit/organization/src/www/filters/use-filters/use-auth-filters.tsx","apps/dashboard/lib/init-cross-env-filters.ts","apps/dashboard/hooks/use-filters.ts"],"inputs":["auth_providers","urls_and_scope_patterns"],"outputs":["sign_in_sign_up_and_callback_flow"],"constraints":["provider setup must also be enabled in Supabase project"],"sideEffects":["manages user sessions and auth state transitions"]},{"id":"billing_core","title":"Billing","description":"Subscriptions, checkout, invoices, and wallet flows with @kit/billing.","pageUrl":"/docs/web/features/billing","llmUrl":"/llms.mdx/web/features/billing","sourcePath":"web/features/billing/index.mdx","relatedPageUrls":["/docs/web/features/billing/integration"],"entrypoints":["apps/dashboard/config/billing.config*.ts","kit/billing/core/src/www/filters/use-filters.ts","kit/billing/core/src/www/filters/use-filters/use-settings-filters.tsx","kit/billing/core/src/www/filters/cross-env-filters.ts","kit/organization/src/www/filters/server-filters.ts","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-cross-env-filters.ts","apps/dashboard/lib/init-server-filters.ts","kit/billing/types/src/create-billing-schema.ts"],"inputs":["provider","product_ids"],"outputs":["billing_ui_and_server_behavior"],"constraints":["product IDs must exist in selected provider dashboard"],"sideEffects":["creates checkout sessions and subscription lifecycle events"]},{"id":"billing_integration","title":"Integration","description":"End-to-end billing integration checklist for web apps.","pageUrl":"/docs/web/features/billing/integration","llmUrl":"/llms.mdx/web/features/billing/integration","sourcePath":"web/features/billing/integration.mdx","relatedPageUrls":["/docs/web/features/billing"],"entrypoints":["apps/dashboard/config/billing.config*.ts","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-cross-env-filters.ts","apps/dashboard/lib/init-server-filters.ts","kit/billing/core/src/www/filters/use-filters/use-settings-filters.tsx","kit/billing/core/src/www/filters/cross-env-filters.ts","kit/organization/src/www/filters/server-filters.ts","apps/dashboard/app/api/billing/webhook/route.ts"],"inputs":["provider_keys","product_catalog"],"outputs":["checkout_and_subscription_workflow"],"constraints":["webhook endpoint must be configured in provider dashboard"],"sideEffects":["updates subscription and wallet state"]},{"id":"billing_pricing_ui","title":"Pricing","description":"Pricing UI components and server helpers from @kit/billing.","pageUrl":"/docs/web/features/billing/pricing","llmUrl":"/llms.mdx/web/features/billing/pricing","sourcePath":"web/features/billing/pricing.mdx","relatedPageUrls":["/docs/web/features/billing"],"entrypoints":["@kit/billing/pricing","kit/billing/core/src/react/pricing/*"],"inputs":["billing_config"],"outputs":["pricing_page_ui"],"constraints":["pricing data depends on provider product synchronization"],"sideEffects":["may start checkout when user triggers plan CTA"]},{"id":"billing_settings_ui","title":"User Settings","description":"Billing account, invoices, and subscriptions inside settings.","pageUrl":"/docs/web/features/billing/user-settings","llmUrl":"/llms.mdx/web/features/billing/user-settings","sourcePath":"web/features/billing/user-settings.mdx","relatedPageUrls":["/docs/web/features/billing"],"entrypoints":["kit/billing/core/src/www/filters/use-filters/use-settings-filters.tsx","kit/billing/core/src/www/filters/cross-env-filters.ts","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-cross-env-filters.ts","kit/billing/core/src/react/billing-page.tsx"],"inputs":["billing_config","client_trpc"],"outputs":["subscriptions_customer_invoices_ui"],"constraints":["user must be authenticated"],"sideEffects":["subscription changes and billing profile updates"]},{"id":"bootstrap_project","title":"Quickstart","description":"Fastest path from clone to running apps.","pageUrl":"/docs/web","llmUrl":"/llms.mdx/web","sourcePath":"web/(root)/index.mdx","relatedPageUrls":["/docs/web/configuration"],"entrypoints":["package.json scripts","apps/*/.env.test"],"inputs":["selected_app"],"outputs":["running_local_app"],"constraints":["docker required for local supabase","app env vars must be present"],"sideEffects":["installs dependencies","starts local services"]},{"id":"captcha_protection","title":"Captcha","description":"Protect server actions and forms with captcha verification.","pageUrl":"/docs/web/features/authentication/_captcha","llmUrl":"/llms.mdx/web/features/authentication/_captcha","sourcePath":"web/features/authentication/_captcha.mdx","relatedPageUrls":["/docs/web/features/authentication"],"entrypoints":["@kit/auth/www/captcha/client","@kit/auth/www/captcha/server"],"inputs":["captcha_token"],"outputs":["allow_or_block_action"],"constraints":["server-side secret must be configured"],"sideEffects":["rejected requests when captcha verification fails"]},{"id":"cms_architecture","title":"CMS","description":"Content workflows powered by Fumadocs and Notion integrations.","pageUrl":"/docs/web/features/cms","llmUrl":"/llms.mdx/web/features/cms","sourcePath":"web/features/cms/index.mdx","relatedPageUrls":["/docs/web/features/cms/fumadocs"],"entrypoints":["@kit/fumadocs","@kit/notion","@kit/cms"],"inputs":["content_source_choice"],"outputs":["documentation_or_blog_runtime"],"constraints":["notion mode requires Notion credentials and schema mapping"],"sideEffects":["external API requests in Notion mode"]},{"id":"database_workflow","title":"Database","description":"Supabase + SQL workflow used by the kit.","pageUrl":"/docs/database","llmUrl":"/llms.mdx/database","sourcePath":"(common)/database.mdx","relatedPageUrls":["/docs/cli"],"entrypoints":["supabase/schemas/","supabase/app-schemas/","supabase/migrations/","creatorem generate-sql","package.json scripts (db:reset, db:types)"],"inputs":["sql_sources","setup_json"],"outputs":["generated_migration_sql","updated_local_database","refreshed_types"],"constraints":["generated migration file should not be edited manually","ordering in supabase/schemas affects merge output"],"sideEffects":["writes SQL files","mutates local db state"]},{"id":"docs_platform","title":"Documentation","description":"How this docs website is structured and how to adapt it for customers.","pageUrl":"/docs/web/features/documentation","llmUrl":"/llms.mdx/web/features/documentation","sourcePath":"web/features/documentation.mdx","relatedPageUrls":["/docs/web/mcp-capabilities"],"entrypoints":["apps/creatorem/source.config.ts","apps/creatorem/content/docs/","apps/creatorem/app/llms.mdx/[...slug]/route.ts","apps/creatorem/app/mcp-index.json/route.ts"],"inputs":["mdx_docs_content"],"outputs":["rendered_docs_and_llm_text_endpoints","generated_mcp_capability_index"],"constraints":["docs tree and metadata must stay coherent"],"sideEffects":["static docs generation"]},{"id":"email_provider_config","title":"Email Providers","description":"Provider-specific environment configuration.","pageUrl":"/docs/web/features/emails/providers","llmUrl":"/llms.mdx/web/features/emails/providers","sourcePath":"web/features/emails/providers.mdx","relatedPageUrls":["/docs/web/features/emails"],"entrypoints":["kit/email/emailer/src/index.ts"],"inputs":["selected_provider","provider_secret"],"outputs":["usable_email_transport"],"constraints":["exactly one provider implementation should be active in exporter"],"sideEffects":["outbound email routed through selected provider"]},{"id":"email_sending","title":"Emails","description":"Configure sending providers and email delivery flow.","pageUrl":"/docs/web/features/emails","llmUrl":"/llms.mdx/web/features/emails","sourcePath":"web/features/emails/index.mdx","relatedPageUrls":["/docs/web/features/emails/providers"],"entrypoints":["kit/email/emailer/src/index.ts","kit/email/email-templates/src/index.ts"],"inputs":["provider_credentials","template_props"],"outputs":["delivered_transactional_email"],"constraints":["provider export must match configured credentials"],"sideEffects":["external email delivery"]},{"id":"email_template_rendering","title":"Email Templates","description":"Render typed React email templates from @kit/email-templates.","pageUrl":"/docs/web/features/emails/templates","llmUrl":"/llms.mdx/web/features/emails/templates","sourcePath":"web/features/emails/templates.mdx","relatedPageUrls":["/docs/web/features/emails"],"entrypoints":["kit/email/email-templates/src/index.ts","kit/email/email-templates/src/templates/*"],"inputs":["template_name","template_props"],"outputs":["html_and_subject"],"constraints":["props must satisfy template-specific types"],"sideEffects":["none (render only)"]},{"id":"filter_api_architecture","title":"Filter API","description":"Typed filter architecture used to compose kit features into apps with high modularity.","pageUrl":"/docs/filters-api","llmUrl":"/llms.mdx/filters-api","sourcePath":"(common)/filters-api.mdx","relatedPageUrls":["/docs/web/configuration"],"entrypoints":["kit/utils/src/filters/list.ts","kit/utils/src/filters/filter-engine.ts","kit/utils/src/filters/client/use-filters.tsx","kit/utils/src/filters/server.ts","kit/utils/src/filters/cross-env.ts","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-server-filters.ts","apps/dashboard/lib/init-cross-env-filters.ts","apps/dashboard/config/i18n.config.ts","apps/mobile/hooks/use-filters.ts","apps/mobile/config/i18n.config.ts"],"inputs":["target_feature_behavior","filter_namespace"],"outputs":["typed_filter_registration_and_app_wiring"],"constraints":["filter slug/params/return must match FilterList","app init entrypoints must enqueue required package filters"],"sideEffects":["runtime behavior is composed from package filters at app boot time"]},{"id":"fumadocs_integration","title":"Fumadocs","description":"Repository-native documentation and MDX rendering with @kit/fumadocs.","pageUrl":"/docs/web/features/cms/fumadocs","llmUrl":"/llms.mdx/web/features/cms/fumadocs","sourcePath":"web/features/cms/fumadocs.mdx","relatedPageUrls":["/docs/web/features/documentation"],"entrypoints":["@kit/fumadocs/mdx-options","@kit/fumadocs/mdx-components","@kit/fumadocs/ui/*"],"inputs":["mdx_content_tree"],"outputs":["rendered_docs_pages"],"constraints":["docs source metadata must be valid"],"sideEffects":["static page generation"]},{"id":"google_analytics_provider","title":"Google Analytics","description":"Configure Google Analytics provider environment variables.","pageUrl":"/docs/web/features/analytics/google-analytics","llmUrl":"/llms.mdx/web/features/analytics/google-analytics","sourcePath":"web/features/analytics/google-analytics.mdx","relatedPageUrls":["/docs/web/features/analytics"],"entrypoints":["kit/analytics/google-analytics/envs.ts"],"inputs":["NEXT_PUBLIC_GA_MEASUREMENT_ID"],"outputs":["ga_tracking_enabled"],"constraints":["measurement id must match GA4 property"],"sideEffects":["client analytics traffic sent to Google Analytics"]},{"id":"i18n_mobile_setup","title":"Translations","description":"Configure i18next translations in apps/mobile with package translation filters.","pageUrl":"/docs/mobile/features/translations","llmUrl":"/llms.mdx/mobile/features/translations","sourcePath":"mobile/features/translations.mdx","relatedPageUrls":["/docs/web/features/translations"],"entrypoints":["apps/mobile/config/i18n.config.ts","apps/mobile/components/providers/root-provider.tsx","apps/mobile/hooks/use-filters.ts","kit/auth/src/native/filters/use-filters/use-translation-filters.tsx","kit/organization/src/native/filters/use-filters/use-translation-filters.tsx","apps/mobile/locales/*"],"inputs":["language_code","namespace"],"outputs":["translated_mobile_ui_strings"],"constraints":["namespace must be declared in i18nConfig.namespaces","resolver should fallback to default language/namespace for missing keys"],"sideEffects":["none"]},{"id":"i18n_usage_patterns","title":"Translation Usage","description":"Practical translation usage for server and client code.","pageUrl":"/docs/web/features/translations/usage","llmUrl":"/llms.mdx/web/features/translations/usage","sourcePath":"web/features/translations/usage.mdx","relatedPageUrls":["/docs/web/features/translations"],"entrypoints":["react-i18next useTranslation","apps/*/lib/i18n.server.ts"],"inputs":["namespace_key","interpolation_values"],"outputs":["localized_string"],"constraints":["namespace key must exist in loaded resources"],"sideEffects":["none"]},{"id":"i18n_web_setup","title":"Translations","description":"i18next integration pattern used across web apps.","pageUrl":"/docs/web/features/translations","llmUrl":"/llms.mdx/web/features/translations","sourcePath":"web/features/translations/index.mdx","relatedPageUrls":["/docs/web/features/translations/usage"],"entrypoints":["apps/dashboard/config/i18n.config.ts","apps/dashboard/lib/init-cross-env-filters.ts","kit/auth/src/www/filters/cross-env-filters.ts","kit/organization/src/www/filters/cross-env-filters.ts","kit/billing/core/src/www/filters/cross-env-filters.ts","kit/keybindings/src/filters/cross-env-filters.ts","kit/ai/src/www/filters/cross-env-filters.ts","kit/*/src/www/filters/cross-env-filters.ts","apps/*/@types/i18next.d.ts","apps/dashboard/lib/i18n.server.ts","@kit/i18n/www/proxy"],"inputs":["languages","namespaces","resolver_function"],"outputs":["translated_ui_strings"],"constraints":["resolver must return namespace dictionary per language"],"sideEffects":["sets i18n header in proxy response"]},{"id":"keybindings_persistence","title":"Keybindings Storage","description":"How keybindings persistence works with settings-backed storage.","pageUrl":"/docs/web/features/keybindings/storage","llmUrl":"/llms.mdx/web/features/keybindings/storage","sourcePath":"web/features/keybindings/storage.mdx","relatedPageUrls":["/docs/web/features/keybindings"],"entrypoints":["kit/keybindings/src/filters/server-filters.ts","kit/keybindings/src/filters/use-filters.tsx","kit/keybindings/src/filters/use-filters-with-ctx.tsx","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-server-filters.ts","kit/keybindings/src/router/*"],"inputs":["action_id","shortcut"],"outputs":["persisted_keybinding_map"],"constraints":["persistence uses settings infrastructure"],"sideEffects":["updates user settings storage"]},{"id":"keybindings_system","title":"Keybindings","description":"Define, display, and persist keyboard shortcuts with @kit/keybindings.","pageUrl":"/docs/web/features/keybindings","llmUrl":"/llms.mdx/web/features/keybindings","sourcePath":"web/features/keybindings/index.mdx","relatedPageUrls":["/docs/web/features/keybindings/storage"],"entrypoints":["apps/dashboard/config/keybindings.config.ts","@kit/keybindings/ui","kit/keybindings/src/filters/use-filters.tsx","kit/keybindings/src/filters/use-filters-with-ctx.tsx","kit/keybindings/src/filters/server-filters.ts","kit/keybindings/src/filters/cross-env-filters.ts","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-server-filters.ts","apps/dashboard/lib/init-cross-env-filters.ts"],"inputs":["keybinding_action_map"],"outputs":["active_keyboard_shortcuts"],"constraints":["action IDs must exist in model","avoid collisions with browser/system shortcuts"],"sideEffects":["user shortcut updates may be persisted in settings storage"]},{"id":"language_selector_ui","title":"Language Selector","description":"Reusable language switcher component from @kit/i18n.","pageUrl":"/docs/web/features/translations/language-selector","llmUrl":"/llms.mdx/web/features/translations/language-selector","sourcePath":"web/features/translations/language-selector.mdx","relatedPageUrls":["/docs/web/features/translations"],"entrypoints":["@kit/i18n/www/ui/language-selector"],"inputs":["supported_languages","optional_routing_mode"],"outputs":["locale_switch_interaction"],"constraints":["must be inside i18n provider context"],"sideEffects":["may reload page or change route locale segment"]},{"id":"mcp_doc_index","title":"MCP Capabilities","description":"Stable capability map for coding agents consuming this documentation.","pageUrl":"/docs/web/mcp-capabilities","llmUrl":"/llms.mdx/web/mcp-capabilities","sourcePath":"web/(root)/mcp-capabilities.mdx","relatedPageUrls":["/docs/web"],"entrypoints":["/docs/web/mcp-capabilities","/llms.mdx/[...slug]","/mcp-index.json"],"inputs":["capability_id"],"outputs":["doc_urls_for_retrieval"],"constraints":["capability ids should remain stable for MCP clients"],"sideEffects":["none"]},{"id":"mcp_server_integration","title":"MCP Server","description":"Installable bridge that lets coding agents query Creatorem docs capabilities and page content.","pageUrl":"/docs/mcp-server","llmUrl":"/llms.mdx/mcp-server","sourcePath":"(common)/mcp-server.mdx","relatedPageUrls":["/docs/web/mcp-capabilities"],"entrypoints":["packages/mcp-server/src/cli.ts","packages/mcp-server/src/tools.ts","apps/creatorem/content/.generated/mcp-index.json","apps/creatorem/app/mcp-index.json/route.ts","apps/creatorem/app/llms.mdx/[...slug]/route.ts"],"inputs":["mcp_client_configuration","docs_base_url"],"outputs":["structured_docs_capability_retrieval","llm_ready_page_content_for_agents"],"constraints":["requires Node.js 20+","docs endpoints must be reachable from MCP client runtime"],"sideEffects":["outbound HTTP calls to docs endpoints"]},{"id":"mobile_bootstrap","title":"Quickstart","description":"Fastest path from clone to running the mobile app with dashboard API and local Supabase.","pageUrl":"/docs/mobile","llmUrl":"/llms.mdx/mobile","sourcePath":"mobile/(root)/index.mdx","relatedPageUrls":["/docs/web"],"entrypoints":["apps/mobile/.env.test","apps/mobile/package.json","apps/dashboard/app/api/trpc/[trpc]/route.ts"],"inputs":["target_platform","local_env_values"],"outputs":["running_mobile_app"],"constraints":["apps/dashboard must run for API-backed mobile flows","docker is required for local supabase"],"sideEffects":["starts local services and dev servers"]},{"id":"monitoring_setup","title":"Monitoring","description":"Error and request monitoring with @kit/monitoring and Sentry.","pageUrl":"/docs/web/features/monitoring","llmUrl":"/llms.mdx/web/features/monitoring","sourcePath":"web/features/monitoring.mdx","relatedPageUrls":["/docs/web/features/analytics"],"entrypoints":["apps/dashboard/instrumentation.ts","kit/monitoring/src/www/filters/use-filters.tsx","kit/monitoring/src/www/filters/use-filters-with-ctx.tsx","apps/dashboard/hooks/use-filters.ts","apps/dashboard/components/providers/app-provider.tsx","kit/monitoring/envs.ts"],"inputs":["sentry_credentials"],"outputs":["runtime_error_capture"],"constraints":["dsn and auth token must match Sentry project/org"],"sideEffects":["sends errors and traces to monitoring provider"]},{"id":"notion_content_backend","title":"Notion","description":"Configure Notion as a typed content backend.","pageUrl":"/docs/web/features/cms/notion","llmUrl":"/llms.mdx/web/features/cms/notion","sourcePath":"web/features/cms/notion/index.mdx","relatedPageUrls":["/docs/web/features/cms/notion/llms"],"entrypoints":["@kit/notion/config","@kit/notion/client","@kit/notion/api"],"inputs":["integration_secret","content_type_schema_mapping"],"outputs":["typed_notion_content"],"constraints":["each content type must satisfy required fields (slug/title or roadmap rules)"],"sideEffects":["Notion API read traffic"]},{"id":"notion_markdown_export","title":"LLMs","description":"Expose content as markdown endpoints for AI tooling.","pageUrl":"/docs/web/features/cms/notion/llms","llmUrl":"/llms.mdx/web/features/cms/notion/llms","sourcePath":"web/features/cms/notion/llms.mdx","relatedPageUrls":["/docs/web/features/cms/components/ask-ai"],"entrypoints":["@kit/notion/api#createMarkdownExportHandler"],"inputs":["slug","content_type_key"],"outputs":["markdown_response"],"constraints":["content type key must exist in notion config"],"sideEffects":["Notion content fetch on each request"]},{"id":"notion_search","title":"Search","description":"Add searchable Notion content UI and API routes.","pageUrl":"/docs/web/features/cms/notion/search","llmUrl":"/llms.mdx/web/features/cms/notion/search","sourcePath":"web/features/cms/notion/search.mdx","relatedPageUrls":["/docs/web/features/cms/notion"],"entrypoints":["@kit/notion/api#createNotionSearchHandler","@kit/notion/ui/search-dialog"],"inputs":["query","content_type"],"outputs":["ranked_search_results"],"constraints":["search endpoint expects POST body schema"],"sideEffects":["Notion query traffic"]},{"id":"onboarding_flow","title":"Onboarding","description":"Customize the web onboarding flow with typed schema, step configuration, and filters.","pageUrl":"/docs/web/features/onboarding","llmUrl":"/llms.mdx/web/features/onboarding","sourcePath":"web/features/onboarding.mdx","relatedPageUrls":["/docs/web/features/authentication"],"entrypoints":["apps/dashboard/config/onboarding.config.tsx","apps/dashboard/app/onboarding/page.tsx","apps/dashboard/app/onboarding/page.client.tsx","apps/dashboard/app/onboarding/[onboardingPath]/page.client.tsx","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-server-filters.ts","kit/organization/src/shared/filters/use-filters/use-onboarding-filters.tsx","kit/organization/src/www/filters/server-filters.ts","kit/auth/src/router/update-user.ts"],"inputs":["onboarding_form_values"],"outputs":["updated_user_profile","optional organization/bootstrap data"],"constraints":["flow should run before user has completedOnboarding"],"sideEffects":["updates user data and redirects","may create organization and refresh org membership queries"]},{"id":"onboarding_mobile_flow","title":"Onboarding","description":"Configure and extend the mobile onboarding flow with schema, step config, and filters.","pageUrl":"/docs/mobile/features/onboarding","llmUrl":"/llms.mdx/mobile/features/onboarding","sourcePath":"mobile/features/onboarding.mdx","relatedPageUrls":["/docs/mobile/features/authentication/retrieve-user"],"entrypoints":["apps/mobile/config/onboarding.config.tsx","apps/mobile/app/onboarding/index.tsx","apps/mobile/app/onboarding/[onboardingPath]/index.tsx","apps/mobile/app/(app)/_layout.tsx","apps/mobile/hooks/use-filters.ts","apps/mobile/config/i18n.config.ts","kit/organization/src/shared/filters/use-filters/use-onboarding-filters.tsx","kit/organization/src/native/filters/use-filters/use-onboarding-filters.tsx","kit/organization/src/native/filters/use-filters/use-translation-filters.tsx"],"inputs":["onboarding_schema","onboarding_steps","onboarding_filter_overrides"],"outputs":["gated_onboarding_experience"],"constraints":["user fields in steps must exist in schema","completedOnboarding gating must stay consistent with app layout redirect"],"sideEffects":["updates user profile fields and onboarding completion status"]},{"id":"product_overview","title":"Benefits","description":"Why this codebase exists and what it optimizes for.","pageUrl":"/docs/benefits","llmUrl":"/llms.mdx/benefits","sourcePath":"(common)/benefits.mdx","relatedPageUrls":["/docs/structure"],"entrypoints":["README.md","cli/src/cli.tsx","kit/"],"inputs":["selected_apps","selected_features"],"outputs":["monorepo_with_feature_set"],"constraints":["architecture centered on kit/* reusable modules","apps consume kit APIs rather than reimplementing core logic"],"sideEffects":["creates or reshapes workspace structure"]},{"id":"production_deployment","title":"Deployment","description":"Production deployment flow for Supabase-backed web apps.","pageUrl":"/docs/web/deployment","llmUrl":"/llms.mdx/web/deployment","sourcePath":"web/(root)/deployment.mdx","relatedPageUrls":["/docs/database"],"entrypoints":["package.json db scripts","apps/dashboard/app/api/auth-email-webhook/route.ts","apps/dashboard/app/api/billing/webhook/route.ts"],"inputs":["supabase_project_ref","production_env_vars"],"outputs":["deployed_web_app"],"constraints":["auth redirect urls must match deployed domains","webhook secrets and keys must match provider dashboards"],"sideEffects":["mutates production database and integrations"]},{"id":"project_generation_and_refactor","title":"CLI","description":"Commands to bootstrap and reshape projects with feature-level control.","pageUrl":"/docs/cli","llmUrl":"/llms.mdx/cli","sourcePath":"(common)/cli.mdx","relatedPageUrls":["/docs/database"],"entrypoints":["cli/src/cli.tsx","cli/src/commands/create*.tsx","cli/src/commands/generate-*.mjs"],"inputs":["app_selection","feature_selection","setup_reference"],"outputs":["generated_or_trimmed_monorepo","generated_sql_artifacts"],"constraints":["feature keys must match command-specific feature registries","SQL generation expects supabase directory structure"],"sideEffects":["creates/deletes files","updates workspace deps and manifests"]},{"id":"repo_navigation","title":"Structure","description":"How the monorepo is organized and where to implement each concern.","pageUrl":"/docs/structure","llmUrl":"/llms.mdx/structure","sourcePath":"(common)/structure.mdx","relatedPageUrls":["/docs/benefits"],"entrypoints":["apps/","kit/","packages/shared/","supabase/","cli/"],"inputs":["feature_request"],"outputs":["target_edit_locations"],"constraints":["prefer kit reuse over app duplication","keep app-level code focused on composition/configuration"],"sideEffects":["none"]},{"id":"repo_task_execution","title":"Scripts","description":"Root-level commands you will run every day.","pageUrl":"/docs/scripts","llmUrl":"/llms.mdx/scripts","sourcePath":"(common)/scripts.mdx","relatedPageUrls":["/docs/database"],"entrypoints":["package.json scripts"],"inputs":["task_type"],"outputs":["workspace_build_or_validation_result"],"constraints":["commands assume workspace tooling installed","db tasks assume supabase cli + docker availability"],"sideEffects":["may generate artifacts and cache files"]},{"id":"roadmap_content","title":"Roadmap","description":"Publish product roadmap items from Notion-backed content.","pageUrl":"/docs/web/features/roadmap","llmUrl":"/llms.mdx/web/features/roadmap","sourcePath":"web/features/roadmap.mdx","relatedPageUrls":["/docs/web/features/cms/notion"],"entrypoints":["@kit/notion/config"],"inputs":["roadmap_database_id","roadmap_property_mapping"],"outputs":["roadmap_content_feed"],"constraints":["roadmap mapping must include title + status"],"sideEffects":["Notion API reads"]},{"id":"scroll_to_top_ui","title":"Scroll to Top","description":"Floating button to jump to top of long content pages.","pageUrl":"/docs/web/features/cms/components/scroll-to-top","llmUrl":"/llms.mdx/web/features/cms/components/scroll-to-top","sourcePath":"web/features/cms/components/scroll-to-top.mdx","relatedPageUrls":["/docs/web/features/documentation"],"entrypoints":["@kit/cms/ui/scroll-to-top-button"],"inputs":["page_scroll_position"],"outputs":["jump_to_top_interaction"],"constraints":["should be rendered in a visible fixed/sticky area"],"sideEffects":["scroll position changes"]},{"id":"settings_api_fullstack","title":"Settings","description":"Build typed settings pages and typed settings reads with @kit/settings.","pageUrl":"/docs/web/features/settings","llmUrl":"/llms.mdx/web/features/settings","sourcePath":"web/features/settings/index.mdx","relatedPageUrls":["/docs/settings-package-interest"],"entrypoints":["@kit/settings/schema-config","@kit/settings/server-config","@kit/settings/ui-config","@kit/settings/router","@kit/settings/shared/server/setting-server-model","@kit/settings/shared/server/get-server-settings","@kit/settings/shared (getClientSettings, useClientSettings)","@kit/settings/www/ui (SettingsPages, REGISTERED_SETTINGS_INPUTS)","apps/dashboard/hooks/use-filters.ts","apps/dashboard/lib/init-server-filters.ts","apps/dashboard/lib/init-cross-env-filters.ts","kit/organization/src/www/filters/use-filters/use-settings-filters.tsx","kit/organization/src/www/filters/server-filters.ts","kit/keybindings/src/filters/use-filters.tsx","kit/keybindings/src/filters/server-filters.ts","kit/billing/core/src/www/filters/use-filters/use-settings-filters.tsx","kit/ai/src/www/filters/use-filters/use-settings-filters.tsx","kit/auth/src/www/filters/cross-env-filters.ts","kit/organization/src/www/filters/cross-env-filters.ts","kit/billing/core/src/www/filters/cross-env-filters.ts","kit/keybindings/src/filters/cross-env-filters.ts","kit/ai/src/www/filters/cross-env-filters.ts","@kit/utils/filters/cross-env"],"inputs":["setting_keys","values_payload","app_schema_filter_registration","app_server_provider_registration","custom_inputs_registration","package_translation_namespace_registration"],"outputs":["validated_typed_setting_values","persisted_setting_updates"],"constraints":["keys must exist in schema registered through server filters","client retrieval uses settings router getSettingsValues action"],"sideEffects":["reads settings from configured storage providers","writes settings through updateSettingsForm / SettingServerModel.updateSettings"]},{"id":"settings_architecture","title":"Settings API Interest","description":"Why the settings architecture matters and how it removes duplicate logic.","pageUrl":"/docs/settings-package-interest","llmUrl":"/llms.mdx/settings-package-interest","sourcePath":"(common)/settings-package-interest.mdx","relatedPageUrls":["/docs/web/features/settings"],"entrypoints":["kit/settings/src/shared/server/get-server-settings.ts","kit/settings/src/shared/client/get-client-settings.ts","kit/settings/src/shared/client/use-client-settings.ts","app/lib/init-server-filters.ts"],"inputs":["setting_keys","schema_filter_registration"],"outputs":["typed_settings_values"],"constraints":["schema keys must be registered via server filter before reads","reads with empty key arrays return empty object"],"sideEffects":["none for reads"]},{"id":"settings_mobile_ui","title":"Settings","description":"Build native settings navigation and pages with @kit/settings in apps/mobile.","pageUrl":"/docs/mobile/features/settings","llmUrl":"/llms.mdx/mobile/features/settings","sourcePath":"mobile/features/settings/index.mdx","relatedPageUrls":["/docs/settings-package-interest"],"entrypoints":["apps/mobile/config/settings.ui.config.tsx","apps/mobile/app/(app)/screens/settings-menu.tsx","apps/mobile/app/(app)/screens/settings/[...settings]/index.tsx","apps/mobile/hooks/use-settings-ui-config.ts","apps/mobile/hooks/use-filters.ts","kit/organization/src/native/filters/use-filters/use-settings-filters.tsx","apps/dashboard/lib/init-server-filters.ts","kit/organization/src/www/filters/server-filters.ts"],"inputs":["settings_ui_config","settings_route_params","extra_input_components"],"outputs":["native_settings_navigation_and_forms"],"constraints":["settings slugs must match navigation routes","settings schema keys used in forms must exist in effective settings schema"],"sideEffects":["updates user/organization settings via settings API routes"]},{"id":"toc_ui","title":"Table of Contents","description":"TOC components for structured long-form content navigation.","pageUrl":"/docs/web/features/cms/components/toc","llmUrl":"/llms.mdx/web/features/cms/components/toc","sourcePath":"web/features/cms/components/toc.mdx","relatedPageUrls":["/docs/web/features/documentation"],"entrypoints":["@kit/cms/ui/toc"],"inputs":["table_of_contents_data"],"outputs":["heading_navigation_ui"],"constraints":["TOC item structure must match expected type"],"sideEffects":["updates active heading state during scroll"]},{"id":"umami_provider","title":"Umami","description":"Configure Umami analytics provider.","pageUrl":"/docs/web/features/analytics/umami","llmUrl":"/llms.mdx/web/features/analytics/umami","sourcePath":"web/features/analytics/umami.mdx","relatedPageUrls":["/docs/web/features/analytics"],"entrypoints":["kit/analytics/umami/envs.ts"],"inputs":["NEXT_PUBLIC_UMAMI_HOST","NEXT_PUBLIC_UMAMI_WEBSITE_ID"],"outputs":["umami_tracking_enabled"],"constraints":["website id must match configured Umami site"],"sideEffects":["client analytics traffic sent to Umami"]}],"pages":[{"title":"AI Agent Rules","description":"Canonical cross-agent execution contract for implementing features with docs + kit + examples.","pageUrl":"/docs/ai-agent-rules","llmUrl":"/llms.mdx/ai-agent-rules","sourcePath":"(common)/ai-agent-rules.mdx","capability":"agent_rules_contract"},{"title":"Benefits","description":"Why this codebase exists and what it optimizes for.","pageUrl":"/docs/benefits","llmUrl":"/llms.mdx/benefits","sourcePath":"(common)/benefits.mdx","capability":"product_overview"},{"title":"CLI","description":"Commands to bootstrap and reshape projects with feature-level control.","pageUrl":"/docs/cli","llmUrl":"/llms.mdx/cli","sourcePath":"(common)/cli.mdx","capability":"project_generation_and_refactor"},{"title":"Database","description":"Supabase + SQL workflow used by the kit.","pageUrl":"/docs/database","llmUrl":"/llms.mdx/database","sourcePath":"(common)/database.mdx","capability":"database_workflow"},{"title":"Filter API","description":"Typed filter architecture used to compose kit features into apps with high modularity.","pageUrl":"/docs/filters-api","llmUrl":"/llms.mdx/filters-api","sourcePath":"(common)/filters-api.mdx","capability":"filter_api_architecture"},{"title":"MCP Server","description":"Installable bridge that lets coding agents query Creatorem docs capabilities and page content.","pageUrl":"/docs/mcp-server","llmUrl":"/llms.mdx/mcp-server","sourcePath":"(common)/mcp-server.mdx","capability":"mcp_server_integration"},{"title":"Quickstart","description":"Fastest path from clone to running the mobile app with dashboard API and local Supabase.","pageUrl":"/docs/mobile","llmUrl":"/llms.mdx/mobile","sourcePath":"mobile/(root)/index.mdx","capability":"mobile_bootstrap"},{"title":"Authentication","description":"Configure native authentication flows for apps/mobile using @kit/auth and Supabase Auth.","pageUrl":"/docs/mobile/features/authentication","llmUrl":"/llms.mdx/mobile/features/authentication","sourcePath":"mobile/features/authentication/index.mdx","capability":"auth_mobile_setup"},{"title":"Integration","description":"Implement @kit/auth native flows in a custom Expo app using the apps/mobile architecture.","pageUrl":"/docs/mobile/features/authentication/integration","llmUrl":"/llms.mdx/mobile/features/authentication/integration","sourcePath":"mobile/features/authentication/integration.mdx","capability":"auth_mobile_integration"},{"title":"Retrieve User","description":"Fetch and provide authenticated DB user data in native app flows.","pageUrl":"/docs/mobile/features/authentication/retrieve-user","llmUrl":"/llms.mdx/mobile/features/authentication/retrieve-user","sourcePath":"mobile/features/authentication/retrieve-user.mdx","capability":"auth_mobile_user_access"},{"title":"User Settings","description":"Integrate auth-related controls into mobile settings pages.","pageUrl":"/docs/mobile/features/authentication/user-settings","llmUrl":"/llms.mdx/mobile/features/authentication/user-settings","sourcePath":"mobile/features/authentication/user-settings.mdx","capability":"auth_mobile_settings_ui"},{"title":"Onboarding","description":"Configure and extend the mobile onboarding flow with schema, step config, and filters.","pageUrl":"/docs/mobile/features/onboarding","llmUrl":"/llms.mdx/mobile/features/onboarding","sourcePath":"mobile/features/onboarding.mdx","capability":"onboarding_mobile_flow"},{"title":"Settings","description":"Build native settings navigation and pages with @kit/settings in apps/mobile.","pageUrl":"/docs/mobile/features/settings","llmUrl":"/llms.mdx/mobile/features/settings","sourcePath":"mobile/features/settings/index.mdx","capability":"settings_mobile_ui"},{"title":"Translations","description":"Configure i18next translations in apps/mobile with package translation filters.","pageUrl":"/docs/mobile/features/translations","llmUrl":"/llms.mdx/mobile/features/translations","sourcePath":"mobile/features/translations.mdx","capability":"i18n_mobile_setup"},{"title":"Scripts","description":"Root-level commands you will run every day.","pageUrl":"/docs/scripts","llmUrl":"/llms.mdx/scripts","sourcePath":"(common)/scripts.mdx","capability":"repo_task_execution"},{"title":"Settings API Interest","description":"Why the settings architecture matters and how it removes duplicate logic.","pageUrl":"/docs/settings-package-interest","llmUrl":"/llms.mdx/settings-package-interest","sourcePath":"(common)/settings-package-interest.mdx","capability":"settings_architecture"},{"title":"Structure","description":"How the monorepo is organized and where to implement each concern.","pageUrl":"/docs/structure","llmUrl":"/llms.mdx/structure","sourcePath":"(common)/structure.mdx","capability":"repo_navigation"},{"title":"Quickstart","description":"Fastest path from clone to running apps.","pageUrl":"/docs/web","llmUrl":"/llms.mdx/web","sourcePath":"web/(root)/index.mdx","capability":"bootstrap_project"},{"title":"Configuration","description":"Core config files that control behavior across the web apps.","pageUrl":"/docs/web/configuration","llmUrl":"/llms.mdx/web/configuration","sourcePath":"web/(root)/configuration.mdx","capability":"app_configuration"},{"title":"Deployment","description":"Production deployment flow for Supabase-backed web apps.","pageUrl":"/docs/web/deployment","llmUrl":"/llms.mdx/web/deployment","sourcePath":"web/(root)/deployment.mdx","capability":"production_deployment"},{"title":"Analytics","description":"Track page views and events with pluggable analytics providers.","pageUrl":"/docs/web/features/analytics","llmUrl":"/llms.mdx/web/features/analytics","sourcePath":"web/features/analytics/index.mdx","capability":"analytics_integration"},{"title":"Google Analytics","description":"Configure Google Analytics provider environment variables.","pageUrl":"/docs/web/features/analytics/google-analytics","llmUrl":"/llms.mdx/web/features/analytics/google-analytics","sourcePath":"web/features/analytics/google-analytics.mdx","capability":"google_analytics_provider"},{"title":"Umami","description":"Configure Umami analytics provider.","pageUrl":"/docs/web/features/analytics/umami","llmUrl":"/llms.mdx/web/features/analytics/umami","sourcePath":"web/features/analytics/umami.mdx","capability":"umami_provider"},{"title":"Authentication","description":"Web authentication architecture using Supabase and @kit/auth.","pageUrl":"/docs/web/features/authentication","llmUrl":"/llms.mdx/web/features/authentication","sourcePath":"web/features/authentication/index.mdx","capability":"auth_web_setup"},{"title":"Captcha","description":"Protect server actions and forms with captcha verification.","pageUrl":"/docs/web/features/authentication/_captcha","llmUrl":"/llms.mdx/web/features/authentication/_captcha","sourcePath":"web/features/authentication/_captcha.mdx","capability":"captcha_protection"},{"title":"Integration","description":"Step-by-step auth integration for an existing web app.","pageUrl":"/docs/web/features/authentication/integration","llmUrl":"/llms.mdx/web/features/authentication/integration","sourcePath":"web/features/authentication/integration.mdx","capability":"auth_web_integration"},{"title":"Retrieve User","description":"Access authenticated user data on server and client.","pageUrl":"/docs/web/features/authentication/retrieve-user","llmUrl":"/llms.mdx/web/features/authentication/retrieve-user","sourcePath":"web/features/authentication/retrieve-user.mdx","capability":"auth_user_access"},{"title":"User Settings","description":"Expose auth-related account controls inside settings pages.","pageUrl":"/docs/web/features/authentication/user-settings","llmUrl":"/llms.mdx/web/features/authentication/user-settings","sourcePath":"web/features/authentication/user-settings.mdx","capability":"auth_settings_ui"},{"title":"Billing","description":"Subscriptions, checkout, invoices, and wallet flows with @kit/billing.","pageUrl":"/docs/web/features/billing","llmUrl":"/llms.mdx/web/features/billing","sourcePath":"web/features/billing/index.mdx","capability":"billing_core"},{"title":"Integration","description":"End-to-end billing integration checklist for web apps.","pageUrl":"/docs/web/features/billing/integration","llmUrl":"/llms.mdx/web/features/billing/integration","sourcePath":"web/features/billing/integration.mdx","capability":"billing_integration"},{"title":"Pricing","description":"Pricing UI components and server helpers from @kit/billing.","pageUrl":"/docs/web/features/billing/pricing","llmUrl":"/llms.mdx/web/features/billing/pricing","sourcePath":"web/features/billing/pricing.mdx","capability":"billing_pricing_ui"},{"title":"User Settings","description":"Billing account, invoices, and subscriptions inside settings.","pageUrl":"/docs/web/features/billing/user-settings","llmUrl":"/llms.mdx/web/features/billing/user-settings","sourcePath":"web/features/billing/user-settings.mdx","capability":"billing_settings_ui"},{"title":"CMS","description":"Content workflows powered by Fumadocs and Notion integrations.","pageUrl":"/docs/web/features/cms","llmUrl":"/llms.mdx/web/features/cms","sourcePath":"web/features/cms/index.mdx","capability":"cms_architecture"},{"title":"AskAI","description":"Add an AI-assistant launcher tied to markdown/LLM endpoints.","pageUrl":"/docs/web/features/cms/components/ask-ai","llmUrl":"/llms.mdx/web/features/cms/components/ask-ai","sourcePath":"web/features/cms/components/ask-ai.mdx","capability":"ask_ai_ui"},{"title":"Scroll to Top","description":"Floating button to jump to top of long content pages.","pageUrl":"/docs/web/features/cms/components/scroll-to-top","llmUrl":"/llms.mdx/web/features/cms/components/scroll-to-top","sourcePath":"web/features/cms/components/scroll-to-top.mdx","capability":"scroll_to_top_ui"},{"title":"Table of Contents","description":"TOC components for structured long-form content navigation.","pageUrl":"/docs/web/features/cms/components/toc","llmUrl":"/llms.mdx/web/features/cms/components/toc","sourcePath":"web/features/cms/components/toc.mdx","capability":"toc_ui"},{"title":"Fumadocs","description":"Repository-native documentation and MDX rendering with @kit/fumadocs.","pageUrl":"/docs/web/features/cms/fumadocs","llmUrl":"/llms.mdx/web/features/cms/fumadocs","sourcePath":"web/features/cms/fumadocs.mdx","capability":"fumadocs_integration"},{"title":"Notion","description":"Configure Notion as a typed content backend.","pageUrl":"/docs/web/features/cms/notion","llmUrl":"/llms.mdx/web/features/cms/notion","sourcePath":"web/features/cms/notion/index.mdx","capability":"notion_content_backend"},{"title":"LLMs","description":"Expose content as markdown endpoints for AI tooling.","pageUrl":"/docs/web/features/cms/notion/llms","llmUrl":"/llms.mdx/web/features/cms/notion/llms","sourcePath":"web/features/cms/notion/llms.mdx","capability":"notion_markdown_export"},{"title":"Search","description":"Add searchable Notion content UI and API routes.","pageUrl":"/docs/web/features/cms/notion/search","llmUrl":"/llms.mdx/web/features/cms/notion/search","sourcePath":"web/features/cms/notion/search.mdx","capability":"notion_search"},{"title":"Documentation","description":"How this docs website is structured and how to adapt it for customers.","pageUrl":"/docs/web/features/documentation","llmUrl":"/llms.mdx/web/features/documentation","sourcePath":"web/features/documentation.mdx","capability":"docs_platform"},{"title":"Emails","description":"Configure sending providers and email delivery flow.","pageUrl":"/docs/web/features/emails","llmUrl":"/llms.mdx/web/features/emails","sourcePath":"web/features/emails/index.mdx","capability":"email_sending"},{"title":"Email Providers","description":"Provider-specific environment configuration.","pageUrl":"/docs/web/features/emails/providers","llmUrl":"/llms.mdx/web/features/emails/providers","sourcePath":"web/features/emails/providers.mdx","capability":"email_provider_config"},{"title":"Email Templates","description":"Render typed React email templates from @kit/email-templates.","pageUrl":"/docs/web/features/emails/templates","llmUrl":"/llms.mdx/web/features/emails/templates","sourcePath":"web/features/emails/templates.mdx","capability":"email_template_rendering"},{"title":"Keybindings","description":"Define, display, and persist keyboard shortcuts with @kit/keybindings.","pageUrl":"/docs/web/features/keybindings","llmUrl":"/llms.mdx/web/features/keybindings","sourcePath":"web/features/keybindings/index.mdx","capability":"keybindings_system"},{"title":"Keybindings Storage","description":"How keybindings persistence works with settings-backed storage.","pageUrl":"/docs/web/features/keybindings/storage","llmUrl":"/llms.mdx/web/features/keybindings/storage","sourcePath":"web/features/keybindings/storage.mdx","capability":"keybindings_persistence"},{"title":"Monitoring","description":"Error and request monitoring with @kit/monitoring and Sentry.","pageUrl":"/docs/web/features/monitoring","llmUrl":"/llms.mdx/web/features/monitoring","sourcePath":"web/features/monitoring.mdx","capability":"monitoring_setup"},{"title":"Onboarding","description":"Customize the web onboarding flow with typed schema, step configuration, and filters.","pageUrl":"/docs/web/features/onboarding","llmUrl":"/llms.mdx/web/features/onboarding","sourcePath":"web/features/onboarding.mdx","capability":"onboarding_flow"},{"title":"Roadmap","description":"Publish product roadmap items from Notion-backed content.","pageUrl":"/docs/web/features/roadmap","llmUrl":"/llms.mdx/web/features/roadmap","sourcePath":"web/features/roadmap.mdx","capability":"roadmap_content"},{"title":"Settings","description":"Build typed settings pages and typed settings reads with @kit/settings.","pageUrl":"/docs/web/features/settings","llmUrl":"/llms.mdx/web/features/settings","sourcePath":"web/features/settings/index.mdx","capability":"settings_api_fullstack"},{"title":"Translations","description":"i18next integration pattern used across web apps.","pageUrl":"/docs/web/features/translations","llmUrl":"/llms.mdx/web/features/translations","sourcePath":"web/features/translations/index.mdx","capability":"i18n_web_setup"},{"title":"Language Selector","description":"Reusable language switcher component from @kit/i18n.","pageUrl":"/docs/web/features/translations/language-selector","llmUrl":"/llms.mdx/web/features/translations/language-selector","sourcePath":"web/features/translations/language-selector.mdx","capability":"language_selector_ui"},{"title":"Translation Usage","description":"Practical translation usage for server and client code.","pageUrl":"/docs/web/features/translations/usage","llmUrl":"/llms.mdx/web/features/translations/usage","sourcePath":"web/features/translations/usage.mdx","capability":"i18n_usage_patterns"},{"title":"MCP Capabilities","description":"Stable capability map for coding agents consuming this documentation.","pageUrl":"/docs/web/mcp-capabilities","llmUrl":"/llms.mdx/web/mcp-capabilities","sourcePath":"web/(root)/mcp-capabilities.mdx","capability":"mcp_doc_index"}]}