@agent-native/core 0.137.7 → 0.138.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-native.eject.json +2 -0
- package/corpus/README.md +1 -1
- package/corpus/templates/analytics/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/analytics/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +15 -0
- package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/analytics/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/analytics/AGENTS.md +2 -2
- package/corpus/templates/analytics/actions/get-first-party-analytics-health.ts +65 -0
- package/corpus/templates/analytics/actions/provider-api-catalog.ts +3 -6
- package/corpus/templates/analytics/actions/provider-api-docs.ts +3 -6
- package/corpus/templates/analytics/actions/provider-api-request.ts +3 -6
- package/corpus/templates/analytics/actions/query-agent-native-analytics.ts +3 -3
- package/corpus/templates/analytics/agent-native.json +12 -0
- package/corpus/templates/analytics/app/i18n-data.ts +162 -0
- package/corpus/templates/analytics/app/pages/DataSources.tsx +126 -1
- package/corpus/templates/analytics/changelog/2026-08-05-analytics-now-flags-neon-pressure-and-guides-high-volume-tra.md +6 -0
- package/corpus/templates/analytics/changelog/2026-08-05-first-party-analytics-uses-compact-rollups-for-faster-usage-.md +6 -0
- package/corpus/templates/analytics/server/db/schema.ts +52 -0
- package/corpus/templates/analytics/server/lib/credential-keys.ts +3 -0
- package/corpus/templates/analytics/server/lib/first-party-analytics-health.ts +397 -0
- package/corpus/templates/analytics/server/lib/first-party-analytics-rollups.ts +182 -0
- package/corpus/templates/analytics/server/lib/first-party-analytics.ts +86 -15
- package/corpus/templates/analytics/server/lib/provider-api.ts +20 -1
- package/corpus/templates/analytics/server/lib/replay-storage.ts +1 -1
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/analytics/server/plugins/db.ts +60 -0
- package/corpus/templates/assets/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/assets/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/assets/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/assets/agent-native.json +12 -0
- package/corpus/templates/assets/server/lib/generation.ts +8 -8
- package/corpus/templates/assets/server/lib/storage.ts +1 -1
- package/corpus/templates/assets/server/plugins/onboarding.ts +1 -1
- package/corpus/templates/brain/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/brain/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/brain/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/brain/agent-native.json +12 -0
- package/corpus/templates/calendar/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/calendar/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/calendar/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/calendar/agent-native.json +12 -0
- package/corpus/templates/chat/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/chat/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/chat/AGENTS.md +3 -0
- package/corpus/templates/chat/DESIGN.md +28 -0
- package/corpus/templates/chat/agent-native.json +12 -0
- package/corpus/templates/clips/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/clips/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/clips/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/clips/actions/cleanup-transcript.ts +2 -2
- package/corpus/templates/clips/actions/delete-recording-permanent.ts +3 -0
- package/corpus/templates/clips/actions/get-playback-position.ts +68 -0
- package/corpus/templates/clips/actions/import-loom-recording.ts +2 -2
- package/corpus/templates/clips/actions/save-playback-position.ts +80 -0
- package/corpus/templates/clips/actions/set-thumbnail.ts +1 -1
- package/corpus/templates/clips/agent-native.json +12 -0
- package/corpus/templates/clips/app/components/player/video-player.tsx +54 -5
- package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +65 -18
- package/corpus/templates/clips/app/hooks/use-playback-position.ts +188 -0
- package/corpus/templates/clips/app/hooks/use-view-tracking.ts +6 -24
- package/corpus/templates/clips/app/i18n/en-US.ts +4 -0
- package/corpus/templates/clips/app/lib/playback-position.ts +99 -0
- package/corpus/templates/clips/app/lib/viewer-session.ts +29 -0
- package/corpus/templates/clips/changelog/2026-08-05-clip-buffering-now-uses-buffering-copy-after-playback.md +6 -0
- package/corpus/templates/clips/changelog/2026-08-05-clips-remembers-your-playback-position-when-you-reopen-a-cli.md +6 -0
- package/corpus/templates/clips/desktop/package.json +1 -0
- package/corpus/templates/clips/desktop/src/app.tsx +70 -6
- package/corpus/templates/clips/desktop/src/components/AlertDialog.tsx +131 -0
- package/corpus/templates/clips/desktop/src/styles.css +129 -0
- package/corpus/templates/clips/learnings.defaults.md +1 -1
- package/corpus/templates/clips/server/db/schema.ts +18 -0
- package/corpus/templates/clips/server/lib/public-agent-context.ts +1 -1
- package/corpus/templates/clips/server/lib/video-storage.ts +1 -1
- package/corpus/templates/clips/server/plugins/db.ts +15 -0
- package/corpus/templates/clips/server/routes/api/media/index.post.ts +1 -1
- package/corpus/templates/content/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/content/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/content/.agents/skills/document-editing/references/databases.md +13 -0
- package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/content/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/content/AGENTS.md +1 -0
- package/corpus/templates/content/actions/_content-database-mutation-lock.ts +41 -0
- package/corpus/templates/content/actions/_content-database-row-migration.ts +569 -0
- package/corpus/templates/content/actions/_database-source-utils.ts +82 -36
- package/corpus/templates/content/actions/_database-utils.ts +5 -0
- package/corpus/templates/content/actions/_delete-content-space.ts +25 -11
- package/corpus/templates/content/actions/add-database-item.ts +60 -42
- package/corpus/templates/content/actions/attach-content-database-source.ts +2 -0
- package/corpus/templates/content/actions/configure-document-property.ts +99 -104
- package/corpus/templates/content/actions/delete-content-database.ts +19 -7
- package/corpus/templates/content/actions/delete-document-property.ts +47 -58
- package/corpus/templates/content/actions/delete-document.ts +390 -167
- package/corpus/templates/content/actions/disconnect-content-database-source.ts +41 -24
- package/corpus/templates/content/actions/duplicate-database-item.ts +63 -31
- package/corpus/templates/content/actions/duplicate-database-items.ts +86 -43
- package/corpus/templates/content/actions/duplicate-document-property.ts +37 -14
- package/corpus/templates/content/actions/migrate-content-database-rows.ts +830 -0
- package/corpus/templates/content/actions/move-database-item.ts +14 -0
- package/corpus/templates/content/actions/permanently-delete-document.ts +27 -6
- package/corpus/templates/content/actions/remove-database-items.ts +13 -0
- package/corpus/templates/content/actions/reorder-document-property.ts +45 -46
- package/corpus/templates/content/actions/set-document-property.ts +68 -28
- package/corpus/templates/content/actions/submit-content-database-form.ts +49 -0
- package/corpus/templates/content/actions/transcribe-media.ts +1 -1
- package/corpus/templates/content/agent-native.json +12 -0
- package/corpus/templates/content/app/components/editor/image-upload.ts +2 -2
- package/corpus/templates/content/app/i18n-data.ts +1 -1
- package/corpus/templates/content/changelog/2026-08-01-content-can-reorganize-every-row-in-an-existing-database-as-.md +6 -0
- package/corpus/templates/content/parity/matrix.md +1 -1
- package/corpus/templates/content/parity/matrix.ts +4 -2
- package/corpus/templates/content/server/db/schema.ts +30 -0
- package/corpus/templates/content/server/plugins/db.ts +24 -0
- package/corpus/templates/content/server/plugins/onboarding.ts +2 -2
- package/corpus/templates/crm/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/crm/agent-native.json +12 -0
- package/corpus/templates/design/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/design/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +2 -0
- package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/design/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/design/CODE_NATIVE_DESIGN_STUDIO_IMPLEMENTATION_PLAN.md +2 -2
- package/corpus/templates/design/DESIGN-STUDIO-PLAN.md +2 -2
- package/corpus/templates/design/actions/apply-design-token-edit.ts +1 -1
- package/corpus/templates/design/actions/capture-design-state.ts +1 -1
- package/corpus/templates/design/actions/connect-builder-app.ts +2 -2
- package/corpus/templates/design/actions/create-design-branch.ts +1 -1
- package/corpus/templates/design/actions/create-fusion-app.ts +3 -3
- package/corpus/templates/design/actions/deploy-design-preview.ts +1 -1
- package/corpus/templates/design/actions/generate-design.ts +3 -2
- package/corpus/templates/design/actions/get-component-details.ts +1 -1
- package/corpus/templates/design/actions/get-design-branch-diff.ts +1 -1
- package/corpus/templates/design/actions/index-components.ts +3 -3
- package/corpus/templates/design/actions/index-design-system-with-builder.ts +1 -1
- package/corpus/templates/design/actions/migrate-inline-design-to-app.ts +3 -3
- package/corpus/templates/design/actions/open-component-source.ts +1 -1
- package/corpus/templates/design/actions/update-design.ts +96 -14
- package/corpus/templates/design/agent-native.json +12 -0
- package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +7 -2
- package/corpus/templates/design/app/components/design/FigmaHydrationDialog.tsx +11 -2
- package/corpus/templates/design/app/components/design/edit-panel/component-section.tsx +1 -1
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +8 -1
- package/corpus/templates/design/app/i18n-data.ts +53 -22
- package/corpus/templates/design/app/lib/design-file-upload.ts +2 -3
- package/corpus/templates/design/app/lib/upload-limits.ts +4 -0
- package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +1 -1
- package/corpus/templates/design/changelog/2026-08-05-chat-attachments-now-warn-before-upload-when-they-exceed-the.md +6 -0
- package/corpus/templates/design/changelog/2026-08-05-figma-fig-uploads-now-show-a-clear-4-mb-limit-up-front-inste.md +6 -0
- package/corpus/templates/design/scripts/qa-figma-stress-import.ts +1 -1
- package/corpus/templates/design/server/handlers/import-design-file.ts +9 -5
- package/corpus/templates/design/server/handlers/uploads.ts +13 -9
- package/corpus/templates/design/server/lib/fig-file-limits.ts +2 -1
- package/corpus/templates/design/server/lib/figma-image-hydration.ts +1 -1
- package/corpus/templates/design/server/lib/figma-node-import.ts +1 -1
- package/corpus/templates/design/server/lib/request-body-limits.ts +11 -0
- package/corpus/templates/design/shared/canvas-frames.ts +81 -0
- package/corpus/templates/design/shared/design-source-capabilities.ts +25 -9
- package/corpus/templates/dispatch/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/dispatch/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/dispatch/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/dispatch/agent-native.json +12 -0
- package/corpus/templates/factory/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/factory/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/factory/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/factory/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/factory/agent-native.json +12 -0
- package/corpus/templates/forms/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/forms/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/forms/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/forms/actions/export-responses.ts +1 -1
- package/corpus/templates/forms/agent-native.json +12 -0
- package/corpus/templates/macros/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/macros/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/macros/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/macros/agent-native.json +12 -0
- package/corpus/templates/mail/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/mail/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/mail/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/mail/agent-native.json +12 -0
- package/corpus/templates/mail/app/i18n/en-US.ts +1 -1
- package/corpus/templates/mail/server/lib/media-upload.ts +1 -1
- package/corpus/templates/plan/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/plan/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/plan/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/plan/agent-native.json +12 -0
- package/corpus/templates/plan/server/lib/plan-assets.ts +1 -1
- package/corpus/templates/slides/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/slides/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/slides/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/slides/actions/generate-image-api.ts +1 -1
- package/corpus/templates/slides/actions/generate-slides-ai.ts +1 -1
- package/corpus/templates/slides/actions/import-file.ts +2 -2
- package/corpus/templates/slides/actions/index-design-system-with-builder.ts +1 -1
- package/corpus/templates/slides/agent-native.json +12 -0
- package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +1 -1
- package/corpus/templates/slides/app/i18n/en-US.ts +2 -2
- package/corpus/templates/slides/app/lib/deck-sorting.ts +19 -0
- package/corpus/templates/slides/app/lib/image-drop-to-agent.ts +1 -1
- package/corpus/templates/slides/app/pages/Index.tsx +7 -2
- package/corpus/templates/slides/changelog/2026-08-05-decks-are-now-sorted-by-most-recently-updated.md +6 -0
- package/corpus/templates/slides/server/handlers/assets.ts +1 -1
- package/corpus/templates/slides/server/handlers/uploads.ts +1 -1
- package/corpus/templates/tasks/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/corpus/templates/tasks/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +23 -2
- package/corpus/templates/tasks/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/tasks/agent-native.json +12 -0
- package/dist/action.d.ts +6 -0
- package/dist/agent/engine/builder-engine.js +2 -2
- package/dist/agent/engine/credential-errors.d.ts +1 -1
- package/dist/agent/engine/credential-errors.js +2 -2
- package/dist/agent/production-agent.js +3 -2
- package/dist/brand-kit/fig/index.js +1 -1
- package/dist/cli/agent.js +45 -3
- package/dist/cli/code-agent-executor.js +2 -1
- package/dist/cli/create.d.ts +9 -1
- package/dist/cli/create.js +94 -1
- package/dist/cli/doctor.d.ts +8 -11
- package/dist/cli/doctor.js +92 -24
- package/dist/cli/index.js +6 -5
- package/dist/client/AgentAskPopover.d.ts +3 -1
- package/dist/client/AgentAskPopover.js +2 -2
- package/dist/client/AgentPanel.js +9 -3
- package/dist/client/AssistantChat.js +54 -33
- package/dist/client/MultiTabAssistantChat.js +1 -1
- package/dist/client/RouteTransitionIndicator.d.ts +7 -0
- package/dist/client/RouteTransitionIndicator.js +31 -0
- package/dist/client/agent-engine-key.js +1 -1
- package/dist/client/app-providers.js +11 -2
- package/dist/client/chat/message-components.js +1 -1
- package/dist/client/chat/run-recovery.js +1 -1
- package/dist/client/chat/tool-call-display.d.ts +3 -1
- package/dist/client/chat/tool-call-display.js +4 -3
- package/dist/client/chat-model-groups.d.ts +6 -0
- package/dist/client/chat-model-groups.js +11 -0
- package/dist/client/error-format.js +1 -1
- package/dist/client/i18n.js +1 -1
- package/dist/client/onboarding/FirstRunOnboarding.d.ts +5 -1
- package/dist/client/onboarding/FirstRunOnboarding.js +29 -13
- package/dist/client/onboarding/first-run-enabled.d.ts +6 -1
- package/dist/client/onboarding/first-run-enabled.js +33 -3
- package/dist/client/onboarding/use-onboarding.js +16 -11
- package/dist/client/require-session.js +13 -4
- package/dist/client/resources/mcp-integration-catalog.js +26 -0
- package/dist/client/resources/mcp-integration-logos.js +4 -0
- package/dist/client/route-warmup.js +56 -10
- package/dist/client/settings/AccountSettingsCard.js +78 -3
- package/dist/client/settings/SettingsPanel.js +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +2 -2
- package/dist/client/settings/useBuilderStatus.js +1 -1
- package/dist/client/setup-connections/useBuilderConnectCardController.js +1 -1
- package/dist/client/ui/index.d.ts +1 -0
- package/dist/client/ui/index.js +1 -0
- package/dist/client/uploads/upload-editor-image.js +1 -1
- package/dist/client/use-chat-threads.js +3 -0
- package/dist/client/use-session.d.ts +11 -0
- package/dist/client/use-session.js +34 -6
- package/dist/collab/routes.d.ts +2 -2
- package/dist/config.d.ts +48 -0
- package/dist/config.js +111 -0
- package/dist/db/migrations.js +5 -0
- package/dist/eject/provider-api-definitions.d.ts +1 -1
- package/dist/eject/provider-api-definitions.js +1 -0
- package/dist/eject/remote-mcp-presets.js +1 -0
- package/dist/extensions/web-search-tool.js +2 -2
- package/dist/file-upload/actions/upload-image.js +1 -1
- package/dist/file-upload/registry.js +1 -1
- package/dist/guards/index.d.ts +3 -0
- package/dist/guards/index.js +2 -0
- package/dist/guards/no-empty-migrations.d.ts +14 -0
- package/dist/guards/no-empty-migrations.js +126 -0
- package/dist/index.browser.d.ts +1 -0
- package/dist/index.browser.js +3 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/localization/default-messages.d.ts +24 -0
- package/dist/localization/default-messages.js +26 -2
- package/dist/notifications/routes.d.ts +6 -6
- package/dist/onboarding/app-profile.js +1 -1
- package/dist/onboarding/plugin.d.ts +2 -0
- package/dist/onboarding/plugin.js +29 -2
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/actions/custom-provider-registration.d.ts +16 -16
- package/dist/provider-api/actions/provider-api.d.ts +13 -13
- package/dist/provider-api/index.d.ts +4 -4
- package/dist/provider-api/index.js +35 -0
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/resources/handlers.js +1 -1
- package/dist/scripts/docs/framework-search.d.ts +9 -0
- package/dist/scripts/docs/framework-search.js +239 -0
- package/dist/scripts/docs/index.js +1 -0
- package/dist/scripts/docs/search.d.ts +10 -0
- package/dist/scripts/docs/search.js +1 -1
- package/dist/scripts/docs/source-search.d.ts +10 -2
- package/dist/scripts/docs/source-search.js +108 -41
- package/dist/search-utils/index.d.ts +11 -0
- package/dist/search-utils/index.js +72 -0
- package/dist/server/action-change.d.ts +6 -0
- package/dist/server/action-change.js +28 -14
- package/dist/server/action-discovery.js +9 -0
- package/dist/server/action-routes.js +1 -0
- package/dist/server/agent-chat/browser-team-tools.js +1 -1
- package/dist/server/agent-chat/script-entries.js +43 -2
- package/dist/server/auth-login-mode.d.ts +8 -0
- package/dist/server/auth-login-mode.js +17 -0
- package/dist/server/auth.js +100 -15
- package/dist/server/better-auth-instance.d.ts +36 -0
- package/dist/server/better-auth-instance.js +25 -3
- package/dist/server/builder-design-systems.js +1 -1
- package/dist/server/core-routes-plugin.js +17 -14
- package/dist/server/credential-provider.js +3 -3
- package/dist/server/email-templates.d.ts +7 -0
- package/dist/server/email-templates.js +24 -0
- package/dist/server/email.d.ts +17 -0
- package/dist/server/email.js +22 -1
- package/dist/server/framework-request-handler.js +6 -0
- package/dist/server/onboarding-html.d.ts +2 -0
- package/dist/server/onboarding-html.js +169 -8
- package/dist/server/realtime-token.d.ts +1 -1
- package/dist/server/realtime-voice.js +1 -1
- package/dist/server/sentry.d.ts +1 -1
- package/dist/server/transcribe-voice.js +3 -3
- package/dist/shared/first-run-onboarding.d.ts +1 -0
- package/dist/shared/first-run-onboarding.js +1 -0
- package/dist/templates/chat/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/dist/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +23 -2
- package/dist/templates/chat/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/dist/templates/chat/AGENTS.md +3 -0
- package/dist/templates/chat/DESIGN.md +28 -0
- package/dist/templates/chat/agent-native.json +12 -0
- package/dist/templates/default/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/dist/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +23 -2
- package/dist/templates/default/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/dist/templates/default/AGENTS.md +4 -0
- package/dist/templates/default/DESIGN.md +30 -0
- package/dist/templates/default/agent-native.json +9 -0
- package/dist/templates/default/app/i18n/ar-SA.ts +2 -2
- package/dist/templates/default/app/i18n/de-DE.ts +2 -2
- package/dist/templates/default/app/i18n/en-US.ts +2 -2
- package/dist/templates/default/app/i18n/es-ES.ts +2 -2
- package/dist/templates/default/app/i18n/fr-FR.ts +2 -2
- package/dist/templates/default/app/i18n/hi-IN.ts +2 -2
- package/dist/templates/default/app/i18n/ja-JP.ts +2 -2
- package/dist/templates/default/app/i18n/ko-KR.ts +2 -2
- package/dist/templates/default/app/i18n/pt-BR.ts +2 -2
- package/dist/templates/default/app/i18n/zh-CN.ts +2 -2
- package/dist/templates/default/app/i18n/zh-TW.ts +1 -1
- package/dist/templates/default/package.json +1 -0
- package/dist/templates/headless/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/dist/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/dist/templates/headless/agent-native.json +9 -0
- package/dist/templates/headless/package.json +2 -0
- package/dist/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +23 -2
- package/dist/templates/workspace-core/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/dist/templates/workspace-core/AGENTS.md +3 -0
- package/dist/templates/workspace-core/DESIGN.md +35 -0
- package/dist/templates/workspace-root/AGENTS.md +3 -0
- package/dist/templates/workspace-root/DESIGN.md +35 -0
- package/dist/templates/workspace-root/agent-native.json +9 -0
- package/dist/templates/workspace-root/package.json +3 -0
- package/dist/transcription/builder-transcription.js +1 -1
- package/dist/user-profile/actions/change-password.d.ts +8 -0
- package/dist/user-profile/actions/change-password.js +24 -0
- package/dist/user-profile/actions/get-auth-methods.d.ts +6 -0
- package/dist/user-profile/actions/get-auth-methods.js +23 -0
- package/dist/user-profile/actions/set-password.d.ts +7 -0
- package/dist/user-profile/actions/set-password.js +23 -0
- package/dist/vite/client.d.ts +8 -1
- package/dist/vite/client.js +63 -12
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.js +1 -0
- package/docs/AGENTS.md +7 -2
- package/docs/SKILL.md +7 -5
- package/docs/content/agent-native-config.mdx +165 -0
- package/docs/content/agent-native-toolkit.mdx +1 -1
- package/docs/content/deployment.mdx +7 -2
- package/docs/content/doctor.mdx +21 -13
- package/docs/content/environment-variables.mdx +158 -0
- package/docs/content/file-uploads.mdx +1 -1
- package/docs/content/getting-started.mdx +1 -1
- package/docs/content/key-concepts.mdx +1 -1
- package/docs/content/multi-app-workspace.mdx +1 -1
- package/docs/content/template-clips-ai-and-editing.mdx +6 -6
- package/docs/content/template-clips-developers.mdx +3 -3
- package/docs/content/toolkit-settings.mdx +1 -1
- package/docs/content/voice-input.mdx +4 -4
- package/package.json +6 -2
- package/src/eject/provider-api-definitions.ts +1 -0
- package/src/eject/remote-mcp-presets.ts +1 -0
- package/src/templates/chat/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/src/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +23 -2
- package/src/templates/chat/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/src/templates/chat/AGENTS.md +3 -0
- package/src/templates/chat/DESIGN.md +28 -0
- package/src/templates/chat/agent-native.json +12 -0
- package/src/templates/default/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/src/templates/default/.agents/skills/frontend-design/SKILL.md +23 -2
- package/src/templates/default/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/src/templates/default/AGENTS.md +4 -0
- package/src/templates/default/DESIGN.md +30 -0
- package/src/templates/default/agent-native.json +9 -0
- package/src/templates/default/app/i18n/ar-SA.ts +2 -2
- package/src/templates/default/app/i18n/de-DE.ts +2 -2
- package/src/templates/default/app/i18n/en-US.ts +2 -2
- package/src/templates/default/app/i18n/es-ES.ts +2 -2
- package/src/templates/default/app/i18n/fr-FR.ts +2 -2
- package/src/templates/default/app/i18n/hi-IN.ts +2 -2
- package/src/templates/default/app/i18n/ja-JP.ts +2 -2
- package/src/templates/default/app/i18n/ko-KR.ts +2 -2
- package/src/templates/default/app/i18n/pt-BR.ts +2 -2
- package/src/templates/default/app/i18n/zh-CN.ts +2 -2
- package/src/templates/default/app/i18n/zh-TW.ts +1 -1
- package/src/templates/default/package.json +1 -0
- package/src/templates/headless/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/src/templates/headless/agent-native.json +9 -0
- package/src/templates/headless/package.json +2 -0
- package/src/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +23 -3
- package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +16 -0
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +23 -2
- package/src/templates/workspace-core/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/src/templates/workspace-core/AGENTS.md +3 -0
- package/src/templates/workspace-core/DESIGN.md +35 -0
- package/src/templates/workspace-root/AGENTS.md +3 -0
- package/src/templates/workspace-root/DESIGN.md +35 -0
- package/src/templates/workspace-root/agent-native.json +9 -0
- package/src/templates/workspace-root/package.json +3 -0
|
@@ -31,6 +31,26 @@ the framework monorepo checkout.
|
|
|
31
31
|
|
|
32
32
|
From a generated app directory:
|
|
33
33
|
|
|
34
|
+
```bash
|
|
35
|
+
pnpm action framework-search --pattern "defineAction"
|
|
36
|
+
pnpm action framework-search --pattern "templates/*/actions/*.ts" --mode glob --scope source
|
|
37
|
+
pnpm action framework-search --pattern "Agent(?:Panel|Sidebar)" --mode regex --scope source
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Use `framework-search` first when a question may cross the docs and source
|
|
41
|
+
boundary. It searches the version-matched framework docs, runtime-visible
|
|
42
|
+
skills, readable Core or Toolkit package source, and first-party template
|
|
43
|
+
corpus in one bounded read-only call. Use `scope: docs` or `scope: source` to
|
|
44
|
+
narrow it, then use the existing focused readers for the page or file you need.
|
|
45
|
+
|
|
46
|
+
The same tool is available in the headless `pnpm agent` loop and every built-in
|
|
47
|
+
app agent. Its default substring mode is safest for ordinary questions; use
|
|
48
|
+
`glob` for wildcard paths, `sql-like` for `%` and `_` wildcards, and `regex`
|
|
49
|
+
for precise structural matches. Results are bounded, so refine the pattern or
|
|
50
|
+
path instead of treating a truncated result as exhaustive.
|
|
51
|
+
|
|
52
|
+
From a generated app directory, the lower-level readers remain available:
|
|
53
|
+
|
|
34
54
|
```bash
|
|
35
55
|
pnpm action docs-search --query "<feature>"
|
|
36
56
|
pnpm action docs-search --slug <slug>
|
|
@@ -41,9 +61,9 @@ pnpm action source-search --path templates/chat/actions/hello.ts
|
|
|
41
61
|
pnpm action source-search --list
|
|
42
62
|
```
|
|
43
63
|
|
|
44
|
-
The headless `pnpm agent` loop and built-in app agent also expose
|
|
45
|
-
`
|
|
46
|
-
|
|
64
|
+
The headless `pnpm agent` loop and built-in app agent also expose read-only
|
|
65
|
+
`framework-search`, `docs-search`, and `source-search` tools. Use the unified
|
|
66
|
+
tool for discovery, then the focused tools for full page or file reads.
|
|
47
67
|
|
|
48
68
|
If the action runner is unavailable, search the package directly:
|
|
49
69
|
|
|
@@ -65,6 +65,22 @@ Contextual agent UI is not a reason to expose every option at once. Start with
|
|
|
65
65
|
the domain task's primary action, reveal review or configuration only when the
|
|
66
66
|
current state needs it, and let the sidebar carry conversational depth.
|
|
67
67
|
|
|
68
|
+
## Visual Direction And Workspace Variety
|
|
69
|
+
|
|
70
|
+
Shared workspace behavior should be consistent without forcing every app into
|
|
71
|
+
the same visual skin. Keep shell and component tokens semantic, then let each
|
|
72
|
+
app declare a named direction in `DESIGN.md` before styling. A new app should
|
|
73
|
+
choose its palette family and composition from the product context, compare
|
|
74
|
+
nearby apps, and avoid inheriting their accent by default. Use the
|
|
75
|
+
`frontend-design` visual-direction reference for mode, palette, type, density,
|
|
76
|
+
shape, anti-references, and the `distill` / `typeset` / `colorize` / `layout` /
|
|
77
|
+
`polish` / `audit` review vocabulary.
|
|
78
|
+
|
|
79
|
+
Do not make warm beige plus terracotta the workspace fallback. Preserve a
|
|
80
|
+
workspace-level brand when one exists; otherwise keep shared chrome neutral and
|
|
81
|
+
allow app-owned accents to distinguish products while retaining accessible
|
|
82
|
+
semantic states and the shared AgentSidebar contract.
|
|
83
|
+
|
|
68
84
|
## Discover Before Building
|
|
69
85
|
|
|
70
86
|
Before creating an app-local version of repeated workspace or agent UI:
|
|
@@ -31,6 +31,26 @@ the framework monorepo checkout.
|
|
|
31
31
|
|
|
32
32
|
From a generated app directory:
|
|
33
33
|
|
|
34
|
+
```bash
|
|
35
|
+
pnpm action framework-search --pattern "defineAction"
|
|
36
|
+
pnpm action framework-search --pattern "templates/*/actions/*.ts" --mode glob --scope source
|
|
37
|
+
pnpm action framework-search --pattern "Agent(?:Panel|Sidebar)" --mode regex --scope source
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Use `framework-search` first when a question may cross the docs and source
|
|
41
|
+
boundary. It searches the version-matched framework docs, runtime-visible
|
|
42
|
+
skills, readable Core or Toolkit package source, and first-party template
|
|
43
|
+
corpus in one bounded read-only call. Use `scope: docs` or `scope: source` to
|
|
44
|
+
narrow it, then use the existing focused readers for the page or file you need.
|
|
45
|
+
|
|
46
|
+
The same tool is available in the headless `pnpm agent` loop and every built-in
|
|
47
|
+
app agent. Its default substring mode is safest for ordinary questions; use
|
|
48
|
+
`glob` for wildcard paths, `sql-like` for `%` and `_` wildcards, and `regex`
|
|
49
|
+
for precise structural matches. Results are bounded, so refine the pattern or
|
|
50
|
+
path instead of treating a truncated result as exhaustive.
|
|
51
|
+
|
|
52
|
+
From a generated app directory, the lower-level readers remain available:
|
|
53
|
+
|
|
34
54
|
```bash
|
|
35
55
|
pnpm action docs-search --query "<feature>"
|
|
36
56
|
pnpm action docs-search --slug <slug>
|
|
@@ -41,9 +61,9 @@ pnpm action source-search --path templates/chat/actions/hello.ts
|
|
|
41
61
|
pnpm action source-search --list
|
|
42
62
|
```
|
|
43
63
|
|
|
44
|
-
The headless `pnpm agent` loop and built-in app agent also expose
|
|
45
|
-
`
|
|
46
|
-
|
|
64
|
+
The headless `pnpm agent` loop and built-in app agent also expose read-only
|
|
65
|
+
`framework-search`, `docs-search`, and `source-search` tools. Use the unified
|
|
66
|
+
tool for discovery, then the focused tools for full page or file reads.
|
|
47
67
|
|
|
48
68
|
If the action runner is unavailable, search the package directly:
|
|
49
69
|
|
|
@@ -65,6 +65,22 @@ Contextual agent UI is not a reason to expose every option at once. Start with
|
|
|
65
65
|
the domain task's primary action, reveal review or configuration only when the
|
|
66
66
|
current state needs it, and let the sidebar carry conversational depth.
|
|
67
67
|
|
|
68
|
+
## Visual Direction And Workspace Variety
|
|
69
|
+
|
|
70
|
+
Shared workspace behavior should be consistent without forcing every app into
|
|
71
|
+
the same visual skin. Keep shell and component tokens semantic, then let each
|
|
72
|
+
app declare a named direction in `DESIGN.md` before styling. A new app should
|
|
73
|
+
choose its palette family and composition from the product context, compare
|
|
74
|
+
nearby apps, and avoid inheriting their accent by default. Use the
|
|
75
|
+
`frontend-design` visual-direction reference for mode, palette, type, density,
|
|
76
|
+
shape, anti-references, and the `distill` / `typeset` / `colorize` / `layout` /
|
|
77
|
+
`polish` / `audit` review vocabulary.
|
|
78
|
+
|
|
79
|
+
Do not make warm beige plus terracotta the workspace fallback. Preserve a
|
|
80
|
+
workspace-level brand when one exists; otherwise keep shared chrome neutral and
|
|
81
|
+
allow app-owned accents to distinguish products while retaining accessible
|
|
82
|
+
semantic states and the shared AgentSidebar contract.
|
|
83
|
+
|
|
68
84
|
## Discover Before Building
|
|
69
85
|
|
|
70
86
|
Before creating an app-local version of repeated workspace or agent UI:
|
|
@@ -330,6 +330,8 @@ canonical sizes to reuse instead of guessing:
|
|
|
330
330
|
- **Social**: Instagram Post 1080×1080, Instagram Story 1080×1920, X Post
|
|
331
331
|
1200×675, Facebook Cover 820×312, LinkedIn Cover 1584×396.
|
|
332
332
|
|
|
333
|
+
Frame geometry is always numbers — `"width": 800`, never `"800"` or `"800px"`. String dimensions are rejected.
|
|
334
|
+
|
|
333
335
|
At small ad-unit sizes (320×50, 160×600), text commonly runs 9-11px — smaller
|
|
334
336
|
than this skill's general 16px body-text floor — because there is no room to
|
|
335
337
|
reflow. That is expected for these formats; it stays legible in @2x+ exports
|
|
@@ -34,6 +34,22 @@ Before coding, decide:
|
|
|
34
34
|
|
|
35
35
|
Then implement working code that is cohesive, accessible, responsive, and polished in small details: typography, spacing, copy, motion, empty states, loading states, focus states, and error states.
|
|
36
36
|
|
|
37
|
+
## Visual Direction Contract
|
|
38
|
+
|
|
39
|
+
Before styling a new app or workspace surface, define its product mode,
|
|
40
|
+
audience, visual world, palette family, type treatment, composition, shape
|
|
41
|
+
language, and anti-references in `DESIGN.md`. Read
|
|
42
|
+
`references/visual-direction.md` for the direction families and review
|
|
43
|
+
vocabulary. This is the Impeccable-inspired design contract for Agent-Native
|
|
44
|
+
apps: understand the product, name the mode, deal a few coherent directions,
|
|
45
|
+
commit to one, and audit the result instead of averaging back to a starter.
|
|
46
|
+
|
|
47
|
+
Preserve an existing brand system and component library. When no brand exists,
|
|
48
|
+
choose a deliberate direction based on the domain and compare sibling apps
|
|
49
|
+
before selecting its accent family. Shared behavior and semantic token names
|
|
50
|
+
should stay consistent; palette, density, composition, type contrast, and
|
|
51
|
+
shape language should not be identical by default.
|
|
52
|
+
|
|
37
53
|
## Minimalism And Progressive Disclosure
|
|
38
54
|
|
|
39
55
|
Default to Apple/Linear-level restraint: make the primary workflow obvious, then remove everything that does not help that workflow right now. A polished UI often has fewer visible controls, fewer borders, fewer labels, and fewer explanatory surfaces than the first reasonable implementation.
|
|
@@ -81,13 +97,13 @@ passed this requirement yet.
|
|
|
81
97
|
operational apps, make a clear sans-serif hierarchy the default; reserve a
|
|
82
98
|
serif or editorial face for a deliberate content preview or brand moment,
|
|
83
99
|
not the whole application shell.
|
|
84
|
-
- **Color and theme**: Use semantic tokens and CSS variables. Avoid one-note palettes and default purple/blue gradients unless the brand demands them.
|
|
100
|
+
- **Color and theme**: Use semantic tokens and CSS variables. Avoid one-note palettes, default warm beige/terracotta, and default purple/blue gradients unless the brand demands them. New apps should choose a product-fitting accent family rather than inherit the previous app's color.
|
|
85
101
|
- **Motion**: Prefer purposeful transitions and small state changes. Use CSS transitions/keyframes unless the app already uses a motion library. Never `transition-all` — list the properties that actually change (e.g. `transition-[opacity,transform]`). Use the shared easing tokens defined in `packages/core/src/styles/agent-native.css` instead of hand-typing curves: `var(--ease-drawer)` (260ms, drawers/app chrome), `var(--ease-collapse)` (200ms, expand/collapse), `var(--ease-out-strong)` (snappy entrances) — in Tailwind, `ease-[var(--ease-collapse)]`. Enter/exit with ease-out, never `ease-in`. Overlays that zoom in must set the Radix origin var (e.g. `origin-[--radix-popover-content-transform-origin]`). Animate `transform`/`opacity`, not width/height/padding/box-shadow. Gate looping or large-movement animations with `motion-reduce:`. Command palettes and keyboard-triggered actions get no animation.
|
|
86
102
|
- **Composition**: Match the workflow. Operational apps should be dense and scannable; marketing or portfolio pages can be more immersive.
|
|
87
103
|
- **Visual assets**: Websites, games, and object-focused pages need real or generated media when images help users understand the subject.
|
|
88
104
|
- **Responsive fit**: Text must not overflow buttons, cards, tabs, sidebars, or fixed-format tools. Use stable dimensions for boards, grids, toolbars, and counters.
|
|
89
105
|
|
|
90
|
-
**Beat convergence, not just defaults.** You sample toward the "on-distribution" center, so naming what to avoid is not enough: every "don't" needs a "do", or you converge on the next safe option
|
|
106
|
+
**Beat convergence, not just defaults.** You sample toward the "on-distribution" center, so naming what to avoid is not enough: every "don't" needs a "do", or you converge on the next safe option. Commit to one named direction, pair any reference with the reason it fits, and match implementation effort to the vision. If the brief is open, consider two or three coherent visual worlds, then commit to one instead of averaging them. When building on an existing app, inspect its tokens/type/components first and treat any drift back to a default as a missing token to pin, not something to re-prompt.
|
|
91
107
|
|
|
92
108
|
## Agent-Native UI Rules
|
|
93
109
|
|
|
@@ -164,6 +180,9 @@ as an operator would use it repeatedly:
|
|
|
164
180
|
- For review flows, stack the source/original first and the generated or safe
|
|
165
181
|
result second by default. Use side-by-side comparison only when the content
|
|
166
182
|
is short enough to scan without excessive horizontal reading.
|
|
183
|
+
- Compare the result with sibling apps. Shared toolkit behavior should feel
|
|
184
|
+
consistent, but a repeated palette, hero composition, type pairing, and
|
|
185
|
+
radius language without a product reason is visual drift, not consistency.
|
|
167
186
|
- Check the result at the target desktop width and a narrow width. If the first
|
|
168
187
|
viewport feels like documentation instead of a tool, subtract again.
|
|
169
188
|
|
|
@@ -216,6 +235,8 @@ For substantial frontend work:
|
|
|
216
235
|
5. When registering or changing a company adapter, run
|
|
217
236
|
`@agent-native/toolkit/conformance`, including mixed-overlay focus,
|
|
218
237
|
`portalContainer`, and z-index stacking checks.
|
|
238
|
+
6. For a new app or a visual redesign, review `DESIGN.md` against the rendered
|
|
239
|
+
surface and run the anti-slop audit in `references/visual-direction.md`.
|
|
219
240
|
|
|
220
241
|
## Related Skills
|
|
221
242
|
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Visual Direction Reference
|
|
2
|
+
|
|
3
|
+
Use this reference when a new app or workspace needs a visual point of view and
|
|
4
|
+
does not already have an established brand system. It adapts the useful parts
|
|
5
|
+
of Impeccable's workflow: understand the product, name the surface mode, deal
|
|
6
|
+
several coherent directions, commit to one, and audit the result for defaults
|
|
7
|
+
that became the design by accident.
|
|
8
|
+
|
|
9
|
+
## The direction contract
|
|
10
|
+
|
|
11
|
+
Before writing UI, capture these decisions in the app's `DESIGN.md`:
|
|
12
|
+
|
|
13
|
+
| Decision | What to record |
|
|
14
|
+
| -------------------- | ------------------------------------------------------------------- |
|
|
15
|
+
| Product mode | `operate`, `read`, `persuade`, or `experience` |
|
|
16
|
+
| Audience and cadence | Who uses it, how often, and under what conditions |
|
|
17
|
+
| Visual world | A short name and the feeling it creates |
|
|
18
|
+
| Palette family | The semantic accent family and neutral undertone |
|
|
19
|
+
| Type treatment | Sans-first, editorial contrast, or display-led emphasis |
|
|
20
|
+
| Composition | Dense console, focused workbench, document, canvas, or guided steps |
|
|
21
|
+
| Shape language | Quiet corners, crisp geometry, or soft utility surfaces |
|
|
22
|
+
| Anti-references | Defaults this app must not drift toward |
|
|
23
|
+
|
|
24
|
+
`DESIGN.md` is a portable design contract, not a license to bypass the app's
|
|
25
|
+
tokens or component system. If the app already has a brand system, document it
|
|
26
|
+
and preserve it. If it does not, choose a direction before styling.
|
|
27
|
+
|
|
28
|
+
## Palette families
|
|
29
|
+
|
|
30
|
+
Use one family as an accent and keep the rest of the system semantic and quiet.
|
|
31
|
+
These are starting points, not a fixed theme library:
|
|
32
|
+
|
|
33
|
+
| Family | Good fit | Typical character |
|
|
34
|
+
| ---------------- | ------------------------------------------- | --------------------------------- |
|
|
35
|
+
| Ink / graphite | Admin, security, sensitive review | Serious, low-noise, high contrast |
|
|
36
|
+
| Cobalt / sky | Planning, collaboration, scheduling | Clear, trustworthy, alert |
|
|
37
|
+
| Pine / teal | Automation, systems, finance, data | Calm, capable, grounded |
|
|
38
|
+
| Indigo / violet | Slides, creative tools, research | Exploratory, focused, expressive |
|
|
39
|
+
| Plum / berry | Publishing, knowledge, editorial work | Distinctive, thoughtful, human |
|
|
40
|
+
| Coral / rose | Communication, people, customer workflows | Warm, direct, social |
|
|
41
|
+
| Ochre / citron | Lightweight planning or energetic utilities | Optimistic, sparing, directional |
|
|
42
|
+
| Paper / charcoal | Long-form reading, exports, approvals | Tactile, restrained, legible |
|
|
43
|
+
|
|
44
|
+
Do not make warm beige plus terracotta the universal fallback. Do not rotate
|
|
45
|
+
through saturated colors mechanically. Choose the family that supports the
|
|
46
|
+
workflow, then verify contrast, dark mode, focus states, destructive states,
|
|
47
|
+
and the sidebar boundary.
|
|
48
|
+
|
|
49
|
+
## Variation without chaos
|
|
50
|
+
|
|
51
|
+
Vary at least two independent axes when sibling apps share a workspace:
|
|
52
|
+
|
|
53
|
+
- accent family or neutral undertone;
|
|
54
|
+
- information density and page composition;
|
|
55
|
+
- type contrast and display treatment;
|
|
56
|
+
- radius and border language;
|
|
57
|
+
- navigation emphasis and use of whitespace.
|
|
58
|
+
|
|
59
|
+
Keep shared behavior, semantic token names, accessibility, and AgentSidebar
|
|
60
|
+
placement consistent. The goal is a family of products, not five unrelated
|
|
61
|
+
themes and not five copies of the same starter.
|
|
62
|
+
|
|
63
|
+
For a batch of apps, keep a small direction ledger in the workspace
|
|
64
|
+
`DESIGN.md` or the handoff. Record each app's mode, direction, and palette
|
|
65
|
+
family, then choose a new family or a clearly different composition for the
|
|
66
|
+
next app unless an existing brand requires reuse. Never copy a sibling's
|
|
67
|
+
`global.css` palette block or treat the last app's accent as the generator
|
|
68
|
+
default.
|
|
69
|
+
|
|
70
|
+
## Review vocabulary
|
|
71
|
+
|
|
72
|
+
Make one named intervention at a time so the agent can reason about the
|
|
73
|
+
change:
|
|
74
|
+
|
|
75
|
+
- `distill` - remove copy, controls, cards, and chrome that do not serve the
|
|
76
|
+
next decision;
|
|
77
|
+
- `typeset` - repair hierarchy, measure, line length, and emphasis;
|
|
78
|
+
- `colorize` - establish a restrained semantic palette and contrast states;
|
|
79
|
+
- `layout` - repair grouping, density, alignment, and responsive composition;
|
|
80
|
+
- `polish` - resolve the small visual inconsistencies after the structure is
|
|
81
|
+
right;
|
|
82
|
+
- `audit` - check slop, accessibility, responsive behavior, and visual drift.
|
|
83
|
+
|
|
84
|
+
Do not average several directions into a generic compromise. Deal two or three
|
|
85
|
+
coherent options when the brief is open, select one, and encode the decision in
|
|
86
|
+
tokens and `DESIGN.md`.
|
|
87
|
+
|
|
88
|
+
## Anti-slop audit
|
|
89
|
+
|
|
90
|
+
Before handoff, inspect the first viewport and ask:
|
|
91
|
+
|
|
92
|
+
- Did the app inherit the neighboring app's palette or hero layout without a
|
|
93
|
+
product reason?
|
|
94
|
+
- Are there equal-weight cards, status chips, helper paragraphs, or controls
|
|
95
|
+
that should be removed or disclosed?
|
|
96
|
+
- Does the typography fit the product mode instead of decorating the shell?
|
|
97
|
+
- Is the AgentSidebar distinct but quiet, with the domain page still primary?
|
|
98
|
+
- Are focus, loading, empty, error, dark, and narrow-width states part of the
|
|
99
|
+
same design direction?
|
|
@@ -141,7 +141,7 @@ The CTA should appear only at the moment of need:
|
|
|
141
141
|
|
|
142
142
|
### Make-It-Real Flow
|
|
143
143
|
|
|
144
|
-
1. Connect Builder, using the existing `connect-builder` card/tooling.
|
|
144
|
+
1. Connect Builder (free tier available), using the existing `connect-builder` card/tooling.
|
|
145
145
|
2. Generate or migrate the inline design into a real React app.
|
|
146
146
|
3. Preserve the original inline design as a version/snapshot.
|
|
147
147
|
4. Use `fusion` as the hosted source descriptor for Builder-backed work.
|
|
@@ -942,7 +942,7 @@ Verify the agent can:
|
|
|
942
942
|
|
|
943
943
|
When real-app support lands:
|
|
944
944
|
|
|
945
|
-
- connect Builder or localhost
|
|
945
|
+
- connect Builder (free tier available) or localhost
|
|
946
946
|
- index a React component
|
|
947
947
|
- select instance on canvas
|
|
948
948
|
- show props and source
|
|
@@ -48,7 +48,7 @@ A design is backed by a real React/TS codebase.
|
|
|
48
48
|
|
|
49
49
|
- **`localhost`** — the bridge talks to a dev server on the user's machine
|
|
50
50
|
(`designLocalhostConnections`, `connect-localhost.ts`).
|
|
51
|
-
- **`fusion`** _(the new hosted tier)_ — connect Builder.io and run the app as a
|
|
51
|
+
- **`fusion`** _(the new hosted tier)_ — connect Builder.io (free tier available) and run the app as a
|
|
52
52
|
Builder-hosted branch (today) or, later, our own durable container. Same
|
|
53
53
|
capabilities as localhost but hosted, collaborative, and deployable.
|
|
54
54
|
|
|
@@ -102,7 +102,7 @@ Advanced panels are never dead ends; they are CTAs. On an inline design, the
|
|
|
102
102
|
gated controls render an inline upgrade card (progressive disclosure — only when
|
|
103
103
|
the user reaches for a real-app feature):
|
|
104
104
|
|
|
105
|
-
> **Make this a real app** — connect Builder.io to unlock components, props, data
|
|
105
|
+
> **Make this a real app** — connect Builder.io (free tier available) to unlock components, props, data
|
|
106
106
|
> states, branches, and deploys.
|
|
107
107
|
|
|
108
108
|
### 3.1 What already exists vs. what's new
|
|
@@ -159,7 +159,7 @@ export default defineAction({
|
|
|
159
159
|
? null
|
|
160
160
|
: "Token source write-back is not yet available for this source tier. " +
|
|
161
161
|
"The value is persisted in the design's tweakSelections and reflected " +
|
|
162
|
-
"live via the CSS-var bridge. Connect Builder to unlock real write-back.",
|
|
162
|
+
"live via the CSS-var bridge. Connect Builder (free tier available) to unlock real write-back.",
|
|
163
163
|
/** Resolved CSS var map — pass directly to the tweak-values postMessage. */
|
|
164
164
|
resolvedCssVars,
|
|
165
165
|
deepLink: designDeepLink(designId),
|
|
@@ -193,7 +193,7 @@ export default defineAction({
|
|
|
193
193
|
if (!hasCapability(caps, "captureState")) {
|
|
194
194
|
throw new Error(
|
|
195
195
|
"The design's source does not support captureState. " +
|
|
196
|
-
"Connect Builder or a localhost bridge to enable live captures.",
|
|
196
|
+
"Connect Builder (free tier available) or a localhost bridge to enable live captures.",
|
|
197
197
|
);
|
|
198
198
|
}
|
|
199
199
|
|
|
@@ -112,13 +112,13 @@ export default defineAction({
|
|
|
112
112
|
kind: "connect-builder" as const,
|
|
113
113
|
label: "Make this a real app",
|
|
114
114
|
description:
|
|
115
|
-
"Connect Builder.io to unlock React components, live props, " +
|
|
115
|
+
"Connect Builder.io (free tier available) to unlock React components, live props, " +
|
|
116
116
|
"data states, branches, and one-click deploys.",
|
|
117
117
|
primaryAction: "Connect Builder.io",
|
|
118
118
|
connectUrl,
|
|
119
119
|
},
|
|
120
120
|
message:
|
|
121
|
-
"Builder is not connected. Open connectUrl to start the OAuth flow.",
|
|
121
|
+
"Builder is not connected (free tier available). Open connectUrl to start the OAuth flow.",
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
124
|
|
|
@@ -155,7 +155,7 @@ export default defineAction({
|
|
|
155
155
|
? ("connect-builder" as const)
|
|
156
156
|
: ("make-it-real" as const),
|
|
157
157
|
ctaMessage: isFusion
|
|
158
|
-
? "Builder is not yet connected. Connect Builder.io to create branches for this design."
|
|
158
|
+
? "Builder is not yet connected. Connect Builder.io (free tier available) to create branches for this design."
|
|
159
159
|
: "Branching requires a Builder-hosted app. Use 'Make it real' to upgrade this inline design to a real-app source, then create branches.",
|
|
160
160
|
branch: null,
|
|
161
161
|
versionId: null,
|
|
@@ -53,7 +53,7 @@ export default defineAction({
|
|
|
53
53
|
"Create a brand-new full-app (fusion) design: provisions a Builder Fusion " +
|
|
54
54
|
"branch and hands the prompt to the Builder cloud agent to scaffold a real " +
|
|
55
55
|
"running app. Use this when the user wants a real app (not an HTML " +
|
|
56
|
-
"prototype) built from scratch for a design. Requires Builder.io to be " +
|
|
56
|
+
"prototype) built from scratch for a design. Requires Builder.io (free tier available) to be " +
|
|
57
57
|
"connected with a branch project ID configured; when not configured " +
|
|
58
58
|
"returns a connect CTA — never throws. If the design already has a " +
|
|
59
59
|
"fusion app, returns the existing linkage instead of creating a second " +
|
|
@@ -116,13 +116,13 @@ export default defineAction({
|
|
|
116
116
|
kind: "connect-builder" as const,
|
|
117
117
|
label: "Build a real app",
|
|
118
118
|
description:
|
|
119
|
-
"Connect Builder.io to build this design as a real running app " +
|
|
119
|
+
"Connect Builder.io (free tier available) to build this design as a real running app " +
|
|
120
120
|
"with a live container, branches, and deploys.",
|
|
121
121
|
primaryAction: "Connect Builder.io",
|
|
122
122
|
connectUrl,
|
|
123
123
|
},
|
|
124
124
|
message:
|
|
125
|
-
"Builder is not connected. Call connect-builder-app to start " +
|
|
125
|
+
"Builder is not connected (free tier available). Call connect-builder-app to start " +
|
|
126
126
|
"the OAuth flow, then retry create-fusion-app.",
|
|
127
127
|
};
|
|
128
128
|
}
|
|
@@ -163,7 +163,7 @@ export default defineAction({
|
|
|
163
163
|
? ("connect-builder" as const)
|
|
164
164
|
: ("make-it-real" as const),
|
|
165
165
|
ctaMessage: isFusion
|
|
166
|
-
? "Builder is not yet connected. Connect Builder.io to trigger preview deploys."
|
|
166
|
+
? "Builder is not yet connected. Connect Builder.io (free tier available) to trigger preview deploys."
|
|
167
167
|
: "Preview deploys require a Builder-hosted app. Use 'Make it real' to upgrade " +
|
|
168
168
|
"this inline design to a real-app source, then deploy previews.",
|
|
169
169
|
previewUrl: null,
|
|
@@ -439,7 +439,7 @@ const generateDesignAgentParameters = {
|
|
|
439
439
|
type: "string",
|
|
440
440
|
description:
|
|
441
441
|
"Optional JSON array of overview-canvas placements keyed by filename or fileId. " +
|
|
442
|
-
"Pass explicit x/y/width/height for every generated screen; desktop is 1440x900.",
|
|
442
|
+
"Pass explicit x/y/width/height for every generated screen as numbers; desktop is 1440x900.",
|
|
443
443
|
},
|
|
444
444
|
contextPackId: {
|
|
445
445
|
type: "string",
|
|
@@ -504,7 +504,8 @@ const generateDesignAction = defineAction({
|
|
|
504
504
|
"for a mobile- or tablet-primary design when not passing `devices`. " +
|
|
505
505
|
"Do not report a design as ready until this action succeeds. " +
|
|
506
506
|
"When adding multiple screens or states, pass canvasFrames with filenames " +
|
|
507
|
-
"and x/y/width/height so the new screens appear placed on the
|
|
507
|
+
"and numeric x/y/width/height so the new screens appear placed on the " +
|
|
508
|
+
"overview canvas.",
|
|
508
509
|
schema: z.object({
|
|
509
510
|
designId: z.string().describe("Design project ID to save content to"),
|
|
510
511
|
prompt: z.string().describe("The generation prompt (stored for reference)"),
|
|
@@ -83,7 +83,7 @@ export default defineAction({
|
|
|
83
83
|
sourceType === "inline" || hasCapability(caps, "applyEdit");
|
|
84
84
|
const ctaRequired = !hasFullIndex || !canEditProps;
|
|
85
85
|
const ctaMessage = !hasFullIndex
|
|
86
|
-
? "Full prop controls (TypeScript prop types, cva variants, Storybook stories) require a connected Builder app. Connect Builder to unlock."
|
|
86
|
+
? "Full prop controls (TypeScript prop types, cva variants, Storybook stories) require a connected Builder app. Connect Builder (free tier available) to unlock."
|
|
87
87
|
: !canEditProps
|
|
88
88
|
? "Prop write-back requires the bridge applyEdit capability. Preview controls remain available until source write hardening is enabled."
|
|
89
89
|
: undefined;
|
|
@@ -224,7 +224,7 @@ export default defineAction({
|
|
|
224
224
|
: ("make-it-real" as const),
|
|
225
225
|
ctaMessage:
|
|
226
226
|
sourceType === "fusion"
|
|
227
|
-
? "Builder is not yet connected. Connect Builder.io to view branch diffs."
|
|
227
|
+
? "Builder is not yet connected. Connect Builder.io (free tier available) to view branch diffs."
|
|
228
228
|
: "Branch diffs require a Builder-hosted app. Use 'Make it real' to upgrade " +
|
|
229
229
|
"this inline design to a real-app source.",
|
|
230
230
|
branch: null,
|
|
@@ -69,7 +69,7 @@ export default defineAction({
|
|
|
69
69
|
"and persists the discovered components into component_index. For real-app " +
|
|
70
70
|
"sources (localhost / fusion), the indexComponents capability must be " +
|
|
71
71
|
"available; if not, returns an empty list with ctaRequired=true and a " +
|
|
72
|
-
"message prompting the user to Connect Builder.",
|
|
72
|
+
"message prompting the user to Connect Builder (free tier available).",
|
|
73
73
|
schema: z.object({
|
|
74
74
|
designId: z.string().describe("Design project ID to index components for"),
|
|
75
75
|
fileId: z
|
|
@@ -110,7 +110,7 @@ export default defineAction({
|
|
|
110
110
|
ctaMessage:
|
|
111
111
|
"Full component indexing (prop types, cva variants, Storybook " +
|
|
112
112
|
"stories, jump-to-source) requires a connected Builder app. " +
|
|
113
|
-
"Connect Builder via the Make it real CTA to unlock this feature.",
|
|
113
|
+
"Connect Builder (free tier available) via the Make it real CTA to unlock this feature.",
|
|
114
114
|
components: [] as ComponentDefinition[],
|
|
115
115
|
instances: [] as ComponentInstance[],
|
|
116
116
|
totalComponents: 0,
|
|
@@ -235,7 +235,7 @@ export default defineAction({
|
|
|
235
235
|
totalInstances: instances.length,
|
|
236
236
|
note:
|
|
237
237
|
sourceType === "inline"
|
|
238
|
-
? "Showing annotated Alpine components from data-agent-native-component attributes. Connect Builder for full TS prop types and cva variants."
|
|
238
|
+
? "Showing annotated Alpine components from data-agent-native-component attributes. Connect Builder (free tier available) for full TS prop types and cva variants."
|
|
239
239
|
: undefined,
|
|
240
240
|
};
|
|
241
241
|
},
|
|
@@ -36,7 +36,7 @@ export default defineAction({
|
|
|
36
36
|
description:
|
|
37
37
|
"Start Builder DSI design-system indexing from connected code, a GitHub repository, code/design files, and optional design.md guidance. " +
|
|
38
38
|
"Use this instead of local import-code/import-github when the user wants a reusable brand kit or design system. " +
|
|
39
|
-
"Requires Builder.io to be connected; Builder owns the indexed design-system docs, generated guidance, token/component extraction, and job state.",
|
|
39
|
+
"Requires Builder.io to be connected (free tier available); Builder owns the indexed design-system docs, generated guidance, token/component extraction, and job state.",
|
|
40
40
|
schema: z.object({
|
|
41
41
|
projectName: z
|
|
42
42
|
.string()
|
|
@@ -151,7 +151,7 @@ export default defineAction({
|
|
|
151
151
|
description:
|
|
152
152
|
"Migrate an inline Alpine/HTML design to a real React + Tailwind app " +
|
|
153
153
|
"by handing the design's HTML and tokens to the Builder cloud agent. " +
|
|
154
|
-
"Requires Builder.io to be connected (credentials + branch project ID). " +
|
|
154
|
+
"Requires Builder.io (free tier available) to be connected (credentials + branch project ID). " +
|
|
155
155
|
"When Builder is NOT configured returns a connect CTA — never throws. " +
|
|
156
156
|
"Snapshots the current design into design_versions before migrating so " +
|
|
157
157
|
"the inline baseline is always recoverable. " +
|
|
@@ -211,13 +211,13 @@ export default defineAction({
|
|
|
211
211
|
kind: "connect-builder" as const,
|
|
212
212
|
label: "Make this a real app",
|
|
213
213
|
description:
|
|
214
|
-
"Connect Builder.io to migrate this design to a real React app " +
|
|
214
|
+
"Connect Builder.io (free tier available) to migrate this design to a real React app " +
|
|
215
215
|
"with components, props, data states, branches, and deploys.",
|
|
216
216
|
primaryAction: "Connect Builder.io",
|
|
217
217
|
connectUrl,
|
|
218
218
|
},
|
|
219
219
|
message:
|
|
220
|
-
"Builder is not connected. Call connect-builder-app to start " +
|
|
220
|
+
"Builder is not connected (free tier available). Call connect-builder-app to start " +
|
|
221
221
|
"the OAuth flow, then retry migrate-inline-design-to-app.",
|
|
222
222
|
};
|
|
223
223
|
}
|
|
@@ -213,7 +213,7 @@ export default defineAction({
|
|
|
213
213
|
ctaRequired: isRealApp && !canResolveToFile,
|
|
214
214
|
ctaMessage:
|
|
215
215
|
isRealApp && !canResolveToFile
|
|
216
|
-
? "Jump to external source file requires the resolveNodeToFile bridge capability. Connect Builder and run index-components to enable full jump-to-source."
|
|
216
|
+
? "Jump to external source file requires the resolveNodeToFile bridge capability. Connect Builder (free tier available) and run index-components to enable full jump-to-source."
|
|
217
217
|
: isRealApp && !externalFilePath
|
|
218
218
|
? "Component source file not yet indexed. Run index-components to populate file paths."
|
|
219
219
|
: undefined,
|