@agent-native/core 0.84.35 → 0.84.36

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.
Files changed (187) hide show
  1. package/README.md +15 -51
  2. package/corpus/core/CHANGELOG.md +12 -0
  3. package/corpus/core/docs/content/actions.mdx +17 -24
  4. package/corpus/core/docs/content/agent-surfaces.mdx +59 -56
  5. package/corpus/core/docs/content/cloneable-saas.mdx +3 -3
  6. package/corpus/core/docs/content/faq.mdx +4 -4
  7. package/corpus/core/docs/content/getting-started.mdx +246 -204
  8. package/corpus/core/docs/content/key-concepts.mdx +9 -9
  9. package/corpus/core/docs/content/locales/ar-SA/cloneable-saas.mdx +3 -3
  10. package/corpus/core/docs/content/locales/ar-SA/faq.mdx +4 -4
  11. package/corpus/core/docs/content/locales/ar-SA/getting-started.mdx +148 -214
  12. package/corpus/core/docs/content/locales/ar-SA/pure-agent-apps.mdx +4 -9
  13. package/corpus/core/docs/content/locales/ar-SA/template-chat.mdx +2 -2
  14. package/corpus/core/docs/content/locales/ar-SA/using-your-agent.mdx +2 -2
  15. package/corpus/core/docs/content/locales/de-DE/cloneable-saas.mdx +3 -3
  16. package/corpus/core/docs/content/locales/de-DE/faq.mdx +4 -4
  17. package/corpus/core/docs/content/locales/de-DE/getting-started.mdx +145 -211
  18. package/corpus/core/docs/content/locales/de-DE/pure-agent-apps.mdx +4 -9
  19. package/corpus/core/docs/content/locales/de-DE/template-chat.mdx +2 -2
  20. package/corpus/core/docs/content/locales/de-DE/using-your-agent.mdx +2 -2
  21. package/corpus/core/docs/content/locales/es-ES/cloneable-saas.mdx +3 -3
  22. package/corpus/core/docs/content/locales/es-ES/faq.mdx +4 -4
  23. package/corpus/core/docs/content/locales/es-ES/getting-started.mdx +148 -214
  24. package/corpus/core/docs/content/locales/es-ES/pure-agent-apps.mdx +4 -9
  25. package/corpus/core/docs/content/locales/es-ES/template-chat.mdx +2 -2
  26. package/corpus/core/docs/content/locales/es-ES/using-your-agent.mdx +2 -2
  27. package/corpus/core/docs/content/locales/fr-FR/cloneable-saas.mdx +2 -2
  28. package/corpus/core/docs/content/locales/fr-FR/faq.mdx +4 -4
  29. package/corpus/core/docs/content/locales/fr-FR/getting-started.mdx +146 -212
  30. package/corpus/core/docs/content/locales/fr-FR/pure-agent-apps.mdx +4 -9
  31. package/corpus/core/docs/content/locales/fr-FR/template-chat.mdx +2 -2
  32. package/corpus/core/docs/content/locales/fr-FR/using-your-agent.mdx +2 -2
  33. package/corpus/core/docs/content/locales/hi-IN/cloneable-saas.mdx +3 -3
  34. package/corpus/core/docs/content/locales/hi-IN/faq.mdx +4 -4
  35. package/corpus/core/docs/content/locales/hi-IN/getting-started.mdx +149 -215
  36. package/corpus/core/docs/content/locales/hi-IN/pure-agent-apps.mdx +8 -13
  37. package/corpus/core/docs/content/locales/hi-IN/template-chat.mdx +2 -2
  38. package/corpus/core/docs/content/locales/hi-IN/using-your-agent.mdx +2 -2
  39. package/corpus/core/docs/content/locales/ja-JP/cloneable-saas.mdx +2 -2
  40. package/corpus/core/docs/content/locales/ja-JP/faq.mdx +4 -4
  41. package/corpus/core/docs/content/locales/ja-JP/getting-started.mdx +144 -210
  42. package/corpus/core/docs/content/locales/ja-JP/pure-agent-apps.mdx +8 -13
  43. package/corpus/core/docs/content/locales/ja-JP/template-chat.mdx +2 -2
  44. package/corpus/core/docs/content/locales/ja-JP/using-your-agent.mdx +2 -2
  45. package/corpus/core/docs/content/locales/ko-KR/cloneable-saas.mdx +3 -3
  46. package/corpus/core/docs/content/locales/ko-KR/faq.mdx +4 -4
  47. package/corpus/core/docs/content/locales/ko-KR/getting-started.mdx +146 -212
  48. package/corpus/core/docs/content/locales/ko-KR/pure-agent-apps.mdx +8 -13
  49. package/corpus/core/docs/content/locales/ko-KR/template-chat.mdx +2 -2
  50. package/corpus/core/docs/content/locales/ko-KR/using-your-agent.mdx +2 -2
  51. package/corpus/core/docs/content/locales/pt-BR/cloneable-saas.mdx +3 -3
  52. package/corpus/core/docs/content/locales/pt-BR/faq.mdx +4 -4
  53. package/corpus/core/docs/content/locales/pt-BR/getting-started.mdx +145 -211
  54. package/corpus/core/docs/content/locales/pt-BR/pure-agent-apps.mdx +4 -9
  55. package/corpus/core/docs/content/locales/pt-BR/template-chat.mdx +2 -2
  56. package/corpus/core/docs/content/locales/pt-BR/using-your-agent.mdx +2 -2
  57. package/corpus/core/docs/content/locales/zh-CN/cloneable-saas.mdx +3 -3
  58. package/corpus/core/docs/content/locales/zh-CN/faq.mdx +4 -4
  59. package/corpus/core/docs/content/locales/zh-CN/getting-started.mdx +158 -209
  60. package/corpus/core/docs/content/locales/zh-CN/pure-agent-apps.mdx +4 -9
  61. package/corpus/core/docs/content/locales/zh-CN/template-chat.mdx +2 -2
  62. package/corpus/core/docs/content/locales/zh-CN/using-your-agent.mdx +2 -2
  63. package/corpus/core/docs/content/locales/zh-TW/cloneable-saas.mdx +3 -3
  64. package/corpus/core/docs/content/locales/zh-TW/faq.mdx +4 -4
  65. package/corpus/core/docs/content/locales/zh-TW/getting-started.mdx +158 -212
  66. package/corpus/core/docs/content/locales/zh-TW/pure-agent-apps.mdx +4 -9
  67. package/corpus/core/docs/content/locales/zh-TW/template-chat.mdx +2 -2
  68. package/corpus/core/docs/content/locales/zh-TW/using-your-agent.mdx +2 -2
  69. package/corpus/core/docs/content/native-chat-ui.mdx +17 -32
  70. package/corpus/core/docs/content/pure-agent-apps.mdx +46 -26
  71. package/corpus/core/docs/content/template-chat.mdx +8 -8
  72. package/corpus/core/docs/content/using-your-agent.mdx +2 -2
  73. package/corpus/core/docs/content/what-is-agent-native.mdx +6 -6
  74. package/corpus/core/package.json +1 -1
  75. package/corpus/core/src/cli/skills.ts +7 -9
  76. package/corpus/core/src/client/MultiTabAssistantChat.tsx +2 -0
  77. package/corpus/core/src/client/RunStuckBanner.tsx +172 -18
  78. package/corpus/core/src/client/blocks/library/wireframe-kit.tsx +57 -9
  79. package/corpus/core/src/client/blocks/library/wireframe.tsx +3 -18
  80. package/corpus/core/src/client/chat/widgets/builtin-tool-renderers.tsx +28 -32
  81. package/corpus/core/src/db/schema.ts +5 -0
  82. package/corpus/core/src/styles/blocks.css +27 -6
  83. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +1 -4
  84. package/corpus/templates/content/actions/list-trashed-content-databases.ts +1 -1
  85. package/corpus/templates/plan/.agents/skills/visual-plan/references/wireframe.md +7 -9
  86. package/corpus/templates/plan/.agents/skills/visual-recap/references/wireframe.md +7 -9
  87. package/dist/cli/skills.d.ts +1 -1
  88. package/dist/cli/skills.d.ts.map +1 -1
  89. package/dist/cli/skills.js +7 -9
  90. package/dist/cli/skills.js.map +1 -1
  91. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  92. package/dist/client/MultiTabAssistantChat.js +1 -1
  93. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  94. package/dist/client/RunStuckBanner.d.ts +13 -1
  95. package/dist/client/RunStuckBanner.d.ts.map +1 -1
  96. package/dist/client/RunStuckBanner.js +123 -16
  97. package/dist/client/RunStuckBanner.js.map +1 -1
  98. package/dist/client/blocks/library/wireframe-kit.d.ts +6 -6
  99. package/dist/client/blocks/library/wireframe-kit.d.ts.map +1 -1
  100. package/dist/client/blocks/library/wireframe-kit.js +52 -5
  101. package/dist/client/blocks/library/wireframe-kit.js.map +1 -1
  102. package/dist/client/blocks/library/wireframe.d.ts.map +1 -1
  103. package/dist/client/blocks/library/wireframe.js +1 -11
  104. package/dist/client/blocks/library/wireframe.js.map +1 -1
  105. package/dist/client/chat/widgets/builtin-tool-renderers.d.ts.map +1 -1
  106. package/dist/client/chat/widgets/builtin-tool-renderers.js +27 -31
  107. package/dist/client/chat/widgets/builtin-tool-renderers.js.map +1 -1
  108. package/dist/collab/routes.d.ts +2 -2
  109. package/dist/db/schema.d.ts +2 -1
  110. package/dist/db/schema.d.ts.map +1 -1
  111. package/dist/db/schema.js +3 -2
  112. package/dist/db/schema.js.map +1 -1
  113. package/dist/resources/handlers.d.ts +3 -3
  114. package/dist/server/transcribe-voice.d.ts +1 -1
  115. package/dist/styles/blocks.css +27 -6
  116. package/docs/content/actions.mdx +17 -24
  117. package/docs/content/agent-surfaces.mdx +59 -56
  118. package/docs/content/cloneable-saas.mdx +3 -3
  119. package/docs/content/faq.mdx +4 -4
  120. package/docs/content/getting-started.mdx +246 -204
  121. package/docs/content/key-concepts.mdx +9 -9
  122. package/docs/content/locales/ar-SA/cloneable-saas.mdx +3 -3
  123. package/docs/content/locales/ar-SA/faq.mdx +4 -4
  124. package/docs/content/locales/ar-SA/getting-started.mdx +148 -214
  125. package/docs/content/locales/ar-SA/pure-agent-apps.mdx +4 -9
  126. package/docs/content/locales/ar-SA/template-chat.mdx +2 -2
  127. package/docs/content/locales/ar-SA/using-your-agent.mdx +2 -2
  128. package/docs/content/locales/de-DE/cloneable-saas.mdx +3 -3
  129. package/docs/content/locales/de-DE/faq.mdx +4 -4
  130. package/docs/content/locales/de-DE/getting-started.mdx +145 -211
  131. package/docs/content/locales/de-DE/pure-agent-apps.mdx +4 -9
  132. package/docs/content/locales/de-DE/template-chat.mdx +2 -2
  133. package/docs/content/locales/de-DE/using-your-agent.mdx +2 -2
  134. package/docs/content/locales/es-ES/cloneable-saas.mdx +3 -3
  135. package/docs/content/locales/es-ES/faq.mdx +4 -4
  136. package/docs/content/locales/es-ES/getting-started.mdx +148 -214
  137. package/docs/content/locales/es-ES/pure-agent-apps.mdx +4 -9
  138. package/docs/content/locales/es-ES/template-chat.mdx +2 -2
  139. package/docs/content/locales/es-ES/using-your-agent.mdx +2 -2
  140. package/docs/content/locales/fr-FR/cloneable-saas.mdx +2 -2
  141. package/docs/content/locales/fr-FR/faq.mdx +4 -4
  142. package/docs/content/locales/fr-FR/getting-started.mdx +146 -212
  143. package/docs/content/locales/fr-FR/pure-agent-apps.mdx +4 -9
  144. package/docs/content/locales/fr-FR/template-chat.mdx +2 -2
  145. package/docs/content/locales/fr-FR/using-your-agent.mdx +2 -2
  146. package/docs/content/locales/hi-IN/cloneable-saas.mdx +3 -3
  147. package/docs/content/locales/hi-IN/faq.mdx +4 -4
  148. package/docs/content/locales/hi-IN/getting-started.mdx +149 -215
  149. package/docs/content/locales/hi-IN/pure-agent-apps.mdx +8 -13
  150. package/docs/content/locales/hi-IN/template-chat.mdx +2 -2
  151. package/docs/content/locales/hi-IN/using-your-agent.mdx +2 -2
  152. package/docs/content/locales/ja-JP/cloneable-saas.mdx +2 -2
  153. package/docs/content/locales/ja-JP/faq.mdx +4 -4
  154. package/docs/content/locales/ja-JP/getting-started.mdx +144 -210
  155. package/docs/content/locales/ja-JP/pure-agent-apps.mdx +8 -13
  156. package/docs/content/locales/ja-JP/template-chat.mdx +2 -2
  157. package/docs/content/locales/ja-JP/using-your-agent.mdx +2 -2
  158. package/docs/content/locales/ko-KR/cloneable-saas.mdx +3 -3
  159. package/docs/content/locales/ko-KR/faq.mdx +4 -4
  160. package/docs/content/locales/ko-KR/getting-started.mdx +146 -212
  161. package/docs/content/locales/ko-KR/pure-agent-apps.mdx +8 -13
  162. package/docs/content/locales/ko-KR/template-chat.mdx +2 -2
  163. package/docs/content/locales/ko-KR/using-your-agent.mdx +2 -2
  164. package/docs/content/locales/pt-BR/cloneable-saas.mdx +3 -3
  165. package/docs/content/locales/pt-BR/faq.mdx +4 -4
  166. package/docs/content/locales/pt-BR/getting-started.mdx +145 -211
  167. package/docs/content/locales/pt-BR/pure-agent-apps.mdx +4 -9
  168. package/docs/content/locales/pt-BR/template-chat.mdx +2 -2
  169. package/docs/content/locales/pt-BR/using-your-agent.mdx +2 -2
  170. package/docs/content/locales/zh-CN/cloneable-saas.mdx +3 -3
  171. package/docs/content/locales/zh-CN/faq.mdx +4 -4
  172. package/docs/content/locales/zh-CN/getting-started.mdx +158 -209
  173. package/docs/content/locales/zh-CN/pure-agent-apps.mdx +4 -9
  174. package/docs/content/locales/zh-CN/template-chat.mdx +2 -2
  175. package/docs/content/locales/zh-CN/using-your-agent.mdx +2 -2
  176. package/docs/content/locales/zh-TW/cloneable-saas.mdx +3 -3
  177. package/docs/content/locales/zh-TW/faq.mdx +4 -4
  178. package/docs/content/locales/zh-TW/getting-started.mdx +158 -212
  179. package/docs/content/locales/zh-TW/pure-agent-apps.mdx +4 -9
  180. package/docs/content/locales/zh-TW/template-chat.mdx +2 -2
  181. package/docs/content/locales/zh-TW/using-your-agent.mdx +2 -2
  182. package/docs/content/native-chat-ui.mdx +17 -32
  183. package/docs/content/pure-agent-apps.mdx +46 -26
  184. package/docs/content/template-chat.mdx +8 -8
  185. package/docs/content/using-your-agent.mdx +2 -2
  186. package/docs/content/what-is-agent-native.mdx +6 -6
  187. package/package.json +1 -1
package/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  ## The framework for agent-native apps
4
4
 
5
- Agent-Native is an open-source framework for building robust agents that act inside real apps, not just chat next to them. It gives you primitives for product-grade agentic software: shared actions, SQL-backed state, identity, tools, skills, jobs, observability, and UI surfaces that all work together. Bring your own database, hosting provider, model stack, and app code.
5
+ Agent-Native is an open-source framework for apps where agents and UI share the same actions, state, and context.
6
6
 
7
7
  ```ts
8
- // One action powers UI, agent, HTTP, MCP, A2A, and CLI.
8
+ // One action powers every app surface: UI, agent, HTTP, MCP, A2A, and CLI.
9
9
  export default defineAction({
10
10
  schema: z.object({
11
11
  emailId: z.string(),
@@ -17,13 +17,13 @@ export default defineAction({
17
17
  });
18
18
  ```
19
19
 
20
- - **Actions**: Define work once. Use it from UI, agent, API, MCP, A2A, and CLI.
20
+ - **Actions**: Define work once. Use it from every app surface: UI, agent, HTTP, MCP, A2A, and CLI.
21
21
  - **Agent runtime**: Chat, tools, skills, memory, jobs, observability, and handoffs ship together.
22
22
  - **Backend agnostic**: Plug in any Drizzle-supported SQL database and Nitro-compatible host.
23
23
 
24
- ## Templates
24
+ ## Apps
25
25
 
26
- Start with a full featured template. Each one is a complete, 100% free and open-source SaaS app: cloneable, not scaffolded, except you own the code and can customize everything.
26
+ Fork a working app and let the agent evolve it. **You can customize everything.**
27
27
 
28
28
  <table>
29
29
  <tr>
@@ -31,7 +31,7 @@ Start with a full featured template. Each one is a complete, 100% free and open-
31
31
 
32
32
  **Clips**
33
33
 
34
- <a href="https://agent-native.com/templates/clips"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F189ebd9b2f2b4f0ead3b33138d4e4c10?format=webp&width=800" alt="Clips template" width="100%" /></a>
34
+ <a href="https://agent-native.com/templates/clips"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F189ebd9b2f2b4f0ead3b33138d4e4c10?format=webp&width=800" alt="Clips app" width="100%" /></a>
35
35
 
36
36
  **Agent-Native Loom + Jam**
37
37
 
@@ -42,7 +42,7 @@ Record your screen with auto-transcripts and captured browser debug logs, share
42
42
 
43
43
  **Plans**
44
44
 
45
- <a href="https://agent-native.com/templates/plan"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fefc6a3ac908149fa92e2b9392c0bb372?format=webp&width=800" alt="Plans template" width="100%" /></a>
45
+ <a href="https://agent-native.com/templates/plan"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fefc6a3ac908149fa92e2b9392c0bb372?format=webp&width=800" alt="Plans app" width="100%" /></a>
46
46
 
47
47
  **Visual plan mode for coding agents**
48
48
 
@@ -53,7 +53,7 @@ Install `/visual-plan` and `/visual-recap` so your coding agent can plan before
53
53
 
54
54
  **Design**
55
55
 
56
- <a href="https://agent-native.com/templates/design"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fe2c86908c2fa4f119ee4aa90b4823944?format=webp&width=800" alt="Design template" width="100%" /></a>
56
+ <a href="https://agent-native.com/templates/design"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fe2c86908c2fa4f119ee4aa90b4823944?format=webp&width=800" alt="Design app" width="100%" /></a>
57
57
 
58
58
  **Agent-Native design prototyping**
59
59
 
@@ -66,7 +66,7 @@ Generate interactive HTML prototypes, compare variants, refine controls, and exp
66
66
 
67
67
  **Content**
68
68
 
69
- <a href="https://agent-native.com/templates/content"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F89bcfc6106304bfbaf8ec8a7ccd721eb?format=webp&width=800" alt="Content template" width="100%" /></a>
69
+ <a href="https://agent-native.com/templates/content"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F89bcfc6106304bfbaf8ec8a7ccd721eb?format=webp&width=800" alt="Content app" width="100%" /></a>
70
70
 
71
71
  **Open-source Obsidian for MDX**
72
72
 
@@ -77,7 +77,7 @@ Edit local Markdown/MDX files, generate rich interactive custom blocks, and draf
77
77
 
78
78
  **Slides**
79
79
 
80
- <a href="https://agent-native.com/templates/slides"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F2c09b451d40c4a74a89a38d69170c2d8?format=webp&width=800" alt="Slides template" width="100%" /></a>
80
+ <a href="https://agent-native.com/templates/slides"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F2c09b451d40c4a74a89a38d69170c2d8?format=webp&width=800" alt="Slides app" width="100%" /></a>
81
81
 
82
82
  **Agent-Native Google Slides, Pitch**
83
83
 
@@ -88,7 +88,7 @@ Generate and edit React-based presentations via prompt or point-and-click.
88
88
 
89
89
  **Analytics**
90
90
 
91
- <a href="https://agent-native.com/templates/analytics"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F4933a80cc3134d7e874631f688be828a?format=webp&width=800" alt="Analytics template" width="100%" /></a>
91
+ <a href="https://agent-native.com/templates/analytics"><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F4933a80cc3134d7e874631f688be828a?format=webp&width=800" alt="Analytics app" width="100%" /></a>
92
92
 
93
93
  **Agent-Native Amplitude, Mixpanel**
94
94
 
@@ -98,40 +98,11 @@ Connect analytics data sources, prompt for real charts, and build reusable dashb
98
98
  </tr>
99
99
  </table>
100
100
 
101
- View the full template gallery at **[agent-native.com/templates](https://agent-native.com/templates)**.
102
-
103
- ## Agents and UIs, Fully Connected
104
-
105
- The agent and the UI are equal citizens of one system. Every action works both ways: click it or ask for it.
106
-
107
- ![Agents and UIs fully connected](https://cdn.builder.io/api/v1/file/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fadc1e9e9368e4a8cb1b4dbb5aae5aaa2)
108
-
109
- - **Everything syncs**: One database, one state. Changes from either side show up instantly on the other.
110
- - **Real-time multiplayer**: Humans and agents edit the same document together, with the agent as a first-class peer.
111
- - **Context-aware**: The agent knows what you're looking at. Select text, hit Cmd+I, and tell it what to do.
112
- - **Agents call agents**: Tag another agent from any app and they coordinate over A2A.
113
- - **Self-improving**: The agent can add features, fix bugs, and refine the UI over time.
114
-
115
- ## Try it with a skill
116
-
117
- Don't want to scaffold a whole app yet? Add visual planning and PR recaps to Claude Code, Codex, Cursor, Pi, OpenCode, GitHub Copilot / VS Code, and similar agents with one command:
118
-
119
- ```bash
120
- npx @agent-native/core@latest skills add visual-plan
121
- ```
122
-
123
- ![Visual plan and recap in action](https://raw.githubusercontent.com/builderio/skills/main/media/visual-recap.gif)
124
-
125
- You get two slash commands:
126
-
127
- - **`/visual-plan`**: before the agent writes code, it opens a structured, reviewable plan with inline diagrams, UI wireframes, file-by-file implementation maps, and annotations you can comment on and approve.
128
- - **`/visual-recap`**: after changes land, it turns a PR or git diff into a high-altitude visual recap with a shareable review link instead of a raw diff.
129
-
130
- See the **[Skills Guide](https://agent-native.com/docs/skills-guide#app-backed-skills)** for more.
101
+ View the full app gallery at **[agent-native.com/templates](https://agent-native.com/templates)**.
131
102
 
132
103
  ## Quick Start
133
104
 
134
- One command to start a new project locally.
105
+ One command to start a new app locally.
135
106
 
136
107
  ```bash
137
108
  npx @agent-native/core@latest create my-app
@@ -142,20 +113,13 @@ pnpm dev
142
113
 
143
114
  `create` first asks how you want to start:
144
115
 
145
- - **Full template(s)**: clone one or more complete apps into a workspace. Pick Mail + Calendar + Forms and you get all three wired up and sharing auth.
116
+ - **Full app(s)**: clone one or more complete apps into a workspace. Pick Mail + Calendar + Forms and you get all three wired up and sharing auth.
146
117
  - **Chat**: a single app with a minimal chat UI and the browser shell already wired, the simplest way to get a UI.
147
118
  - **Headless**: a single action-first app with no UI shell. The CLI walks you through calling your first action and agent, and you can add a UI later.
148
119
 
149
120
  Prefer flags? `create my-app --template mail`, `--headless`, or `--standalone` skip the prompt.
150
121
 
151
- ## The Best of Both Worlds
152
-
153
- | | SaaS Tools | Raw AI Agents | Internal Tools | Agent-Native |
154
- | ----------------- | ------------------ | ----------------------- | -------------------------- | ----------------------- |
155
- | **UI** | Polished but rigid | None | Mixed quality | Full UI, fork & go |
156
- | **AI** | Bolted on | Powerful | Shallowly connected | Agent-first, integrated |
157
- | **Customization** | Can't | Instructions and skills | Full, but high maintenance | Agent modifies the app |
158
- | **Ownership** | Rented | Somewhat yours | You own the code | You own the code |
122
+ See the full [getting started docs](https://agent-native.com/docs).
159
123
 
160
124
  ## Community
161
125
 
@@ -1,5 +1,17 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.84.36
4
+
5
+ ### Patch Changes
6
+
7
+ - 1cf5c2b: Remove the outer artboard outline and default backdrop fill from docs wireframe blocks while preserving rough outlines and fills for wireframe UI elements.
8
+ - 11b8b66: Reframe getting-started and related docs around chat-first agentic applications, with no-browser apps repositioned as automation-first workflows.
9
+ - 2d984a0: Add a portable Drizzle alias helper for backend-agnostic template queries.
10
+ - 72a92af: Align docs wireframe status rows with labels on the left and values on the right.
11
+ - 11b8b66: Automatically recover active chat runs that stop making real progress while the worker is still alive.
12
+ - d04226c: Clarify the Getting Started inline result example with a shorter widget snippet and wireframe.
13
+ - 51425d9: Render standard docs wireframe primitives and inline border dividers with sketchy rough outlines by default.
14
+
3
15
  ## 0.84.35
4
16
 
5
17
  ### Patch Changes
@@ -16,8 +16,9 @@ Actions are the single source of truth for anything your app does. Define an act
16
16
  - **A CLI command** — `pnpm action <name>` for scripting and dev loops.
17
17
 
18
18
  One definition, seven consumers. This is rung 3 of the [ladder](/docs/what-is-agent-native#the-ladder).
19
- If you are deciding whether to expose an operation headlessly, in chat, in an
20
- embedded sidecar, or as a full app screen, see [Agent Surfaces](/docs/agent-surfaces).
19
+ In the default getting-started flow, the action first appears as an agent tool in
20
+ chat, then as a native inline result, then as the operation behind a durable app
21
+ page. For the full surface map, see [Agent Surfaces](/docs/agent-surfaces).
21
22
 
22
23
  <Diagram id="doc-block-xcp5x6" title="One definition, seven consumers" summary={"A single defineAction() fans out to every surface — agent, UI, HTTP, MCP, A2A, and CLI — with one validated schema and one run() body."}>
23
24
 
@@ -93,9 +94,8 @@ For App Operations](/docs/server#actions-first).
93
94
 
94
95
  ## Start with one action {#hello-action}
95
96
 
96
- The primitive-first on-ramp is one action, not a template. In a headless
97
- scaffold such as `agent-native create my-agent --headless`, this can be the
98
- whole first app:
97
+ The first operation in a chat-first app can be tiny. In the Chat template,
98
+ replace `actions/hello.ts` or add a new file beside it:
99
99
 
100
100
  ```ts
101
101
  // actions/hello.ts
@@ -477,19 +477,19 @@ and use [MCP Apps](/docs/mcp-apps) for inline UI in external MCP hosts.
477
477
 
478
478
  ```ts
479
479
  import { defineAction } from "@agent-native/core/action";
480
- import { ACTION_CHAT_UI_DATA_INSIGHTS_RENDERER } from "@agent-native/core/action-ui";
480
+ import { ACTION_CHAT_UI_DATA_CHART_RENDERER } from "@agent-native/core/action-ui";
481
481
  import {
482
- createDataInsightsWidgetResult,
483
- dataInsightsWidgetResultSchema,
482
+ createDataChartWidgetResult,
483
+ dataChartWidgetResultSchema,
484
484
  } from "@agent-native/core/data-widgets";
485
485
 
486
486
  export default defineAction({
487
487
  description: "Summarize response trends.",
488
488
  readOnly: true,
489
- outputSchema: dataInsightsWidgetResultSchema,
490
- chatUI: { renderer: ACTION_CHAT_UI_DATA_INSIGHTS_RENDERER },
489
+ outputSchema: dataChartWidgetResultSchema,
490
+ chatUI: { renderer: ACTION_CHAT_UI_DATA_CHART_RENDERER },
491
491
  run: async () =>
492
- createDataInsightsWidgetResult({
492
+ createDataChartWidgetResult({
493
493
  title: "Response trends",
494
494
  chartSeries: {
495
495
  type: "line",
@@ -500,26 +500,19 @@ export default defineAction({
500
500
  { day: "Tue", responses: 18 },
501
501
  ],
502
502
  },
503
- table: {
504
- columns: [
505
- { key: "day", label: "Day" },
506
- { key: "responses", label: "Responses", align: "right" },
507
- ],
508
- rows: [
509
- { day: "Mon", responses: 12 },
510
- { day: "Tue", responses: 18 },
511
- ],
512
- },
513
503
  }),
514
504
  });
515
505
  ```
516
506
 
517
507
  The built-in discriminants are `"data-table"`, `"data-chart"`, and
518
508
  `"data-insights"`, with server-safe builders and schemas in
519
- `@agent-native/core/data-widgets`. See [Native Chat UI](/docs/native-chat-ui)
520
- for the full result contract and BYO runtime guidance, or
509
+ `@agent-native/core/data-widgets`. Use `data-chart` for chart-only answers,
510
+ `data-table` for SQL/list results, and `data-insights` only when a combined
511
+ summary/chart/table card is the right output. See
512
+ [Native Chat UI](/docs/native-chat-ui) for the full result contract and BYO
513
+ runtime guidance, or
521
514
  [Agent Surfaces](/docs/agent-surfaces) for how the same action can stay
522
- headless, render in chat, or grow into a full screen.
515
+ automation-friendly, render in chat, or grow into a full screen.
523
516
 
524
517
  ## Calling it from the CLI {#cli}
525
518
 
@@ -1,54 +1,56 @@
1
1
  ---
2
2
  title: "Agent Surfaces"
3
- description: "Use Agent-Native headlessly, as rich chat, inside an existing app, or as a full agent-native application."
4
- search: "headless agent rich chat full app BYO agent runtime AgentChatRuntime embed actions MCP A2A HTTP CLI"
3
+ description: "Choose how an agentic app grows from chat to inline UI, durable app pages, embedded sidecars, automation, and external agent access."
4
+ search: "agentic app rich chat native chat UI full app automation headless BYO agent runtime AgentChatRuntime embed actions MCP A2A HTTP CLI"
5
5
  ---
6
6
 
7
7
  # Agent Surfaces
8
8
 
9
- Agent-Native is deliberately composable. You can use the agent without much UI,
10
- use the UI without the built-in agent runtime, or use both together as a full
11
- application.
9
+ Agent-Native is deliberately composable. Most apps start with chat, add actions,
10
+ render structured results inline, and then grow durable pages around the same
11
+ SQL state. The same action surface can also power embedded sidecars,
12
+ automation-first jobs, external agents, and custom chat runtimes.
12
13
 
13
14
  The useful way to choose is not by protocol first. Choose the product surface
14
15
  you want, then use the matching primitive.
15
16
 
16
17
  | Surface | Use it when | Start with |
17
18
  | ----------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
18
- | **Headless agent** | Code, jobs, scripts, another app, or another agent should call the work directly. | `agent-native create --headless`, `defineAction`, `agent-native agent`, HTTP, CLI, MCP, A2A |
19
19
  | **Rich chat on Agent-Native** | You want a standalone or embedded chat backed by the built-in agent loop. | [Chat template](/docs/template-chat), `<AgentChatSurface>`, `<AssistantChat>` |
20
+ | **Native inline UI** | Action results should render as first-party tables, charts, cards, approvals, or compact reports in chat. | [Native Chat UI](/docs/native-chat-ui), `chatUI.renderer`, data widget helpers |
20
21
  | **Generated inline UI** | The agent should create temporary or reusable controls, pickers, calculators, or visualizers inside chat. | [Generative UI](/docs/generative-ui), `render-inline-extension`, `create-extension` |
21
- | **Rich chat on your agent** | You built the agent elsewhere and want Agent-Native's composer, transcript, tool cards, and native widgets. | `AgentChatRuntime`, `<AssistantChat runtime={runtime}>` |
22
- | **Embedded sidecar** | You already have a SaaS app and want an agent beside it with page context and host commands. | `createAgentNativeEmbeddedPlugin()`, `AgentNativeEmbedded` |
23
22
  | **Full application** | Humans and agents should share durable screens, data, navigation, and collaboration. | Templates, actions, SQL state, context awareness |
23
+ | **Embedded sidecar** | You already have a SaaS app and want an agent beside it with page context and host commands. | `createAgentNativeEmbeddedPlugin()`, `AgentNativeEmbedded` |
24
+ | **Automation-first app** | Jobs, scripts, another app, or another agent should call the work directly without a browser UI. | `agent-native create --headless`, `defineAction`, `agent-native agent`, HTTP, CLI, MCP, A2A |
25
+ | **Rich chat on your agent** | You built the agent elsewhere and want Agent-Native's composer, transcript, tool cards, and native widgets. | `AgentChatRuntime`, `<AssistantChat runtime={runtime}>` |
24
26
 
25
- Those are stages, not separate products. A workflow can start as a headless
26
- agent with one action, appear in chat as a table or chart, and later become a
27
- full screen in an app without changing the operation the agent calls.
27
+ Those are stages and deployment shapes, not separate products. A workflow can
28
+ start in chat, appear as a native table or chart, become a durable page in the
29
+ app, and still run from jobs, scripts, MCP, or A2A without changing the operation
30
+ the agent calls.
28
31
 
29
32
  <Diagram id="doc-block-hvdxgh" title="The surface spectrum" summary={"One action surface, four product shapes — each adds UI without changing the operation underneath."}>
30
33
 
31
34
  ```html
32
35
  <div class="diagram-spectrum">
33
36
  <div class="diagram-card">
34
- <strong>Headless</strong
35
- ><small class="diagram-muted">actions, jobs, scripts, other agents</small>
37
+ <strong>Chat</strong
38
+ ><small class="diagram-muted">composer, transcript, tool calls</small>
36
39
  </div>
37
40
  <div class="diagram-arrow diagram-muted" aria-hidden="true">&rarr;</div>
38
41
  <div class="diagram-card">
39
- <strong>Rich chat</strong
40
- ><small class="diagram-muted">composer, transcript, tool cards</small>
42
+ <strong>Inline UI</strong
43
+ ><small class="diagram-muted">tables, charts, cards</small>
41
44
  </div>
42
45
  <div class="diagram-arrow diagram-muted" aria-hidden="true">&rarr;</div>
43
46
  <div class="diagram-card">
44
- <strong>Embedded sidecar</strong
45
- ><small class="diagram-muted">agent beside an existing app</small>
47
+ <strong>App page</strong
48
+ ><small class="diagram-muted">durable screens, SQL data</small>
46
49
  </div>
47
50
  <div class="diagram-arrow diagram-muted" aria-hidden="true">&rarr;</div>
48
51
  <div class="diagram-card accent-card">
49
- <span class="diagram-pill accent">most UI</span
50
- ><strong>Full application</strong
51
- ><small class="diagram-muted">durable screens, data, collaboration</small>
52
+ <span class="diagram-pill accent">most UI</span><strong>Automation</strong
53
+ ><small class="diagram-muted">jobs, scripts, external agents</small>
52
54
  </div>
53
55
  </div>
54
56
  <div class="diagram-base" data-rough>
@@ -85,27 +87,26 @@ full screen in an app without changing the operation the agent calls.
85
87
 
86
88
  </Diagram>
87
89
 
88
- ## Headless agent {#headless}
90
+ ## Automation-first app {#headless}
89
91
 
90
- Use the headless path when no one needs to stare at a custom app screen while
92
+ Use the automation-first path when no one needs a custom browser screen while
91
93
  the work runs: scheduled jobs, integrations, backend workflows, CLI loops,
92
94
  another agent, or an existing product calling into Agent-Native.
93
95
 
94
- This is also the shape to reach for when **the agent _is_ the product** the
95
- app-agent loop is the front door, not a dashboard. You send a request from the
96
- terminal, Slack, email, a scheduled job, another agent, or Chat "summarize my
97
- unread emails," "post the daily metrics to Slack," "find the candidates who
98
- replied last week" and the agent acts and returns the result wherever it
99
- belongs. It is still a real app, not a stateless prompt: actions, auth sessions,
100
- app state, thread/run history, settings, credentials, and share records all live
101
- in SQL.
96
+ This is the shape to reach for when automation is the product surface. You send
97
+ a request from the terminal, Slack, email, a scheduled job, another agent, or
98
+ Chat "summarize my unread emails," "post the daily metrics to Slack," "find
99
+ the candidates who replied last week" — and the agent acts and returns the
100
+ result wherever it belongs. It is still a real app, not a stateless prompt:
101
+ actions, auth sessions, app state, thread/run history, settings, credentials,
102
+ and share records all live in SQL.
102
103
 
103
104
  Pick this pattern when:
104
105
 
105
106
  - **The work happens in the background.** Most of the value is created while the user isn't looking — triage agents, daily-report agents, on-call responders.
106
107
  - **The output leaves the app.** The agent posts to Slack, sends email, or updates a third-party system; there's nothing to browse in-app.
107
108
  - **The domain is one-shot.** Research bot, summary generator, report writer — no persistent object that needs a list view.
108
- - **You're prototyping.** Ship the agent now; add richer UI later if users want one.
109
+ - **You're prototyping an automation.** Ship the operation now; add chat or app pages when users need to inspect and steer it.
109
110
 
110
111
  If your product is built around persistent objects users browse, pivot, and
111
112
  share — emails, events, documents, charts — pick a [full application](#full-application)
@@ -113,11 +114,11 @@ or a [template](/docs/cloneable-saas) instead; those add a full UI _plus_ the ag
113
114
 
114
115
  ### What ships in the box {#in-the-box}
115
116
 
116
- A headless app skips weeks of dashboard work, and it's channel-agnostic from day
117
- one — the same agent runs from the web, Slack, Telegram, email, and other agents
118
- because everything goes through the agent, not the UI. The trade-off is there's
119
- no "browse-everything-at-a-glance" view; if users need that, mix patterns and
120
- add a small status page or list view.
117
+ An automation-first app skips dashboard work, and it is channel-agnostic from
118
+ day one — the same agent runs from the web, Slack, Telegram, email, and other
119
+ agents because everything goes through the same actions. The trade-off is there
120
+ is no "browse-everything-at-a-glance" view; if users need that, start from
121
+ [Chat](/docs/template-chat) or add a small status page or list view.
121
122
 
122
123
  When you add the built-in Chat shell, the framework provides five management
123
124
  surfaces you don't have to build: **Chat** (the main input), **Workspace**
@@ -128,7 +129,7 @@ enough — talk to it, see what it's done, configure how it behaves. Reach for
128
129
  [Dispatch template](/docs/template-dispatch) for a workspace-style starting
129
130
  point with Slack/Telegram, scheduled jobs, and shared secrets out of the box.
130
131
 
131
- The smallest local path is a headless agent scaffold plus one action:
132
+ The smallest no-browser local path is a scaffold plus one action:
132
133
 
133
134
  ```bash
134
135
  npx @agent-native/core@latest create my-agent --headless
@@ -184,8 +185,8 @@ Every `defineAction` is auto-mounted at `/_agent-native/actions/<name>`. The JSO
184
185
 
185
186
  This is not a no-database or stateless mode. The app-agent loop stores sessions,
186
187
  threads, runs, settings, credentials, application state, and share records in
187
- SQL. Local development defaults to SQLite; hosted headless apps should use a
188
- persistent SQL database.
188
+ SQL. Local development defaults to SQLite; hosted automation-first apps should
189
+ use a persistent SQL database.
189
190
 
190
191
  If you need the whole agent loop headlessly from the project folder, use:
191
192
 
@@ -208,14 +209,14 @@ await runAgentLoop({ engine, model, systemPrompt, actions, messages, send });
208
209
  ```
209
210
 
210
211
  For most apps, scheduled prompts and integration webhooks already call this loop
211
- for you. Reach for it directly only when building a custom headless host, eval
212
+ for you. Reach for it directly only when building a custom no-browser host, eval
212
213
  runner, or server-side orchestration surface — see [Server — Production agent
213
214
  handler](/docs/server#agent-handler) for the full signature.
214
215
 
215
216
  ### Running against a folder {#folder-loop}
216
217
 
217
218
  If your goal is "run an agent against this folder," start with the app-agent
218
- loop in that folder: scaffold the headless app, add actions/instructions, run
219
+ loop in that folder: scaffold the automation-first app, add actions/instructions, run
219
220
  `pnpm agent "..."`. That keeps the work inside the same action/runtime/state
220
221
  contract the app will use in production.
221
222
 
@@ -226,7 +227,7 @@ start a local agent-native workflow.
226
227
 
227
228
  ### Cloud repo access {#cloud-repo-access}
228
229
 
229
- For cloud headless apps that need repository access, use the GitHub connector
230
+ For cloud automation-first apps that need repository access, use the GitHub connector
230
231
  plus token CRUD model: list repositories, search files, read files, create or
231
232
  edit files, delete files, and revoke access through provider-scoped
232
233
  credentials. In local development, set the target repository explicitly:
@@ -242,11 +243,11 @@ through the connector layer.
242
243
 
243
244
  ### Sharing sessions and runs {#sharing-runs}
244
245
 
245
- Headless sessions and runs are durable objects. Shareability should be phased:
246
- read/share links first, so teammates can inspect sanitized prompts, outputs,
247
- and run status; permissioned writable collaboration later, so continuing a run,
248
- approving actions, editing schedules, or changing configuration goes through
249
- explicit access checks.
246
+ Automation-first sessions and runs are durable objects. Shareability should be
247
+ phased: read/share links first, so teammates can inspect sanitized prompts,
248
+ outputs, and run status; permissioned writable collaboration later, so
249
+ continuing a run, approving actions, editing schedules, or changing
250
+ configuration goes through explicit access checks.
250
251
 
251
252
  ## Rich chat on Agent-Native {#rich-chat}
252
253
 
@@ -487,14 +488,15 @@ want a complete product shape.
487
488
 
488
489
  ## How to choose {#how-to-choose}
489
490
 
490
- | If you are thinking... | Choose |
491
- | --------------------------------------------------------------- | ------------------------- |
492
- | "I just need a callable tool or workflow." | Headless agent |
493
- | "I want the framework's agent, but chat should be the main UI." | Rich chat on Agent-Native |
494
- | "I want the agent to make an interactive control right now." | Generated inline UI |
495
- | "I already have an agent; I need a polished chat UI for it." | Rich chat on your agent |
496
- | "I already have a SaaS app; add an agent beside it." | Embedded sidecar |
497
- | "The agent and UI should evolve together as the product." | Full application |
491
+ | If you are thinking... | Choose |
492
+ | ---------------------------------------------------------------- | ------------------------- |
493
+ | "I want the framework's agent, but chat should be the main UI." | Rich chat on Agent-Native |
494
+ | "The action result should be a chart, table, or typed card." | Native inline UI |
495
+ | "I want the agent to make an interactive control right now." | Generated inline UI |
496
+ | "The agent and UI should evolve together as the product." | Full application |
497
+ | "I already have a SaaS app; add an agent beside it." | Embedded sidecar |
498
+ | "I need a callable workflow for jobs, scripts, or other agents." | Automation-first app |
499
+ | "I already have an agent; I need a polished chat UI for it." | Rich chat on your agent |
498
500
 
499
501
  Keep the contract small: define durable operations as actions, return explicit
500
502
  widget results when chat needs rich UI, and add full screens only when users
@@ -502,11 +504,12 @@ need to browse, compare, configure, or collaborate over persistent objects.
502
504
 
503
505
  ## Related docs {#related-docs}
504
506
 
505
- - [Actions](/docs/actions) — define the headless operation once.
507
+ - [Actions](/docs/actions) — define the operation once.
506
508
  - [Native Chat UI](/docs/native-chat-ui) — render typed action results in chat.
507
509
  - [Generative UI](/docs/generative-ui) — generate transient or persisted sandboxed UI inline in chat.
508
510
  - [Drop-in Agent](/docs/drop-in-agent) — mount chat, sidebar, or panel surfaces.
509
511
  - [Component API](/docs/components) — lower-level React chat/composer pieces.
510
512
  - [Embedding SDK](/docs/embedding-sdk) — add Agent-Native to an existing app.
513
+ - [Automation-First Apps](/docs/pure-agent-apps) — no-browser apps for jobs, queues, scripts, and external agents.
511
514
  - [External Agents](/docs/external-agents) — connect MCP-compatible hosts to an app.
512
515
  - [A2A Protocol](/docs/a2a-protocol) — call agents from other agents.
@@ -30,7 +30,7 @@ Each one is a real app you could use today, and the launching pad for your own v
30
30
  | [**Plan**](/docs/template-plan) | Visual plans and PR recaps with diagrams, wireframes, and annotations. |
31
31
  | [**Dispatch**](/docs/template-dispatch) | The workspace control plane: shared secrets, reusable integrations, Slack/Telegram, scheduled jobs. |
32
32
 
33
- Don't want a domain app? Use [Chat](/docs/template-chat) when you want a basic app users can talk to immediately, or start with an action in [Pure-Agent Apps](/docs/pure-agent-apps).
33
+ Don't want a domain app? Use [Chat](/docs/template-chat) when you want a basic app users can talk to immediately and extend with actions, native results, and screens. Use [Automation-First Apps](/docs/pure-agent-apps) only when the workflow truly does not need a browser UI yet.
34
34
 
35
35
  See the full catalog under [Apps](/apps), or jump straight to one — for example, [Dispatch](/docs/template-dispatch) is a great place to start if you want a workspace-style app.
36
36
 
@@ -168,7 +168,7 @@ Not ready to scaffold? You can add agent-native superpowers to a coding agent yo
168
168
 
169
169
  ## Building on this
170
170
 
171
- - [**Getting Started**](/docs/getting-started) — create a minimal chat app or headless agent
171
+ - [**Getting Started**](/docs/getting-started) — create a chat-first app, add an action, render a structured result, and grow into a page
172
172
  - [**Messaging the agent**](/docs/messaging) — how users (and you) talk to the agent that ships with each template
173
173
  - [**Multi-App Workspace**](/docs/multi-app-workspace) — bundle several templates into one workspace that shares auth, brand, and agent
174
174
  - [**Dispatch**](/docs/template-dispatch) — the workspace control plane template
@@ -182,7 +182,7 @@ If you're scaffolding now, the CLI command is:
182
182
  npx @agent-native/core@latest create my-platform
183
183
  ```
184
184
 
185
- You'll get a multi-select picker. Pick one app (standalone) or several (workspace — apps share auth, brand, agent config, and database). Each picked template is scaffolded into `apps/<name>/` with every file you need. For an action-only app instead of a template UI, use `npx @agent-native/core@latest create my-agent --headless`.
185
+ You'll get a multi-select picker. Pick one app (standalone) or several (workspace — apps share auth, brand, agent config, and database). Each picked template is scaffolded into `apps/<name>/` with every file you need. For a no-browser automation instead of a template UI, use `npx @agent-native/core@latest create my-agent --headless`.
186
186
 
187
187
  Fill in `.env` (mostly `ANTHROPIC_API_KEY` and `DATABASE_URL`), `pnpm install`, `pnpm dev`, and it works. No "TODO: implement login," no placeholder routes.
188
188
 
@@ -11,15 +11,15 @@ Common questions about agent-native, organized from "I'm just looking" to "I'm w
11
11
 
12
12
  ### What is agent-native? {#what-is-agent-native}
13
13
 
14
- Agent-native is a framework for building apps where the AI agent and the product surface around it are equal partners. That surface can start as a headless agent with one custom action, grow into rich chat, or become a full UI. The invariant is that agents and humans share the same actions, database, and state. See [What Is Agent-Native?](/docs/what-is-agent-native) for the full explanation.
14
+ Agent-native is a framework for building apps where the AI agent and the product surface around it are equal partners. The usual path starts with chat, adds typed actions, renders structured results inline, and grows into durable pages around the same SQL state. The invariant is that agents and humans share the same actions, database, and state. See [What Is Agent-Native?](/docs/what-is-agent-native) for the full explanation.
15
15
 
16
16
  ### Who is this for? {#who-is-this-for}
17
17
 
18
18
  Agent-native is for people who want a real app and an AI agent to work from the same data and actions. The common paths are:
19
19
 
20
20
  - **Use a hosted app** if you want Mail, Calendar, Forms, Plan, or another finished template with no setup — start at the [template gallery](/templates).
21
- - **Start with Chat** if you want a basic app users can talk to immediately, then extend with actions and screens — start with [Getting Started](/docs/getting-started) or [Chat](/docs/template-chat).
22
- - **Start primitive-first** if you want one action and a headless app-agent loop before committing to UI — start with [Getting Started](/docs/getting-started).
21
+ - **Start with Chat** if you want the default from-scratch path: users can talk to the agent immediately, then you extend with actions, native results, and screens — start with [Getting Started](/docs/getting-started) or [Chat](/docs/template-chat).
22
+ - **Start automation-first** if you are building scheduled jobs, queues, scripts, integration workers, or external-agent workflows with no browser UI yet — start with [Automation-First Apps](/docs/pure-agent-apps).
23
23
  - **Fork and customize a template** if you want your own SaaS product with auth, database, UI, and agent actions already wired — see [Templates](/docs/cloneable-saas).
24
24
  - **Build from scratch** if you want the framework primitives for a new agent-driven product — start with [Getting Started](/docs/getting-started).
25
25
  - **Connect another agent or code tool** if you want Claude, ChatGPT, Codex, Cursor, or GitHub Copilot / VS Code to use an agent-native app — see [External Agents](/docs/external-agents) and [Skills Guide](/docs/skills-guide).
@@ -130,7 +130,7 @@ That's the whole point. Fork a template and customize it by asking the agent. "A
130
130
 
131
131
  ### Can I build something the templates don't cover? {#build-from-scratch}
132
132
 
133
- Yes. If you want a basic chat app, run `npx @agent-native/core@latest create my-chat-app --template chat`; you get durable chat threads, actions, auth, SQL-backed runtime state, and room to add your own screens. If you want the smallest action-first app with no UI, run `npx @agent-native/core@latest create my-agent --headless`. See [Getting Started](/docs/getting-started), [Pure-Agent Apps](/docs/pure-agent-apps), and [Chat](/docs/template-chat).
133
+ Yes. If you want a basic agentic app, run `npx @agent-native/core@latest create my-chat-app --template chat`; you get durable chat threads, actions, auth, SQL-backed runtime state, native inline result rendering, and room to add your own screens. If you are building a no-browser automation, run `npx @agent-native/core@latest create my-agent --headless`. See [Getting Started](/docs/getting-started), [Automation-First Apps](/docs/pure-agent-apps), and [Chat](/docs/template-chat).
134
134
 
135
135
  ### Can I try it without forking a template? {#try-with-a-skill}
136
136