@agent-native/core 0.37.2 → 0.38.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/README.md +19 -6
- package/dist/action.d.ts +60 -2
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +6 -2
- package/dist/action.js.map +1 -1
- package/dist/agent/production-agent.d.ts +12 -6
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +161 -11
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/types.d.ts +2 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/catalog.json +2 -2
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +15 -0
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/index.js +10 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plan-publish-store.d.ts +52 -0
- package/dist/cli/plan-publish-store.d.ts.map +1 -0
- package/dist/cli/plan-publish-store.js +103 -0
- package/dist/cli/plan-publish-store.js.map +1 -0
- package/dist/cli/skills.d.ts +29 -0
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +1349 -544
- package/dist/cli/skills.js.map +1 -1
- package/dist/cli/templates-meta.js +12 -12
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +3 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +65 -15
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +20 -2
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +12 -0
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-engine-key.d.ts +24 -0
- package/dist/client/agent-engine-key.d.ts.map +1 -0
- package/dist/client/agent-engine-key.js +49 -0
- package/dist/client/agent-engine-key.js.map +1 -0
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +34 -0
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/blocks/BlockView.d.ts +26 -0
- package/dist/client/blocks/BlockView.d.ts.map +1 -0
- package/dist/client/blocks/BlockView.js +24 -0
- package/dist/client/blocks/BlockView.js.map +1 -0
- package/dist/client/blocks/SchemaBlockEditor.d.ts +25 -0
- package/dist/client/blocks/SchemaBlockEditor.d.ts.map +1 -0
- package/dist/client/blocks/SchemaBlockEditor.js +72 -0
- package/dist/client/blocks/SchemaBlockEditor.js.map +1 -0
- package/dist/client/blocks/agent.d.ts +30 -0
- package/dist/client/blocks/agent.d.ts.map +1 -0
- package/dist/client/blocks/agent.js +61 -0
- package/dist/client/blocks/agent.js.map +1 -0
- package/dist/client/blocks/index.d.ts +34 -0
- package/dist/client/blocks/index.d.ts.map +1 -0
- package/dist/client/blocks/index.js +42 -0
- package/dist/client/blocks/index.js.map +1 -0
- package/dist/client/blocks/library/checklist.config.d.ts +36 -0
- package/dist/client/blocks/library/checklist.config.d.ts.map +1 -0
- package/dist/client/blocks/library/checklist.config.js +25 -0
- package/dist/client/blocks/library/checklist.config.js.map +1 -0
- package/dist/client/blocks/library/checklist.d.ts +26 -0
- package/dist/client/blocks/library/checklist.d.ts.map +1 -0
- package/dist/client/blocks/library/checklist.js +76 -0
- package/dist/client/blocks/library/checklist.js.map +1 -0
- package/dist/client/blocks/library/code-tabs.config.d.ts +36 -0
- package/dist/client/blocks/library/code-tabs.config.d.ts.map +1 -0
- package/dist/client/blocks/library/code-tabs.config.js +30 -0
- package/dist/client/blocks/library/code-tabs.config.js.map +1 -0
- package/dist/client/blocks/library/code-tabs.d.ts +3 -0
- package/dist/client/blocks/library/code-tabs.d.ts.map +1 -0
- package/dist/client/blocks/library/code-tabs.js +165 -0
- package/dist/client/blocks/library/code-tabs.js.map +1 -0
- package/dist/client/blocks/library/html.config.d.ts +37 -0
- package/dist/client/blocks/library/html.config.d.ts.map +1 -0
- package/dist/client/blocks/library/html.config.js +46 -0
- package/dist/client/blocks/library/html.config.js.map +1 -0
- package/dist/client/blocks/library/html.d.ts +21 -0
- package/dist/client/blocks/library/html.d.ts.map +1 -0
- package/dist/client/blocks/library/html.js +69 -0
- package/dist/client/blocks/library/html.js.map +1 -0
- package/dist/client/blocks/library/table.config.d.ts +30 -0
- package/dist/client/blocks/library/table.config.d.ts.map +1 -0
- package/dist/client/blocks/library/table.config.js +22 -0
- package/dist/client/blocks/library/table.config.js.map +1 -0
- package/dist/client/blocks/library/table.d.ts +8 -0
- package/dist/client/blocks/library/table.d.ts.map +1 -0
- package/dist/client/blocks/library/table.js +107 -0
- package/dist/client/blocks/library/table.js.map +1 -0
- package/dist/client/blocks/library/tabs.config.d.ts +56 -0
- package/dist/client/blocks/library/tabs.config.d.ts.map +1 -0
- package/dist/client/blocks/library/tabs.config.js +36 -0
- package/dist/client/blocks/library/tabs.config.js.map +1 -0
- package/dist/client/blocks/library/tabs.d.ts +20 -0
- package/dist/client/blocks/library/tabs.d.ts.map +1 -0
- package/dist/client/blocks/library/tabs.js +123 -0
- package/dist/client/blocks/library/tabs.js.map +1 -0
- package/dist/client/blocks/mdx.d.ts +74 -0
- package/dist/client/blocks/mdx.d.ts.map +1 -0
- package/dist/client/blocks/mdx.js +205 -0
- package/dist/client/blocks/mdx.js.map +1 -0
- package/dist/client/blocks/provider.d.ts +25 -0
- package/dist/client/blocks/provider.d.ts.map +1 -0
- package/dist/client/blocks/provider.js +19 -0
- package/dist/client/blocks/provider.js.map +1 -0
- package/dist/client/blocks/registry.d.ts +24 -0
- package/dist/client/blocks/registry.d.ts.map +1 -0
- package/dist/client/blocks/registry.js +50 -0
- package/dist/client/blocks/registry.js.map +1 -0
- package/dist/client/blocks/schema-form/introspect.d.ts +31 -0
- package/dist/client/blocks/schema-form/introspect.d.ts.map +1 -0
- package/dist/client/blocks/schema-form/introspect.js +164 -0
- package/dist/client/blocks/schema-form/introspect.js.map +1 -0
- package/dist/client/blocks/server.d.ts +22 -0
- package/dist/client/blocks/server.d.ts.map +1 -0
- package/dist/client/blocks/server.js +25 -0
- package/dist/client/blocks/server.js.map +1 -0
- package/dist/client/blocks/types.d.ts +212 -0
- package/dist/client/blocks/types.d.ts.map +1 -0
- package/dist/client/blocks/types.js +5 -0
- package/dist/client/blocks/types.js.map +1 -0
- package/dist/client/composer/ComposerPlusMenu.js +10 -1
- package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
- package/dist/client/guided-questions.d.ts +68 -0
- package/dist/client/guided-questions.d.ts.map +1 -1
- package/dist/client/guided-questions.js +158 -3
- package/dist/client/guided-questions.js.map +1 -1
- package/dist/client/index.d.ts +5 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +15 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts +37 -0
- package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/BubbleToolbar.js +161 -0
- package/dist/client/rich-markdown-editor/BubbleToolbar.js.map +1 -0
- package/dist/client/rich-markdown-editor/ImageExtension.d.ts +63 -0
- package/dist/client/rich-markdown-editor/ImageExtension.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/ImageExtension.js +242 -0
- package/dist/client/rich-markdown-editor/ImageExtension.js.map +1 -0
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts +51 -0
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.js +37 -0
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.js.map +1 -0
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts +61 -0
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/SharedRichEditor.js +121 -0
- package/dist/client/rich-markdown-editor/SharedRichEditor.js.map +1 -0
- package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts +36 -0
- package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/SlashCommandMenu.js +193 -0
- package/dist/client/rich-markdown-editor/SlashCommandMenu.js.map +1 -0
- package/dist/client/rich-markdown-editor/extensions.d.ts +166 -0
- package/dist/client/rich-markdown-editor/extensions.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/extensions.js +222 -0
- package/dist/client/rich-markdown-editor/extensions.js.map +1 -0
- package/dist/client/rich-markdown-editor/index.d.ts +9 -0
- package/dist/client/rich-markdown-editor/index.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/index.js +9 -0
- package/dist/client/rich-markdown-editor/index.js.map +1 -0
- package/dist/client/rich-markdown-editor/uploadEditorImage.d.ts +18 -0
- package/dist/client/rich-markdown-editor/uploadEditorImage.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/uploadEditorImage.js +57 -0
- package/dist/client/rich-markdown-editor/uploadEditorImage.js.map +1 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts +91 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.js +342 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.js.map +1 -0
- package/dist/client/track.d.ts +25 -0
- package/dist/client/track.d.ts.map +1 -0
- package/dist/client/track.js +53 -0
- package/dist/client/track.js.map +1 -0
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +6 -0
- package/dist/client/use-action.js.map +1 -1
- package/dist/client/use-session.d.ts +3 -2
- package/dist/client/use-session.d.ts.map +1 -1
- package/dist/client/use-session.js +3 -2
- package/dist/client/use-session.js.map +1 -1
- package/dist/deploy/build.d.ts +5 -0
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +67 -1
- package/dist/deploy/build.js.map +1 -1
- package/dist/extensions/schema.d.ts +1 -1
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +9 -2
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +35 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/provider-api/index.d.ts +1 -1
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/scripts/docs/search.d.ts.map +1 -1
- package/dist/scripts/docs/search.js +5 -2
- package/dist/scripts/docs/search.js.map +1 -1
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +16 -3
- package/dist/scripts/runner.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +2 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/action-routes.d.ts.map +1 -1
- package/dist/server/action-routes.js +30 -4
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +65 -19
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +8 -1
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/agents-bundle.d.ts +27 -1
- package/dist/server/agents-bundle.d.ts.map +1 -1
- package/dist/server/agents-bundle.js +41 -3
- package/dist/server/agents-bundle.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +76 -3
- package/dist/server/auth.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +60 -0
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +160 -22
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/sentry.d.ts.map +1 -1
- package/dist/server/sentry.js +6 -0
- package/dist/server/sentry.js.map +1 -1
- package/dist/server/social-og-image.d.ts +2 -1
- package/dist/server/social-og-image.d.ts.map +1 -1
- package/dist/server/social-og-image.js +24 -4
- package/dist/server/social-og-image.js.map +1 -1
- package/dist/sharing/schema.d.ts +1 -1
- package/dist/styles/agent-native.css +1 -0
- package/dist/styles/rich-markdown-editor.css +439 -0
- package/dist/templates/default/.agents/skills/actions/SKILL.md +4 -1
- package/dist/templates/default/.agents/skills/security/SKILL.md +13 -4
- package/dist/templates/default/.agents/skills/storing-data/SKILL.md +15 -3
- package/dist/templates/default/AGENTS.md +1 -0
- package/dist/templates/default/DEVELOPING.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +10 -3
- package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +98 -10
- package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +45 -3
- package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +37 -4
- package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +9 -4
- package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/client-methods/SKILL.md +106 -0
- package/dist/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +53 -0
- package/dist/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +62 -61
- package/dist/templates/workspace-core/.agents/skills/context-xray/SKILL.md +47 -0
- package/dist/templates/workspace-core/.agents/skills/create-skill/SKILL.md +28 -0
- package/dist/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +52 -1
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +95 -433
- package/dist/templates/workspace-core/.agents/skills/extensions/references/api.md +285 -0
- package/dist/templates/workspace-core/.agents/skills/extensions/references/examples.md +259 -0
- package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +398 -0
- package/dist/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +157 -0
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +17 -0
- package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +13 -2
- package/dist/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +51 -0
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +14 -4
- package/dist/templates/workspace-core/.agents/skills/onboarding/SKILL.md +13 -1
- package/dist/templates/workspace-core/.agents/skills/portability/SKILL.md +27 -5
- package/dist/templates/workspace-core/.agents/skills/qa/SKILL.md +24 -8
- package/dist/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +53 -7
- package/dist/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +43 -10
- package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/secrets/SKILL.md +43 -14
- package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +50 -1
- package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -2
- package/dist/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +11 -1
- package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +15 -0
- package/dist/templates/workspace-core/.agents/skills/sharing/SKILL.md +5 -1
- package/dist/templates/workspace-core/.agents/skills/storing-data/SKILL.md +48 -19
- package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +7 -3
- package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +13 -6
- package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +236 -0
- package/dist/templates/workspace-core/AGENTS.md +5 -1
- package/dist/templates/workspace-root/AGENTS.md +5 -2
- package/dist/tracking/route.d.ts +43 -0
- package/dist/tracking/route.d.ts.map +1 -0
- package/dist/tracking/route.js +85 -0
- package/dist/tracking/route.js.map +1 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +15 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/a2a-protocol.md +18 -4
- package/docs/content/actions.md +87 -0
- package/docs/content/agent-mentions.md +2 -1
- package/docs/content/authentication.md +2 -1
- package/docs/content/client.md +64 -13
- package/docs/content/cloneable-saas.md +1 -1
- package/docs/content/code-agents-ui.md +17 -11
- package/docs/content/context-awareness.md +23 -28
- package/docs/content/creating-templates.md +1 -1
- package/docs/content/drop-in-agent.md +2 -0
- package/docs/content/getting-started.md +2 -2
- package/docs/content/key-concepts.md +2 -2
- package/docs/content/messaging.md +57 -15
- package/docs/content/migration-workbench.md +1 -1
- package/docs/content/multi-app-workspace.md +1 -1
- package/docs/content/multi-tenancy.md +17 -15
- package/docs/content/real-time-collaboration.md +1 -1
- package/docs/content/recurring-jobs.md +1 -1
- package/docs/content/security.md +2 -2
- package/docs/content/server.md +4 -4
- package/docs/content/skills-guide.md +30 -0
- package/docs/content/template-analytics.md +2 -2
- package/docs/content/template-assets.md +17 -1
- package/docs/content/template-brain.md +2 -2
- package/docs/content/template-calendar.md +1 -1
- package/docs/content/template-clips.md +3 -3
- package/docs/content/template-content.md +2 -2
- package/docs/content/template-design.md +2 -2
- package/docs/content/template-dispatch.md +3 -3
- package/docs/content/template-forms.md +14 -2
- package/docs/content/template-mail.md +1 -3
- package/docs/content/template-plan.md +118 -0
- package/docs/content/template-slides.md +5 -4
- package/docs/content/template-starter.md +4 -4
- package/docs/content/template-videos.md +6 -11
- package/docs/content/tracking.md +21 -1
- package/docs/content/visual-plans.md +72 -0
- package/docs/content/workspace.md +9 -9
- package/package.json +26 -11
- package/src/templates/default/.agents/skills/actions/SKILL.md +4 -1
- package/src/templates/default/.agents/skills/security/SKILL.md +13 -4
- package/src/templates/default/.agents/skills/storing-data/SKILL.md +15 -3
- package/src/templates/default/AGENTS.md +1 -0
- package/src/templates/default/DEVELOPING.md +2 -0
- package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +10 -3
- package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +98 -10
- package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +45 -3
- package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +37 -4
- package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +9 -4
- package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/client-methods/SKILL.md +106 -0
- package/src/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +53 -0
- package/src/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +62 -61
- package/src/templates/workspace-core/.agents/skills/context-xray/SKILL.md +47 -0
- package/src/templates/workspace-core/.agents/skills/create-skill/SKILL.md +28 -0
- package/src/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +52 -1
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +95 -433
- package/src/templates/workspace-core/.agents/skills/extensions/references/api.md +285 -0
- package/src/templates/workspace-core/.agents/skills/extensions/references/examples.md +259 -0
- package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +398 -0
- package/src/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +157 -0
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +17 -0
- package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +13 -2
- package/src/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +51 -0
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +14 -4
- package/src/templates/workspace-core/.agents/skills/onboarding/SKILL.md +13 -1
- package/src/templates/workspace-core/.agents/skills/portability/SKILL.md +27 -5
- package/src/templates/workspace-core/.agents/skills/qa/SKILL.md +24 -8
- package/src/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +53 -7
- package/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +43 -10
- package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +43 -14
- package/src/templates/workspace-core/.agents/skills/security/SKILL.md +50 -1
- package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -2
- package/src/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +11 -1
- package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +15 -0
- package/src/templates/workspace-core/.agents/skills/sharing/SKILL.md +5 -1
- package/src/templates/workspace-core/.agents/skills/storing-data/SKILL.md +48 -19
- package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +7 -3
- package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +13 -6
- package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +236 -0
- package/src/templates/workspace-core/AGENTS.md +5 -1
- package/src/templates/workspace-root/AGENTS.md +5 -2
|
@@ -139,7 +139,7 @@ User identity is derived from the session email. The framework provides `emailTo
|
|
|
139
139
|
Templates can add a comments system with threaded discussions on documents. The content template includes a full implementation with:
|
|
140
140
|
|
|
141
141
|
- `document_comments` SQL table (threads, replies, resolved status)
|
|
142
|
-
-
|
|
142
|
+
- REST routes for update/delete at `/api/comments/:id`; create and list run through the `add-comment` / `list-comments` actions
|
|
143
143
|
- Comments sidebar with threaded view and reply UI
|
|
144
144
|
- Resolve/unresolve threads
|
|
145
145
|
- **Send to AI** button — sends the comment thread context to the agent chat via `sendToAgentChat()`
|
|
@@ -104,7 +104,7 @@ If the runtime is serverless/edge, trigger the tick from an external cron (Cloud
|
|
|
104
104
|
## Debugging a job {#debugging}
|
|
105
105
|
|
|
106
106
|
- Open `jobs/<name>.md` in the workspace — the frontmatter shows `lastRun`, `lastStatus`, `lastError`, `nextRun`.
|
|
107
|
-
- **
|
|
107
|
+
- **Test it without waiting:** there's no force-fire tool. To exercise the same work on demand, either paste the job's prompt into the agent chat and let it run there, or temporarily set the schedule to the next minute so the scheduler picks it up on the next tick (then restore the real cron).
|
|
108
108
|
- **Pause it:** flip `enabled: false`. The file stays put, just stops running.
|
|
109
109
|
|
|
110
110
|
## Different from the scheduling package {#vs-scheduling-package}
|
package/docs/content/security.md
CHANGED
|
@@ -125,7 +125,7 @@ The `db-query` / `db-exec` tools reject schema-qualified table references (`publ
|
|
|
125
125
|
|
|
126
126
|
For multi-user apps where teams share data, add an `org_id` column. When both columns are present, queries are scoped by both: `WHERE owner_email = ? AND org_id = ?`.
|
|
127
127
|
|
|
128
|
-
The `ownableColumns()` schema helper adds
|
|
128
|
+
The `ownableColumns()` schema helper adds `owner_email`, `org_id`, and `visibility` in one call, so new tenant-aware tables get the full scoping contract by default:
|
|
129
129
|
|
|
130
130
|
```typescript
|
|
131
131
|
import { table, text, ownableColumns } from "@agent-native/core/db/schema";
|
|
@@ -133,7 +133,7 @@ import { table, text, ownableColumns } from "@agent-native/core/db/schema";
|
|
|
133
133
|
export const projects = table("projects", {
|
|
134
134
|
id: text("id").primaryKey(),
|
|
135
135
|
title: text("title").notNull(),
|
|
136
|
-
...ownableColumns(), // adds owner_email + org_id
|
|
136
|
+
...ownableColumns(), // adds owner_email + org_id + visibility
|
|
137
137
|
});
|
|
138
138
|
```
|
|
139
139
|
|
package/docs/content/server.md
CHANGED
|
@@ -63,18 +63,18 @@ Actions mounted by the framework automatically run with request context. Custom
|
|
|
63
63
|
```ts
|
|
64
64
|
import { defineEventHandler } from "h3";
|
|
65
65
|
import { getSession, runWithRequestContext } from "@agent-native/core/server";
|
|
66
|
-
import { getDb } from "
|
|
66
|
+
import { getDb } from "../../db/index.js";
|
|
67
67
|
import { accessFilter } from "@agent-native/core/sharing";
|
|
68
68
|
import * as schema from "../../db/schema";
|
|
69
69
|
|
|
70
70
|
export default defineEventHandler(async (event) => {
|
|
71
71
|
const session = await getSession(event);
|
|
72
|
-
if (!session?.
|
|
72
|
+
if (!session?.email) {
|
|
73
73
|
throw new Response("Unauthorized", { status: 401 });
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
return runWithRequestContext(
|
|
77
|
-
{ userEmail: session.
|
|
77
|
+
{ userEmail: session.email, orgId: session.orgId },
|
|
78
78
|
async () => {
|
|
79
79
|
const db = getDb();
|
|
80
80
|
return db
|
|
@@ -86,7 +86,7 @@ export default defineEventHandler(async (event) => {
|
|
|
86
86
|
});
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
Do not run unscoped `db.select().from(ownableTable)` in custom routes.
|
|
89
|
+
`getDb` is created per app via `createGetDb(schema)` in `server/db/index.ts`, so custom routes import it from the template (`../../db/index.js`), not from `@agent-native/core/db`. Do not run unscoped `db.select().from(ownableTable)` in custom routes.
|
|
90
90
|
|
|
91
91
|
## Server Plugins {#server-plugins}
|
|
92
92
|
|
|
@@ -182,6 +182,36 @@ The frontmatter `name` and `description` are used by the agent's tool system for
|
|
|
182
182
|
|
|
183
183
|
Save the file at `.agents/skills/my-skill/SKILL.md`. The directory name should match the `name` in frontmatter.
|
|
184
184
|
|
|
185
|
+
## Skill scope: runtime vs dev {#skill-scope}
|
|
186
|
+
|
|
187
|
+
An optional `scope` frontmatter field controls which agent a skill is for:
|
|
188
|
+
|
|
189
|
+
| `scope` | Loaded by the runtime agent? | Use for |
|
|
190
|
+
| --------- | ---------------------------- | ------------------------------------------------------------------------------- |
|
|
191
|
+
| `both` | Yes (default) | Skills useful to the in-app agent. This is the default when `scope` is omitted. |
|
|
192
|
+
| `runtime` | Yes | Skills meant only for the in-app runtime agent. |
|
|
193
|
+
| `dev` | No | Skills meant only for the human's coding agent (e.g. Claude Code). |
|
|
194
|
+
|
|
195
|
+
```markdown
|
|
196
|
+
---
|
|
197
|
+
name: release-checklist
|
|
198
|
+
description: >-
|
|
199
|
+
Steps for cutting a release. Use when preparing or publishing a new version.
|
|
200
|
+
scope: dev
|
|
201
|
+
---
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
When `scope` is absent (or set to an unrecognized value) it defaults to `both`, so every existing skill keeps loading at runtime — this field is fully backward compatible. A `scope: dev` skill is invisible to the runtime agent everywhere: it is excluded from the skills block injected into the system prompt and from `docs-search` results.
|
|
205
|
+
|
|
206
|
+
### Exposing a dev-only skill to your coding agent {#dev-only-skills}
|
|
207
|
+
|
|
208
|
+
The agent-native runtime reads skills from `.agents/skills/`. Claude Code reads skills from `.claude/skills/` independently. To make a skill available to your coding agent but hidden from the runtime agent:
|
|
209
|
+
|
|
210
|
+
- Mark it `scope: dev` in `.agents/skills/<name>/SKILL.md` so the runtime agent never loads it, and/or
|
|
211
|
+
- Place or mirror the skill under `.claude/skills/<name>/SKILL.md` so Claude Code picks it up.
|
|
212
|
+
|
|
213
|
+
This replaces the old hack of relying on Claude Code only reading `.claude/skills` — `scope: dev` makes the dev-vs-runtime split a first-class, explicit choice.
|
|
214
|
+
|
|
185
215
|
> **See also:** [Writing Agent Instructions](/docs/writing-agent-instructions) for how to word skill descriptions, apply progressive disclosure, and keep `AGENTS.md` lean.
|
|
186
216
|
|
|
187
217
|
## Skills vs AGENTS.md {#skills-vs-agents-md}
|
|
@@ -76,13 +76,13 @@ The rest of this doc is for anyone forking the Analytics template or extending i
|
|
|
76
76
|
Create a new Analytics app from the CLI:
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
-
|
|
79
|
+
npx @agent-native/core create my-analytics --standalone --template analytics
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
Local dev:
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
|
-
cd my-analytics
|
|
85
|
+
cd my-analytics
|
|
86
86
|
pnpm install
|
|
87
87
|
pnpm dev
|
|
88
88
|
```
|
|
@@ -94,9 +94,25 @@ The rest of this doc is for anyone forking the Assets template or extending it.
|
|
|
94
94
|
### Scaffolding
|
|
95
95
|
|
|
96
96
|
```bash
|
|
97
|
-
|
|
97
|
+
npx @agent-native/core create my-assets --standalone --template assets
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
### Data model
|
|
101
|
+
|
|
102
|
+
All data lives in SQL via Drizzle ORM (binary media lives in object storage, or the local file-upload fallback during development). Schema: `templates/assets/server/db/schema.ts`. Libraries carry the standard `ownableColumns` and a matching framework shares table, so they slot into the per-user / per-org sharing model. The SQL table names keep the legacy `image_*` prefix from when the app was called Images.
|
|
103
|
+
|
|
104
|
+
| Table | What it holds |
|
|
105
|
+
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
106
|
+
| `image_libraries` | A library — the top-level container grouped by brand, campaign, product, or category. Holds `custom_instructions`, `style_brief`, canonical logo and cover asset refs, and archive state |
|
|
107
|
+
| `image_library_shares` | Framework shares table mapping principals (users or orgs) to roles (viewer, editor, admin) per library |
|
|
108
|
+
| `image_collections` | Style/category groupings inside a library — `style_brief`, `prompt_template`, default aspect ratio and image size |
|
|
109
|
+
| `asset_folders` | Nestable folders inside a library (`parent_id` for hierarchy) |
|
|
110
|
+
| `image_generation_presets` | Saved generation recipes — media type, prompt template, aspect ratio, model, and text/reference policy |
|
|
111
|
+
| `image_generation_sessions` | An iterative generate-and-choose session with a brief, status, active asset, and feedback summary |
|
|
112
|
+
| `image_generation_session_items` | Candidate assets within a session, each with a role and note |
|
|
113
|
+
| `image_assets` | The asset record — media type, role, status, title/description/alt text, prompt, model, dimensions, MIME type, object/thumbnail keys, and lineage |
|
|
114
|
+
| `image_generation_runs` | The generation audit log — prompt, compiled prompt, model, references, status, errors, and the `source` (`chat` / `ui` / `a2a`) that triggered it |
|
|
115
|
+
|
|
100
116
|
### Customizing it
|
|
101
117
|
|
|
102
118
|
Assets is a complete, cloneable template. Some practical extension ideas:
|
|
@@ -80,7 +80,7 @@ exclusion, and honest not-found behavior without connecting a real workspace.
|
|
|
80
80
|
### Scaffolding
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
|
-
|
|
83
|
+
npx @agent-native/core create my-brain --standalone --template brain
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
Then open the app, add sources, import a transcript, and ask the agent to
|
|
@@ -142,7 +142,7 @@ so Dispatch and sibling apps can ask company-memory questions — the A2A agent
|
|
|
142
142
|
card is public discovery metadata, while retrieval still happens inside Brain's
|
|
143
143
|
authenticated action surface.
|
|
144
144
|
|
|
145
|
-
## Data model
|
|
145
|
+
## Data model
|
|
146
146
|
|
|
147
147
|
Brain intentionally uses SQL text search and agentic query expansion. There is
|
|
148
148
|
no vector database requirement, so the template stays portable across SQLite,
|
|
@@ -70,7 +70,7 @@ The rest of this doc is for anyone forking the Calendar template or extending it
|
|
|
70
70
|
Create a new workspace with the Calendar template:
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
|
-
npx @agent-native/core create my-app --template calendar
|
|
73
|
+
npx @agent-native/core create my-app --standalone --template calendar
|
|
74
74
|
cd my-app
|
|
75
75
|
pnpm install
|
|
76
76
|
pnpm dev
|
|
@@ -17,7 +17,7 @@ A capture-everything app: screen recordings, meeting notes from your calendar, a
|
|
|
17
17
|
|
|
18
18
|

|
|
19
19
|
|
|
20
|
-
Think along the lines of Loom + Granola +
|
|
20
|
+
Think along the lines of Loom + Granola + Wispr Flow rolled into one app — but the agent is a first-class editor across every surface, and the recordings, meetings, and dictations are yours, not a SaaS vendor's.
|
|
21
21
|
|
|
22
22
|
## What you can do with it
|
|
23
23
|
|
|
@@ -64,7 +64,7 @@ The rest of this doc is for anyone forking the Clips template or extending it.
|
|
|
64
64
|
### Scaffolding
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
|
|
67
|
+
npx @agent-native/core create my-clips --standalone --template clips
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Clips is a larger template with a native recorder (it ships a desktop companion for local capture). See the template `README.md` for setup specifics around screen-capture permissions and storage configuration.
|
|
@@ -109,7 +109,7 @@ Every agent-callable operation is a TypeScript file in `templates/clips/actions/
|
|
|
109
109
|
- **Search, insights & export** — `search-recordings` (matches titles, descriptions, transcript text, and comments, with timestamps), `get-recording-insights`, `get-organization-insights`, `export-insights-csv`, `export-to-brain`.
|
|
110
110
|
- **Context & navigation** — `view-screen` (current clip, playhead, selected transcript range) and `navigate`; `refresh-list` after mutations.
|
|
111
111
|
|
|
112
|
-
###
|
|
112
|
+
### Customizing it
|
|
113
113
|
|
|
114
114
|
Clips is a complete, cloneable template — fork it and ask the agent to extend it. Some examples:
|
|
115
115
|
|
|
@@ -52,7 +52,7 @@ The rest of this doc is for anyone forking the Content template or extending it.
|
|
|
52
52
|
Scaffold a new workspace with the Content template:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
npx @agent-native/core create my-workspace --template content
|
|
55
|
+
npx @agent-native/core create my-workspace --standalone --template content
|
|
56
56
|
cd my-workspace
|
|
57
57
|
pnpm install
|
|
58
58
|
pnpm dev
|
|
@@ -155,7 +155,7 @@ The four places to look when changing behavior:
|
|
|
155
155
|
- **`app/components/editor/`** — the Tiptap editor. Add a new node type under `extensions/` and register it in `DocumentEditor.tsx`. The bubble toolbar, slash menu, and hover previews are all component files you can edit.
|
|
156
156
|
- **`.agents/skills/`** — guidance the agent reads before acting. If you add a new capability (say, a CMS publishing pipeline), drop a `SKILL.md` in a new skill folder so the agent uses it correctly. Existing skills: `document-editing`, `notion-integration`, `real-time-sync`, `delegate-to-agent`, `storing-data`, `self-modifying-code`, `security`, `frontend-design`, `create-skill`, `capture-learnings`.
|
|
157
157
|
- **`AGENTS.md`** — the top-level agent guide with the action cheatsheet and common-tasks table. Update it whenever you add a major feature so the agent discovers it without exploring.
|
|
158
|
-
- **`server/db/schema.ts`** — data model. Add a column or table here.
|
|
158
|
+
- **`server/db/schema.ts`** — data model. Add a column or table here. The Content template has no `db:push` script; it relies on strictly additive migrations that run on startup. Edit `server/db/schema.ts`, write a matching additive migration, and the change applies the next time the app boots — schema updates must never drop, rename, or destructively alter existing tables or columns (see [Database](/docs/database#migrations) for guidelines).
|
|
159
159
|
- **`shared/notion-markdown.ts`** — markdown-to-Notion-blocks conversion. Extend this if you add new block types that need to round-trip through Notion.
|
|
160
160
|
|
|
161
161
|
The agent can make all of these changes itself — ask it to "add a tags column to documents and expose it in the sidebar" and it will update the schema, migrate, wire the UI, and write the action.
|
|
@@ -109,7 +109,7 @@ The rest of this doc is for anyone forking the Design template or extending it.
|
|
|
109
109
|
### Scaffolding
|
|
110
110
|
|
|
111
111
|
```bash
|
|
112
|
-
|
|
112
|
+
npx @agent-native/core create my-design --standalone --template design
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
### Data Model
|
|
@@ -139,7 +139,7 @@ Every agent-callable operation is a TypeScript file in `templates/design/actions
|
|
|
139
139
|
- **Export & handoff** — `export-html`, `export-pdf`, `export-svg`, `export-zip`, and `export-coding-handoff` to turn a design into a coding-tool handoff.
|
|
140
140
|
- **Context & navigation** — `view-screen` (current design, open file, view, pending question or variant grid), `get-design-snapshot` (current state for an external agent to continue from), and `navigate`.
|
|
141
141
|
|
|
142
|
-
###
|
|
142
|
+
### Customizing It
|
|
143
143
|
|
|
144
144
|
Design is a complete, cloneable template. Some practical extension ideas:
|
|
145
145
|
|
|
@@ -74,7 +74,7 @@ _How it works under the hood (for developers)._
|
|
|
74
74
|
|
|
75
75
|
- **Orchestrator agent.** The chat is set up as a router: it reads `AGENTS.md`, `LEARNINGS.md`, and routes to specialist sub-agents or remote A2A agents.
|
|
76
76
|
- **Remote agent registry.** A2A agent manifests are workspace-runtime entries (not a checked-in template source folder): in a multi-app workspace, sibling apps under `apps/` are auto-discovered as A2A peers — no manual registration needed. Dispatch calls them using the `call-agent` action.
|
|
77
|
-
- **Vault schema.** Drizzle tables for secrets, grants, requests, approvals, and audit logs.
|
|
77
|
+
- **Vault schema.** Drizzle tables for secrets, grants, requests, approvals, and audit logs. These live in the `@agent-native/dispatch` package (`packages/dispatch/src/db/schema.ts`) and are re-exported into the template via `templates/dispatch/server/db/index.ts` — there is no template-local `server/db/schema.ts`. Dispatch's runtime ships in the package, not in template source (consistent with the note below that `@agent-native/dispatch` owns the shell, sidebar, and built-in pages).
|
|
78
78
|
- **Slack / Telegram plugins.** Server plugins that register webhooks and forward incoming messages to the orchestrator agent.
|
|
79
79
|
- **Workspace MCP resources.** Add HTTP MCP server definitions under `mcp-servers/*.json` in Resources, then scope them to All apps or selected app grants just like skills and context.
|
|
80
80
|
- **MCP hub mode.** Dispatch can still act as the workspace's [MCP hub](/docs/mcp-clients#hub) so every other app in the workspace pulls the same org-scope MCP server list. Separately, Dispatch's own `/_agent-native/mcp` endpoint is the recommended external MCP connector for Claude, ChatGPT, and other hosts that should reach multiple workspace apps.
|
|
@@ -117,7 +117,7 @@ pnpm action create-dream-report --allSources true --sourceTimeoutMs 30000 --limi
|
|
|
117
117
|
## Scaffolding {#scaffolding}
|
|
118
118
|
|
|
119
119
|
```bash
|
|
120
|
-
|
|
120
|
+
npx @agent-native/core create my-platform
|
|
121
121
|
# pick "Dispatch" in the multi-select picker, plus whichever domain apps you want
|
|
122
122
|
```
|
|
123
123
|
|
|
@@ -140,7 +140,7 @@ You can click through the Dispatch UI after signing in. To use the chat composer
|
|
|
140
140
|
2. In **LLM**, either connect Builder.io or add your own provider key such as `ANTHROPIC_API_KEY`.
|
|
141
141
|
3. Return to **Overview** and try the composer.
|
|
142
142
|
|
|
143
|
-
##
|
|
143
|
+
## Customizing it {#customize}
|
|
144
144
|
|
|
145
145
|
Dispatch is a full template like any other — see [Templates](/docs/cloneable-saas). Ask the agent to "add a new integration for Datadog" or "route Slack DMs from channel X to the analytics agent" and it'll edit the routing config, add the webhook handler, and wire it up.
|
|
146
146
|
|
|
@@ -58,17 +58,29 @@ See [What is agent-native?](/docs/what-is-agent-native) for the broader framewor
|
|
|
58
58
|
### Scaffolding
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
npx @agent-native/core create my-forms --standalone --template forms
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
For a workspace with Forms alongside other apps:
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
|
|
67
|
+
npx @agent-native/core create my-platform
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Pick Forms and any other templates you want during the workspace setup.
|
|
71
71
|
|
|
72
|
+
### Data model
|
|
73
|
+
|
|
74
|
+
All data lives in SQL via Drizzle ORM. Schema: `templates/forms/server/db/schema.ts`. Forms carry the standard `ownableColumns` and a matching framework shares table, so they slot into the per-user / per-org sharing model.
|
|
75
|
+
|
|
76
|
+
| Table | What it holds |
|
|
77
|
+
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
78
|
+
| `forms` | A form definition — `title`, `description`, unique `slug`, `fields` (JSON array of `FormField`), `settings` (JSON `FormSettings`), `status` (`draft` / `published` / `closed`), and a soft-delete `deleted_at` |
|
|
79
|
+
| `responses` | One submission per row — `form_id`, `data` (JSON `{ fieldId: value }`), `submitted_at`, optional `ip` and `submitter_email` |
|
|
80
|
+
| `form_shares` | Framework shares table mapping principals (users or orgs) to roles (viewer, editor, admin) per form |
|
|
81
|
+
|
|
82
|
+
The `fields` and `settings` JSON shapes are defined in `templates/forms/shared/types.ts` (`FormField`, `FormSettings`). Owner-private settings such as integration webhook URLs and allowed origins are stripped before any data reaches the public fill page via `toPublicFormSettings`.
|
|
83
|
+
|
|
72
84
|
### Customizing it
|
|
73
85
|
|
|
74
86
|
Ask the agent for shipped behavior first:
|
|
@@ -34,9 +34,7 @@ When you open the app, you'll see your inbox on the left, the open thread in the
|
|
|
34
34
|
|
|
35
35
|
Live demo: [mail.agent-native.com](https://mail.agent-native.com).
|
|
36
36
|
|
|
37
|
-
> **
|
|
38
|
-
>
|
|
39
|
-
> Self-hosted Mail apps use your own Google OAuth client and avoid this hosted-demo warning. Use the run-local command when you want that path.
|
|
37
|
+
> **Google may show a warning:** The hosted demo uses Agent-Native's shared Google app for Gmail access, so Google may ask you to confirm before continuing. Run locally to use your own Google OAuth client.
|
|
40
38
|
|
|
41
39
|
When you first open the app:
|
|
42
40
|
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Plans"
|
|
3
|
+
description: "Install Agent-Native Plans as an app-backed skill for Codex, Claude Code, and other coding agents. Create structured visual plans with diagrams, wireframes, annotations, comments, and share links."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plans
|
|
7
|
+
|
|
8
|
+
Agent-Native Plans is visual plan mode for coding agents. It turns an ordinary
|
|
9
|
+
Codex, Claude Code, Markdown, or pasted implementation plan into a structured
|
|
10
|
+
review surface with rich text, diagrams, wireframes, prototypes, implementation
|
|
11
|
+
maps, annotations, comments, and shareable links.
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
|
|
15
|
+
## Install the skill
|
|
16
|
+
|
|
17
|
+
Use the Agent-Native CLI. This is the recommended setup because it installs the
|
|
18
|
+
Plans skill instructions, registers the hosted Plans MCP connector, and runs the
|
|
19
|
+
client-specific auth/setup flow in one step:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx @agent-native/core@latest skills add visual-plan
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
If you already have the CLI installed, the shorter command is equivalent:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
agent-native skills add visual-plan
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The command installs `/visual-plan` plus the companion commands:
|
|
32
|
+
|
|
33
|
+
- `/ui-plan` for UI-first plans with mockups, states, and screen-level review.
|
|
34
|
+
- `/visual-questions` for visual intake before a plan.
|
|
35
|
+
- `/visualize-plan` for turning an existing text plan into a visual companion.
|
|
36
|
+
|
|
37
|
+
By default the CLI targets Codex. Add `--client claude-code` or `--client all`
|
|
38
|
+
when you want to configure another host:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npx @agent-native/core@latest skills add visual-plan --client all
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
If you only want the portable instruction file through the open Skills CLI, use:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx skills add BuilderIO/agent-native --skill visual-plan
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
That installs the skill instructions only. It does not register the hosted MCP
|
|
51
|
+
connector, so use the Agent-Native CLI path when you want the one-command setup.
|
|
52
|
+
|
|
53
|
+
## Use it from your coding agent
|
|
54
|
+
|
|
55
|
+
After installation, ask your agent for the command that fits the work:
|
|
56
|
+
|
|
57
|
+
- `/visual-plan` creates a structured plan for architecture, backend, refactor,
|
|
58
|
+
or mixed product work.
|
|
59
|
+
- `/ui-plan` creates a UI-first plan with wireframes, mockups, states, and
|
|
60
|
+
implementation notes.
|
|
61
|
+
- `/visual-questions` opens a visual intake questionnaire before planning.
|
|
62
|
+
- `/visualize-plan` imports a plan you already have and makes it reviewable.
|
|
63
|
+
|
|
64
|
+
The agent should inspect the codebase first, then create the visual plan when a
|
|
65
|
+
wrong direction would be costly. The returned Plans link opens the review UI so
|
|
66
|
+
you can annotate, correct, choose options, and ask for updates before code
|
|
67
|
+
changes begin.
|
|
68
|
+
|
|
69
|
+
## What you can do with it
|
|
70
|
+
|
|
71
|
+
- **Review before implementation.** React to diagrams, wireframes, option tabs,
|
|
72
|
+
risk notes, file maps, and code previews before the agent edits files.
|
|
73
|
+
- **Comment directly on the plan.** Pin feedback, request changes, and resolve
|
|
74
|
+
comments as the plan evolves.
|
|
75
|
+
- **Share with reviewers.** Hosted Plans can create private review links and
|
|
76
|
+
account-backed sharing. Viewing shared plans works from the browser; saving
|
|
77
|
+
and sharing require sign-in.
|
|
78
|
+
- **Export the result.** Keep an HTML, Markdown, or JSON receipt of the plan
|
|
79
|
+
when you need a source-control-friendly handoff.
|
|
80
|
+
- **Run locally when needed.** The template can be self-hosted for development
|
|
81
|
+
or offline workflows, while the hosted skill is the easiest path for normal
|
|
82
|
+
coding-agent use.
|
|
83
|
+
|
|
84
|
+
## Useful prompts
|
|
85
|
+
|
|
86
|
+
- "Use `/visual-plan` before changing the auth flow."
|
|
87
|
+
- "Create a `/ui-plan` for the new onboarding screen with mobile and desktop states."
|
|
88
|
+
- "Use `/visual-questions` to help me choose the dashboard direction first."
|
|
89
|
+
- "Run `/visualize-plan` on the Markdown plan below and make it easier to review."
|
|
90
|
+
|
|
91
|
+
## For developers
|
|
92
|
+
|
|
93
|
+
The rest of this doc is for anyone forking or self-hosting the Plans template.
|
|
94
|
+
Most users should install the skill with the CLI instead of scaffolding the app.
|
|
95
|
+
|
|
96
|
+
### Scaffold the template
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
npx @agent-native/core create my-plans --standalone --template plan
|
|
100
|
+
cd my-plans
|
|
101
|
+
pnpm install
|
|
102
|
+
pnpm dev
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
The hosted app-backed skill uses:
|
|
106
|
+
|
|
107
|
+
- App: `https://plan.agent-native.com`
|
|
108
|
+
- MCP: `https://plan.agent-native.com/_agent-native/mcp`
|
|
109
|
+
|
|
110
|
+
The local template is useful when you are developing Plans itself, testing local
|
|
111
|
+
persistence, or running a fully self-hosted review surface.
|
|
112
|
+
|
|
113
|
+
## What's next
|
|
114
|
+
|
|
115
|
+
- [**Visual Plans**](/docs/visual-plans) — the full skill flow and auth details
|
|
116
|
+
- [**Skills**](/docs/skills-guide) — how Agent-Native installs skills
|
|
117
|
+
- [**MCP Clients**](/docs/mcp-clients) — configuring hosted MCP connectors
|
|
118
|
+
- [**Templates**](/docs/cloneable-saas) — the clone-and-own model
|
|
@@ -60,8 +60,9 @@ The rest of this doc is for anyone forking the Slides template or extending it.
|
|
|
60
60
|
Create a new Slides app from the CLI:
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
|
-
npx @agent-native/core create my-slides --template slides
|
|
63
|
+
npx @agent-native/core create my-slides --standalone --template slides
|
|
64
64
|
cd my-slides
|
|
65
|
+
pnpm install
|
|
65
66
|
pnpm dev
|
|
66
67
|
```
|
|
67
68
|
|
|
@@ -73,9 +74,9 @@ Ask the agent for a deck and it builds one slide at a time. Slides stream into t
|
|
|
73
74
|
|
|
74
75
|
Under the hood, this is powered by the `add-slide` and `create-deck` actions in `templates/slides/actions/`.
|
|
75
76
|
|
|
76
|
-
###
|
|
77
|
+
### Seven slide layouts
|
|
77
78
|
|
|
78
|
-
Built-in layouts: title, section divider, content with bullets, two-column,
|
|
79
|
+
Built-in layouts: title, section divider, content with bullets, two-column, statement or quote, metrics or stats, and closing or CTA. Each layout is a pure HTML template with inline styles — the agent picks the right one based on slide purpose. The exact templates live inside `templates/slides/.agents/skills/create-deck/SKILL.md` so the agent can reference them without exploring the codebase.
|
|
79
80
|
|
|
80
81
|
### Visual and code editing
|
|
81
82
|
|
|
@@ -233,7 +234,7 @@ Agent skills that explain patterns when the agent needs to modify code:
|
|
|
233
234
|
|
|
234
235
|
### AGENTS.md
|
|
235
236
|
|
|
236
|
-
`templates/slides/AGENTS.md` is the
|
|
237
|
+
`templates/slides/AGENTS.md` is the short router the agent reads on every conversation. It points at the skills under `.agents/skills/` and lays out the core rules, application-state contract, and skill index. The exact slide HTML templates for every layout live in `.agents/skills/create-deck/SKILL.md` — update that skill whenever you add or change a slide layout pattern.
|
|
237
238
|
|
|
238
239
|
### API routes
|
|
239
240
|
|
|
@@ -25,10 +25,10 @@ Pick Starter when you're not sure which domain template fits, or when you want t
|
|
|
25
25
|
- **Agent chat plugin** pre-configured so the chat actually talks to Claude (once `ANTHROPIC_API_KEY` is set).
|
|
26
26
|
- **Auth** via Better Auth — login, signup, sessions, organizations. The same flow runs locally and in production; in development email verification is skipped so signup is just an email + password.
|
|
27
27
|
- **Actions directory** with one example (`actions/hello.ts`) and the `view-screen` / `navigate` standard actions wired up.
|
|
28
|
-
- **
|
|
28
|
+
- **The framework's core tables** (application_state, settings, oauth_tokens, sessions, resources) provided by `@agent-native/core` at runtime — there's no template-local schema file to maintain. Add your own Drizzle schema when you define domain tables.
|
|
29
29
|
- **Live sync** (`useDbSync`) already wired so UI auto-refreshes when the agent writes to the database.
|
|
30
30
|
- **AGENTS.md** with the framework-wide rules the agent reads on every turn.
|
|
31
|
-
- **One route** at `/` that says hi and renders the sidebar toggle
|
|
31
|
+
- **One example domain route** at `/` that says hi and renders the sidebar toggle, plus the framework-shared admin routes (Database, Team, Observability, Extensions).
|
|
32
32
|
|
|
33
33
|
## What's _not_ in it {#not-in-it}
|
|
34
34
|
|
|
@@ -51,13 +51,13 @@ Pick a domain template ([Mail](/docs/template-mail), [Calendar](/docs/template-c
|
|
|
51
51
|
## Scaffolding {#scaffolding}
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
|
|
54
|
+
npx @agent-native/core create my-app --standalone --template starter
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
Or, in a workspace:
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
|
-
|
|
60
|
+
npx @agent-native/core create my-platform # pick "Starter" (pre-selected by default) plus any others
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
## First edits {#first-edits}
|
|
@@ -24,7 +24,7 @@ When you open the studio, you'll see a list of compositions on the home screen.
|
|
|
24
24
|
- **Generate animations from a prompt.** "Add a title card that fades in at 2 seconds and holds until 5." The agent edits the composition.
|
|
25
25
|
- **Tune timing on a timeline.** Drag and resize animation tracks, scrub through frames, set easing curves visually.
|
|
26
26
|
- **Animate the camera.** Pan, zoom, and tilt with on-screen tools. Click the tool, drag in the preview, and a keyframe is auto-created.
|
|
27
|
-
- **
|
|
27
|
+
- **Start from a blank composition or an example.** The template ships one in-code composition (`BlankComposition`) to start from; example compositions — kinetic text, logo reveals, particle bursts, interactive UI demos, slideshows — load from the database, and you can add your own.
|
|
28
28
|
- **Edit easing curves visually.** 30+ curves shipped — power, back, bounce, circ, elastic, expo, sine, plus spring physics.
|
|
29
29
|
- **Render to MP4 or WebM** at 1x, 2x, or 3x supersampling for crisp text and vectors during camera zoom.
|
|
30
30
|
|
|
@@ -64,21 +64,16 @@ The studio runs on Remotion's `<Player>` for preview and the Remotion CLI for fi
|
|
|
64
64
|
|
|
65
65
|
### Quick start
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
npx @agent-native/core create my-video-app
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
During the picker, select **Video**. Then:
|
|
67
|
+
Scaffold a new Video app from the CLI:
|
|
74
68
|
|
|
75
69
|
```bash
|
|
70
|
+
npx @agent-native/core create my-video-app --standalone --template videos
|
|
76
71
|
cd my-video-app
|
|
77
72
|
pnpm install
|
|
78
73
|
pnpm dev
|
|
79
74
|
```
|
|
80
75
|
|
|
81
|
-
Open the studio in your browser
|
|
76
|
+
Open the studio in your browser, create a composition, and start from blank. Ask the agent something like "add a logo reveal that fades in at 2 seconds" and it will edit the composition for you.
|
|
82
77
|
|
|
83
78
|
Live demo: [videos.agent-native.com](https://videos.agent-native.com).
|
|
84
79
|
|
|
@@ -86,7 +81,7 @@ Live demo: [videos.agent-native.com](https://videos.agent-native.com).
|
|
|
86
81
|
|
|
87
82
|
### React-based compositions
|
|
88
83
|
|
|
89
|
-
Every video is a React component built on Remotion primitives (`AbsoluteFill`, `useCurrentFrame`, `useVideoConfig`).
|
|
84
|
+
Every video is a React component built on Remotion primitives (`AbsoluteFill`, `useCurrentFrame`, `useVideoConfig`). The template ships one in-code composition — `BlankComposition` in `app/remotion/compositions/BlankComposition.tsx` — and `app/remotion/registry.ts` exports an empty `compositions` array by default. User and example compositions (kinetic text, logo reveals, particle bursts, interactive UI demos, slideshows) live in SQL and load through `app/hooks/use-database-compositions.ts`. You can still add a code composition by dropping a `.tsx` file in `app/remotion/compositions/` and registering it in `app/remotion/registry.ts`.
|
|
90
85
|
|
|
91
86
|
### Timeline tracks
|
|
92
87
|
|
|
@@ -128,7 +123,7 @@ Composition size, fps, and render quality are per-composition in the Properties
|
|
|
128
123
|
|
|
129
124
|
### Composition persistence
|
|
130
125
|
|
|
131
|
-
User edits (track values, parameter values, prop overrides, composition settings) persist to localStorage per composition. The **Save** button in the top-right of the composition view
|
|
126
|
+
User edits (track values, parameter values, prop overrides, composition settings) persist to localStorage per composition. The **Save** button in the top-right of the composition view can write the current state back to `app/remotion/registry.ts` as TypeScript — so new users and sessions pick up the changes. That source-write path runs through `POST /api/save-composition-defaults`, which is gated to local development only; in production it returns a 403, and durable composition state lives in SQL instead.
|
|
132
127
|
|
|
133
128
|
### Working with the agent
|
|
134
129
|
|
package/docs/content/tracking.md
CHANGED
|
@@ -5,7 +5,7 @@ description: "Server-side analytics with pluggable providers — PostHog, Mixpan
|
|
|
5
5
|
|
|
6
6
|
# Analytics Tracking
|
|
7
7
|
|
|
8
|
-
One function, multiple destinations. Call `track()` from any server-side code — actions, plugins, server routes — and the event fans out to every registered analytics provider. No SDK dependencies, no client-side scripts, no blocking.
|
|
8
|
+
One function, multiple destinations. Call `track()` from any server-side code — actions, plugins, server routes — and the event fans out to every registered analytics provider. No SDK dependencies, no client-side scripts, no blocking. The same `track()` is also available in [browser/app code](#client) and routes to the same providers.
|
|
9
9
|
|
|
10
10
|
```ts
|
|
11
11
|
import { track } from "@agent-native/core/tracking";
|
|
@@ -173,6 +173,26 @@ export default defineAction({
|
|
|
173
173
|
|
|
174
174
|
Track calls are fire-and-forget — they return immediately and never block the action response.
|
|
175
175
|
|
|
176
|
+
## Client-side tracking {#client}
|
|
177
|
+
|
|
178
|
+
`track()` also works from browser/app code. Import the client twin from `@agent-native/core/client` and call it the same way — it POSTs the event to the framework route at `POST /_agent-native/track`, which forwards it to the **same** registered server-side providers (PostHog, Mixpanel, Amplitude, webhook). No analytics SDK ships to the browser and no provider keys are exposed client-side.
|
|
179
|
+
|
|
180
|
+
```ts
|
|
181
|
+
import { track } from "@agent-native/core/client";
|
|
182
|
+
|
|
183
|
+
// e.g. inside a click handler or effect
|
|
184
|
+
track("checkout.completed", { total: 49.99, items: 3 });
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Key differences from the [server `track()`](#track):
|
|
188
|
+
|
|
189
|
+
- **No identity argument.** The event is attributed server-side to the signed-in user (and the active org, as `org_id` in `properties`). Browser code never passes a `userId`.
|
|
190
|
+
- **`source: "client"`** is added to every event's properties so you can tell client-originated events apart from server ones.
|
|
191
|
+
- **Fire-and-forget.** It never blocks the UI, never throws, and swallows network errors.
|
|
192
|
+
- **Authenticated, first-party only.** The route requires a session and a same-origin/CSRF marker (set automatically by the helper), so it can't be used as an open analytics relay. `name` is capped at 200 characters and `properties` at ~16KB; oversized or malformed payloads are rejected.
|
|
193
|
+
|
|
194
|
+
This is distinct from the framework's internal browser telemetry (`trackEvent()` / automatic pageviews — see [Browser defaults](#browser-defaults)), which powers Agent Native's own product analytics. Use `track()` for your app's own analytics events that should reach your configured providers.
|
|
195
|
+
|
|
176
196
|
## What's next
|
|
177
197
|
|
|
178
198
|
- [**Actions**](/docs/actions) — where most tracking calls originate
|