Skip to content

Add framework-first v3 docs#1462

Open
parteeksingh24 wants to merge 31 commits into
mainfrom
docs/v3-docs
Open

Add framework-first v3 docs#1462
parteeksingh24 wants to merge 31 commits into
mainfrom
docs/v3-docs

Conversation

@parteeksingh24
Copy link
Copy Markdown
Contributor

@parteeksingh24 parteeksingh24 commented May 11, 2026

Reworks the v3 docs into a framework-first documentation set, then hardens the docs runtime and SDK Explorer for review.

Note: this branch was rebuilt on top of main after an unintended sync with origin/v3 pulled beta-line changes into the PR history.

Summary

  • Reshape the v3 docs IA around Get Started, Frameworks, Build, Services, Deploy and Operate, Cookbook, Reference, and Migration
  • Add framework-first guides for Next.js, Nuxt, React Router, SvelteKit, Astro, Hono, Vite React, and TanStack Start
  • Move older agent, route, frontend, service, cookbook, and migration material into pages that match the current v3 app model
  • Refresh core service docs for AI Gateway, Sandbox, Coder, Database, Observability, Storage, Queues, Tasks, Schedules, Webhooks, Authentication, and OIDC
  • Replace eager all-MDX loading with route-level MDX chunks and generated frontmatter metadata
  • Route internal docs links through TanStack Link, including hash links and footer/sidebar navigation
  • Harden SDK Explorer demos with structured sandbox output frames, live stdout streaming, JSON API errors, and the sdk-explorer-v3 snapshot
  • Regenerate docs artifacts for nav data, route files, route tree, schema output, markdown export, sitemap, Pagefind, and redirects
  • Update docs authoring guidance for current framework verification, generated reference docs, sidebar labels, route wrappers, and sandbox run scripts

Approach Notes

This PR keeps the docs deployed through Agentuity, but changes the docs app build and runtime path to TanStack Start:

  • bun run build runs the TanStack Start Vite build
  • bun run start serves dist/server.js
  • agentuity deploy --dir . remains the deployment entry point
  • legacy docs redirects now run through a Start-native server entry before falling through to the Start handler

The old runtime/Hono redirect layer still exists for Agentuity app wiring, but the built docs server now owns the redirect behavior used by local and packaged Start output.

Review Notes

  • Most docs/src/web/routes/_docs/** changes are generated route wrappers.
  • frontmatter-data.ts is generated from MDX frontmatter so layout/footer metadata no longer requires eager-loading every MDX page.
  • Core docs runtime review should start with mdx-page.tsx, mdx-components.tsx, router.tsx, app-sidebar.tsx, docs-version-picker.tsx, and validate-routes.ts.
  • Core Explorer review should start with route.ts, output-forwarder.ts, sandbox-output-protocol.ts, sandbox-output-writer.ts, useSandboxRunner.ts, and the docs/src/run/** scripts.
  • The Explorer now uses structured sandbox output frames instead of parsing loose stdout markers.

Verification

  • cd docs && bun run scripts/validate-routes.ts --check
  • cd docs && bun test src/api/test/sandbox-output-forwarder.test.ts src/web/hooks/useSandboxRunner.test.ts
  • cd docs && bun test src/web/components/docs/mdx-components.test.tsx
  • cd docs && bun run typecheck
  • cd docs && bun run build
  • git diff --check && git diff --cached --check
  • local browser smoke at http://localhost:3000
  • route smoke: /frameworks/nextjs, /build/agents, and /services/ai-gateway returned 200
  • legacy redirect smoke: /agents/ai-gateway, /demo/ai-gateway, /frontend/rpc-client, and /reference/sdk-reference/storage returned 301
  • Verified production-build navigation metrics: largest client JS chunk dropped from 8,918,829 B to 1,588,489 B; click-to-heading dropped from 219.1 ms to 71.4 ms
  • Verified live Explorer sandbox streaming against the v3 snapshot: streaming demo emitted incremental stdout chunks and hello demo returned one clean output event

@agentuity-agent
Copy link
Copy Markdown

agentuity-agent Bot commented May 11, 2026

The latest Agentuity deployment details.

Project Deployment Preview Updated (UTC)
docs 🟢 Ready (deploy_c9fa9536a6054e9796f2bd6c8f5c6b26) - 2026-06-05T22:44:59Z

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 11, 2026

Important

Review skipped

Too many files!

This PR contains 298 files, which is 148 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d40352ff-00b8-4fb2-acc2-08e71afca746

📥 Commits

Reviewing files that changed from the base of the PR and between 42c2387 and f7da553.

⛔ Files ignored due to path filters (2)
  • bun.lock is excluded by !**/*.lock
  • docs/src/web/components/docs/generated/frontmatter-data.ts is excluded by !**/generated/**
📒 Files selected for processing (298)
  • .github/workflows/snapshot.yaml
  • .github/workflows/sync-docs-full.yml
  • .github/workflows/sync-docs.yml
  • AGENTS.md
  • docs/AGENTS.md
  • docs/README.md
  • docs/app.ts
  • docs/bin/build-payload.sh
  • docs/bin/send-batched.sh
  • docs/package.json
  • docs/scripts/bundle-run-scripts.ts
  • docs/scripts/dev.ts
  • docs/scripts/generate-agentuity-schema.ts
  • docs/scripts/generate-api-reference.ts
  • docs/scripts/generate-markdown-files.ts
  • docs/scripts/generate-nav-data.ts
  • docs/scripts/generate-sandbox-scripts.ts
  • docs/scripts/prepare-start-output.ts
  • docs/scripts/reindex-vectors.ts
  • docs/scripts/test/prepare-start-output.test.ts
  • docs/scripts/validate-routes.ts
  • docs/server.ts
  • docs/src/agent/AGENTS.md
  • docs/src/agent/agent_pulse/agent.ts
  • docs/src/agent/agent_pulse/context-builder.ts
  • docs/src/agent/agent_pulse/streaming-processor.ts
  • docs/src/agent/agent_pulse/tools.ts
  • docs/src/agent/chat/agent.ts
  • docs/src/agent/chat/agentuity-context.txt
  • docs/src/agent/context/agent.ts
  • docs/src/agent/database/agent.ts
  • docs/src/agent/database/schema.ts
  • docs/src/agent/demo-agent.ts
  • docs/src/agent/doc_processing/agent.ts
  • docs/src/agent/doc_processing/embed-chunks.ts
  • docs/src/agent/doc_processing/index.ts
  • docs/src/agent/doc_qa/agent.ts
  • docs/src/agent/doc_qa/index.ts
  • docs/src/agent/email/agent.ts
  • docs/src/agent/hello/agent.ts
  • docs/src/agent/index.ts
  • docs/src/agent/kv/agent.ts
  • docs/src/agent/model-arena/agent.ts
  • docs/src/agent/model-arena/lib.ts
  • docs/src/agent/objectstore/agent.ts
  • docs/src/agent/queue/agent.ts
  • docs/src/agent/sse-stream/agent.ts
  • docs/src/agent/text-processor/agent.ts
  • docs/src/agent/vector/agent.ts
  • docs/src/agent/websocket/agent.ts
  • docs/src/api/AGENTS.md
  • docs/src/api/agent-calls/route.ts
  • docs/src/api/agent-pulse/route.ts
  • docs/src/api/ai-gateway/route.ts
  • docs/src/api/app.ts
  • docs/src/api/chat/route.ts
  • docs/src/api/context.ts
  • docs/src/api/context/route.ts
  • docs/src/api/database/route.ts
  • docs/src/api/dev-server.ts
  • docs/src/api/doc-qa/route.ts
  • docs/src/api/durable-stream/route.ts
  • docs/src/api/email/route.ts
  • docs/src/api/hello/route.ts
  • docs/src/api/http.ts
  • docs/src/api/index.ts
  • docs/src/api/key-value/route.ts
  • docs/src/api/model-arena/route.ts
  • docs/src/api/object-storage/route.ts
  • docs/src/api/process-docs/route.ts
  • docs/src/api/queue/route.ts
  • docs/src/api/request-body.ts
  • docs/src/api/sandbox/output-forwarder.ts
  • docs/src/api/sandbox/route.ts
  • docs/src/api/schedules/route.ts
  • docs/src/api/sessions/route.ts
  • docs/src/api/sse-stream/route.ts
  • docs/src/api/streaming/route.ts
  • docs/src/api/test/request-body.test.ts
  • docs/src/api/test/sandbox-output-forwarder.test.ts
  • docs/src/api/title-generator/route.ts
  • docs/src/api/vector-storage/route.ts
  • docs/src/api/webrtc/route.ts
  • docs/src/api/websocket/route.ts
  • docs/src/assistant/AGENTS.md
  • docs/src/assistant/doc-qa/answer.ts
  • docs/src/assistant/doc-qa/index.ts
  • docs/src/assistant/doc-qa/prompt.ts
  • docs/src/assistant/doc-qa/retriever.ts
  • docs/src/assistant/doc-qa/test/answer.test.ts
  • docs/src/assistant/doc-qa/test/retriever.test.ts
  • docs/src/assistant/doc-qa/types.ts
  • docs/src/lib/ai-gateway-stream.ts
  • docs/src/lib/ai-gateway.ts
  • docs/src/lib/email-templates.ts
  • docs/src/lib/models.ts
  • docs/src/lib/sandbox-output-protocol.ts
  • docs/src/lib/sandbox-output-writer.ts
  • docs/src/lib/test/ai-gateway-stream.test.ts
  • docs/src/run/AGENTS.md
  • docs/src/run/agent-calls.ts
  • docs/src/run/ai-gateway.ts
  • docs/src/run/chat.ts
  • docs/src/run/database.ts
  • docs/src/run/durable-stream.ts
  • docs/src/run/email.ts
  • docs/src/run/handler-context.ts
  • docs/src/run/hello.ts
  • docs/src/run/invoke.ts
  • docs/src/run/kv.ts
  • docs/src/run/model-arena.ts
  • docs/src/run/objectstore.ts
  • docs/src/run/queue.ts
  • docs/src/run/schedule.ts
  • docs/src/run/sse-stream.ts
  • docs/src/run/streaming.ts
  • docs/src/run/vector.ts
  • docs/src/run/webrtc.ts
  • docs/src/run/websocket.ts
  • docs/src/services/docs-sync/chunk-mdx.ts
  • docs/src/services/docs-sync/docs-orchestrator.ts
  • docs/src/services/docs-sync/docs-processor.ts
  • docs/src/services/docs-sync/test/chunk-mdx.test.ts
  • docs/src/services/docs-sync/test/docs-orchestrator.test.ts
  • docs/src/services/docs-sync/test/docs-processor.test.ts
  • docs/src/services/docs-sync/types.ts
  • docs/src/vite-env.d.ts
  • docs/src/web/AGENTS.md
  • docs/src/web/App.tsx
  • docs/src/web/Router.tsx
  • docs/src/web/code-examples.ts
  • docs/src/web/components/AIGatewayDemo.tsx
  • docs/src/web/components/AgentCallsDemo.tsx
  • docs/src/web/components/ChatDemo.tsx
  • docs/src/web/components/CodeBlock.tsx
  • docs/src/web/components/DatabaseDemo.tsx
  • docs/src/web/components/EmailDemo.tsx
  • docs/src/web/components/HandlerContextDemo.tsx
  • docs/src/web/components/HelloDemo.tsx
  • docs/src/web/components/ModelArena.tsx
  • docs/src/web/components/SSEStreamDemo.tsx
  • docs/src/web/components/StreamingDemo.tsx
  • docs/src/web/components/WebRTCDemo.tsx
  • docs/src/web/components/demo-view.tsx
  • docs/src/web/components/docs/ai-search-content.tsx
  • docs/src/web/components/docs/app-sidebar.tsx
  • docs/src/web/components/docs/cards.tsx
  • docs/src/web/components/docs/copy-migration-prompt.tsx
  • docs/src/web/components/docs/copy-page-dropdown.tsx
  • docs/src/web/components/docs/docs-layout.tsx
  • docs/src/web/components/docs/docs-version-picker.tsx
  • docs/src/web/components/docs/footer-nav.tsx
  • docs/src/web/components/docs/index.ts
  • docs/src/web/components/docs/keyboard-shortcut.tsx
  • docs/src/web/components/docs/mdx-components.test.tsx
  • docs/src/web/components/docs/mdx-components.tsx
  • docs/src/web/components/docs/mdx-page.tsx
  • docs/src/web/components/docs/nav-data.ts
  • docs/src/web/components/docs/search-dialog.tsx
  • docs/src/web/components/docs/tabs.tsx
  • docs/src/web/components/ui/sidebar.tsx
  • docs/src/web/content/AGENTS.md
  • docs/src/web/content/agents/ai-gateway.mdx
  • docs/src/web/content/agents/ai-sdk-integration.mdx
  • docs/src/web/content/agents/calling-other-agents.mdx
  • docs/src/web/content/agents/creating-agents.mdx
  • docs/src/web/content/agents/events-lifecycle.mdx
  • docs/src/web/content/agents/index.mdx
  • docs/src/web/content/agents/meta.json
  • docs/src/web/content/agents/schema-libraries.mdx
  • docs/src/web/content/agents/standalone-execution.mdx
  • docs/src/web/content/agents/state-management.mdx
  • docs/src/web/content/agents/streaming-responses.mdx
  • docs/src/web/content/agents/when-to-use.mdx
  • docs/src/web/content/build/agents/chat-and-streaming.mdx
  • docs/src/web/content/build/agents/coding-agent.mdx
  • docs/src/web/content/build/agents/index.mdx
  • docs/src/web/content/build/agents/meta.json
  • docs/src/web/content/build/agents/state-and-memory.mdx
  • docs/src/web/content/build/agents/tool-calling.mdx
  • docs/src/web/content/build/apps-and-apis/backend-apis.mdx
  • docs/src/web/content/build/apps-and-apis/background-work.mdx
  • docs/src/web/content/build/apps-and-apis/index.mdx
  • docs/src/web/content/build/apps-and-apis/meta.json
  • docs/src/web/content/build/apps-and-apis/static-sites.mdx
  • docs/src/web/content/build/apps-and-apis/web-apps.mdx
  • docs/src/web/content/build/index.mdx
  • docs/src/web/content/build/meta.json
  • docs/src/web/content/community/inbound-email-agent.mdx
  • docs/src/web/content/community/index.mdx
  • docs/src/web/content/community/meta.json
  • docs/src/web/content/cookbook/index.mdx
  • docs/src/web/content/cookbook/integrations/chat-sdk.mdx
  • docs/src/web/content/cookbook/integrations/claude-agent.mdx
  • docs/src/web/content/cookbook/integrations/langchain.mdx
  • docs/src/web/content/cookbook/integrations/mastra.mdx
  • docs/src/web/content/cookbook/integrations/meta.json
  • docs/src/web/content/cookbook/integrations/nextjs.mdx
  • docs/src/web/content/cookbook/integrations/openai-agents.mdx
  • docs/src/web/content/cookbook/integrations/tanstack-start.mdx
  • docs/src/web/content/cookbook/integrations/turborepo.mdx
  • docs/src/web/content/cookbook/patterns/attaching-skills-to-a-coder-session.mdx
  • docs/src/web/content/cookbook/patterns/autonomous-research.mdx
  • docs/src/web/content/cookbook/patterns/background-tasks.mdx
  • docs/src/web/content/cookbook/patterns/braintrust-evals.mdx
  • docs/src/web/content/cookbook/patterns/chat-with-history.mdx
  • docs/src/web/content/cookbook/patterns/choosing-built-in-agents-for-a-coder-session.mdx
  • docs/src/web/content/cookbook/patterns/creating-coder-sessions-with-sdk.mdx
  • docs/src/web/content/cookbook/patterns/creating-loop-mode-coder-sessions.mdx
  • docs/src/web/content/cookbook/patterns/cron-with-storage.mdx
  • docs/src/web/content/cookbook/patterns/hono-rpc-tanstack-query.mdx
  • docs/src/web/content/cookbook/patterns/langfuse-otel-tracing.mdx
  • docs/src/web/content/cookbook/patterns/llm-as-a-judge.mdx
  • docs/src/web/content/cookbook/patterns/logtape-structured-logging.mdx
  • docs/src/web/content/cookbook/patterns/meta.json
  • docs/src/web/content/cookbook/patterns/observing-a-coder-session-through-the-hub.mdx
  • docs/src/web/content/cookbook/patterns/openai-evals-api.mdx
  • docs/src/web/content/cookbook/patterns/opentelemetry-route-spans.mdx
  • docs/src/web/content/cookbook/patterns/preparing-coder-sessions-for-remote-attach.mdx
  • docs/src/web/content/cookbook/patterns/product-search.mdx
  • docs/src/web/content/cookbook/patterns/running-external-coding-tools-in-sandbox.mdx
  • docs/src/web/content/cookbook/patterns/server-utilities.mdx
  • docs/src/web/content/cookbook/patterns/structured-logging-with-pino.mdx
  • docs/src/web/content/cookbook/patterns/tailwind-setup.mdx
  • docs/src/web/content/cookbook/patterns/using-workspaces-to-reuse-repos-skills-and-agent-selection.mdx
  • docs/src/web/content/cookbook/patterns/web-exploration.mdx
  • docs/src/web/content/cookbook/patterns/webhook-handler.mdx
  • docs/src/web/content/cookbook/tutorials/meta.json
  • docs/src/web/content/cookbook/tutorials/rag-agent.mdx
  • docs/src/web/content/cookbook/tutorials/understanding-agents.mdx
  • docs/src/web/content/deploy-operate/custom-domains.mdx
  • docs/src/web/content/deploy-operate/deploy-framework-apps.mdx
  • docs/src/web/content/deploy-operate/environment-variables.mdx
  • docs/src/web/content/deploy-operate/index.mdx
  • docs/src/web/content/deploy-operate/local-development.mdx
  • docs/src/web/content/deploy-operate/meta.json
  • docs/src/web/content/frameworks/astro.mdx
  • docs/src/web/content/frameworks/hono.mdx
  • docs/src/web/content/frameworks/index.mdx
  • docs/src/web/content/frameworks/meta.json
  • docs/src/web/content/frameworks/nextjs.mdx
  • docs/src/web/content/frameworks/nuxt.mdx
  • docs/src/web/content/frameworks/react-router.mdx
  • docs/src/web/content/frameworks/sveltekit.mdx
  • docs/src/web/content/frameworks/tanstack-start.mdx
  • docs/src/web/content/frameworks/vite-react.mdx
  • docs/src/web/content/frontend/advanced-hooks.mdx
  • docs/src/web/content/frontend/authentication.mdx
  • docs/src/web/content/frontend/deployment-scenarios.mdx
  • docs/src/web/content/frontend/index.mdx
  • docs/src/web/content/frontend/meta.json
  • docs/src/web/content/frontend/provider-setup.mdx
  • docs/src/web/content/frontend/react-hooks.mdx
  • docs/src/web/content/frontend/rpc-client.mdx
  • docs/src/web/content/frontend/static-rendering.mdx
  • docs/src/web/content/get-started/app-configuration.mdx
  • docs/src/web/content/get-started/import-existing-app.mdx
  • docs/src/web/content/get-started/index.mdx
  • docs/src/web/content/get-started/installation.mdx
  • docs/src/web/content/get-started/meta.json
  • docs/src/web/content/get-started/project-structure.mdx
  • docs/src/web/content/get-started/quickstart.mdx
  • docs/src/web/content/get-started/what-is-agentuity.mdx
  • docs/src/web/content/meta.json
  • docs/src/web/content/migration/from-v2.mdx
  • docs/src/web/content/migration/index.mdx
  • docs/src/web/content/migration/meta.json
  • docs/src/web/content/migration/migrate-cli.mdx
  • docs/src/web/content/migration/runtime-to-frameworks.mdx
  • docs/src/web/content/reference/api/ai-gateway.mdx
  • docs/src/web/content/reference/api/coder.mdx
  • docs/src/web/content/reference/api/index.mdx
  • docs/src/web/content/reference/api/meta.json
  • docs/src/web/content/reference/api/projects.mdx
  • docs/src/web/content/reference/api/queues.mdx
  • docs/src/web/content/reference/api/workflows.mdx
  • docs/src/web/content/reference/cli/ai-commands.mdx
  • docs/src/web/content/reference/cli/build-configuration.mdx
  • docs/src/web/content/reference/cli/claude-code-plugin.mdx
  • docs/src/web/content/reference/cli/coder.mdx
  • docs/src/web/content/reference/cli/debugging.mdx
  • docs/src/web/content/reference/cli/deployment.mdx
  • docs/src/web/content/reference/cli/development.mdx
  • docs/src/web/content/reference/cli/getting-started.mdx
  • docs/src/web/content/reference/cli/git-integration.mdx
  • docs/src/web/content/reference/cli/index.mdx
  • docs/src/web/content/reference/cli/monitoring.mdx
  • docs/src/web/content/reference/cli/oauth.mdx
  • docs/src/web/content/reference/cli/opencode-plugin.mdx
  • docs/src/web/content/reference/cli/sandbox.mdx
  • docs/src/web/content/reference/cli/storage.mdx
  • docs/src/web/content/reference/github-app.mdx
  • docs/src/web/content/reference/gravity-network.mdx
  • docs/src/web/content/reference/index.mdx
  • docs/src/web/content/reference/meta.json
  • docs/src/web/content/reference/migration-guide.mdx
  • docs/src/web/content/reference/sdk-reference/advanced.mdx
  • docs/src/web/content/reference/sdk-reference/agents.mdx

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@parteeksingh24 parteeksingh24 mentioned this pull request May 11, 2026
@parteeksingh24 parteeksingh24 changed the title Align v3 docs around framework apps Add v3 docs May 11, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 11, 2026

📦 Canary Packages Published

version: 3.0.5-f7da553

Packages
Package Version URL
@agentuity/vector 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-vector-3.0.5-f7da553.tgz
@agentuity/hono 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-hono-3.0.5-f7da553.tgz
@agentuity/drizzle 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-drizzle-3.0.5-f7da553.tgz
@agentuity/email 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-email-3.0.5-f7da553.tgz
@agentuity/migrate 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-migrate-3.0.5-f7da553.tgz
@agentuity/opencode 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-opencode-3.0.5-f7da553.tgz
@agentuity/db 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-db-3.0.5-f7da553.tgz
@agentuity/storage 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-storage-3.0.5-f7da553.tgz
@agentuity/aigateway 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-aigateway-3.0.5-f7da553.tgz
@agentuity/webhook 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-webhook-3.0.5-f7da553.tgz
create-agentuity 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/create-agentuity-3.0.5-f7da553.tgz
@agentuity/schedule 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-schedule-3.0.5-f7da553.tgz
@agentuity/cli 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-cli-3.0.5-f7da553.tgz
@agentuity/vite 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-vite-3.0.5-f7da553.tgz
@agentuity/pi 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-pi-3.0.5-f7da553.tgz
@agentuity/queue 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-queue-3.0.5-f7da553.tgz
@agentuity/task 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-task-3.0.5-f7da553.tgz
@agentuity/coder 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-coder-3.0.5-f7da553.tgz
@agentuity/stream 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-stream-3.0.5-f7da553.tgz
@agentuity/adapter 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-adapter-3.0.5-f7da553.tgz
@agentuity/server 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-server-3.0.5-f7da553.tgz
@agentuity/coder-tui 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-coder-tui-3.0.5-f7da553.tgz
@agentuity/sandbox 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-sandbox-3.0.5-f7da553.tgz
@agentuity/analytics 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-analytics-3.0.5-f7da553.tgz
@agentuity/keyvalue 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-keyvalue-3.0.5-f7da553.tgz
@agentuity/local 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-local-3.0.5-f7da553.tgz
@agentuity/claude-code 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-claude-code-3.0.5-f7da553.tgz
@agentuity/core 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-core-3.0.5-f7da553.tgz
@agentuity/schema 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-schema-3.0.5-f7da553.tgz
@agentuity/runtime 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-runtime-3.0.5-f7da553.tgz
@agentuity/postgres 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-postgres-3.0.5-f7da553.tgz
@agentuity/telemetry 3.0.5-f7da553 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-telemetry-3.0.5-f7da553.tgz
Install

Add to your package.json:

{
  "dependencies": {
    "@agentuity/vector": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-vector-3.0.5-f7da553.tgz",
    "@agentuity/hono": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-hono-3.0.5-f7da553.tgz",
    "@agentuity/drizzle": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-drizzle-3.0.5-f7da553.tgz",
    "@agentuity/email": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-email-3.0.5-f7da553.tgz",
    "@agentuity/migrate": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-migrate-3.0.5-f7da553.tgz",
    "@agentuity/opencode": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-opencode-3.0.5-f7da553.tgz",
    "@agentuity/db": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-db-3.0.5-f7da553.tgz",
    "@agentuity/storage": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-storage-3.0.5-f7da553.tgz",
    "@agentuity/aigateway": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-aigateway-3.0.5-f7da553.tgz",
    "@agentuity/webhook": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-webhook-3.0.5-f7da553.tgz",
    "create-agentuity": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/create-agentuity-3.0.5-f7da553.tgz",
    "@agentuity/schedule": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-schedule-3.0.5-f7da553.tgz",
    "@agentuity/cli": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-cli-3.0.5-f7da553.tgz",
    "@agentuity/vite": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-vite-3.0.5-f7da553.tgz",
    "@agentuity/pi": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-pi-3.0.5-f7da553.tgz",
    "@agentuity/queue": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-queue-3.0.5-f7da553.tgz",
    "@agentuity/task": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-task-3.0.5-f7da553.tgz",
    "@agentuity/coder": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-coder-3.0.5-f7da553.tgz",
    "@agentuity/stream": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-stream-3.0.5-f7da553.tgz",
    "@agentuity/adapter": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-adapter-3.0.5-f7da553.tgz",
    "@agentuity/server": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-server-3.0.5-f7da553.tgz",
    "@agentuity/coder-tui": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-coder-tui-3.0.5-f7da553.tgz",
    "@agentuity/sandbox": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-sandbox-3.0.5-f7da553.tgz",
    "@agentuity/analytics": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-analytics-3.0.5-f7da553.tgz",
    "@agentuity/keyvalue": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-keyvalue-3.0.5-f7da553.tgz",
    "@agentuity/local": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-local-3.0.5-f7da553.tgz",
    "@agentuity/claude-code": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-claude-code-3.0.5-f7da553.tgz",
    "@agentuity/core": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-core-3.0.5-f7da553.tgz",
    "@agentuity/schema": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-schema-3.0.5-f7da553.tgz",
    "@agentuity/runtime": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-runtime-3.0.5-f7da553.tgz",
    "@agentuity/postgres": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-postgres-3.0.5-f7da553.tgz",
    "@agentuity/telemetry": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-telemetry-3.0.5-f7da553.tgz"
  }
}

Or install directly:

bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-vector-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-hono-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-drizzle-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-email-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-migrate-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-opencode-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-db-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-storage-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-aigateway-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-webhook-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/create-agentuity-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-schedule-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-cli-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-vite-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-pi-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-queue-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-task-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-coder-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-stream-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-adapter-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-server-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-coder-tui-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-sandbox-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-analytics-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-keyvalue-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-local-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-claude-code-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-core-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-schema-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-runtime-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-postgres-3.0.5-f7da553.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.5-f7da553/agentuity-telemetry-3.0.5-f7da553.tgz

@blacksmith-sh

This comment has been minimized.

Base automatically changed from v3 to main May 22, 2026 19:22
- Reorganize docs around frameworks, build, and services
- Add migration, deploy, and getting-started guidance
- Align setup and storage docs with the current v3 CLI
- Regenerate routes, nav data, schemas, and API references
@parteeksingh24 parteeksingh24 marked this pull request as draft May 26, 2026 17:11
@parteeksingh24 parteeksingh24 changed the title Add v3 docs Add framework-first v3 docs May 26, 2026
@blacksmith-sh

This comment has been minimized.

- refresh v3 docs from the section-by-section audit
- replace stale beta install and create examples with next
- reframe chat and handler demos around conversation and Hono routes
- update migration, deploy, and service guidance to match current SDK
- Drop `Community` from nav and docs home
- Delete the `/community` page and orphaned assets
- Leave cross-version fallback redirects for later
- split Build into Apps and APIs plus Agents
- move agent docs under `/build/agents`
- add Apps and APIs starter pages
- refresh Home for the v3 docs IA
- retune Explorer names, groups, and explanations
- make Explorer sandbox output marker-based
- pass org context into standalone service clients
- add redirects for moved Build pages
- type `@agentuity/hono` middleware for Hono apps
- Add cookbook patterns for evals, logs, and traces
- Cover `OpenAI Evals` and `Braintrust` examples
- Add `Pino`, `LogTape`, `OpenTelemetry`, and `Langfuse` guides
- Clarify framework import flows for existing apps
- Document local `@agentuity/cli` install and undo paths
- Tighten framework build and deploy checks
- Refresh get-started, service, reference, and migration docs
- Regenerate docs nav, routes, and cookbook listings
- improve Explorer nav, redirects, and generated docs
- clarify v3 app-owned service and framework workflows
- add Coder, Sandbox, and service journey guidance
- add Workflows API refs and queue state fixes
- document app config versus Agentuity credentials
@parteeksingh24 parteeksingh24 marked this pull request as ready for review June 1, 2026 15:45
- move Ask AI out of v2-shaped demo agents
- add tests for v3 docs assistant retrieval
- fix docs dev proxy for legacy `/apis` redirects
- clarify TanStack Start deploy and public dev setup
- correct deploy docs and generated Gateway reference
- Add docs version picker and v2 docs entry point
- Rework section indexes and Get Started ordering
- Normalize ToC heading casing across docs
- Clarify migration, launch metadata, and framework choice
- Tighten service, reference, framework, and cookbook paths
- Regenerate docs nav, routes, and generated outputs
@parteeksingh24 parteeksingh24 requested a review from Huijiro June 1, 2026 21:33
- Update `robots.txt` sitemap URL
- Generate sitemap entries from `agentuity.dev`
- Let `DocsChunkMetadata` satisfy vector metadata constraints
- Restore `bun run typecheck` for the docs app
- Return `200` for Agentuity probe paths before SSR
- Keep docs routes on the existing TanStack server
- Run MDX in Vite's `pre` phase before React
- Cache hashed client assets from the Bun launcher
- Validate model and query payloads without raw casts
- Close full WebRTC rooms after sending `room-full`
@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

get-started/installation.mdx — Prerequisites overstate the Bun requirement

The Prerequisites section presents Bun as a blanket requirement:

Install Bun 1.3 or newer. The published create wrapper delegates to bunx, so Bun is required even when you start from npm create or npx.

This is only true because of a bug in the create wrapper, not by design. packages/create-agentuity/src/bin.ts hardcodes spawnSync('bunx', ...), which contradicts the wrapper's own README ("Bun 1.3+ or Node.js 24+"). The CLI runtime itself runs on Node 24+ and supports npm/pnpm/yarn (already shown in the Local vs Global table and --package-manager).

As written, a Node/pnpm/yarn user reads "Bun is required" and reasonably assumes they're blocked from using Agentuity at all, which is false for everything except the one-time scaffold.

I've filed the underlying wrapper bug: #1522. Once that lands, this section should:

  • scope the Bun requirement to the create flow (not a global prerequisite), or drop it entirely after the wrapper is fixed, and
  • make clear Node 24+/npm/pnpm/yarn are fully supported for day-to-day CLI use.

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

get-started/installation.mdx--name is not required; document the interactive flow

Every Create example leads with --name (bun create agentuity@next --name my-app), which reads as if a name is mandatory. It isn't — --name is optional (name: z.string().optional() in project/create.ts), and the CLI has a full interactive flow when you omit it. The "name required" friction this implies was an issue that has since been fixed.

Running agentuity project create (or bun create agentuity@next) with no flags in a TTY walks the user through these prompts, in order:

  1. Project name — "What is the name of your project?" (validated for uniqueness against your org when signed in).
  2. Package manager — "Which package manager should the new project use?" → bun / npm / pnpm / yarn.
  3. Framework — "Select a framework:" → Next.js, Nuxt, SvelteKit, Astro, Hono.
  4. AI example — "Include an AI example? (OpenAI API route)" (shown for frameworks with an overlay).
  5. (framework scaffold runs)
  6. Service augments — "Add service augments? (optional)" multiselect → db, keyvalue, queue, vector, storage (auto-adds required deps).
  7. Resource provisioning (only when signed in and you opted into db/storage): SQL database (create new or pick existing, optional name + description) and/or storage bucket (same).
  8. Custom domain — "Custom domain" (optional, press Enter to skip).
  9. (registers the project, inits git, prints next steps) — then, if you set a domain, "Would you like to configure DNS now?"

Worth noting too: if you run create (without --name) inside an existing supported-framework directory, it detects it and offers to import/register that project instead of scaffolding a new one.

Please update the Create section to lead with the zero-arg interactive command, list the prompt walkthrough above, and present --name/--framework/--package-manager as ways to skip prompts non-interactively rather than required arguments.

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

Docs default to Bun throughout; we want Node as the recommended default

The quickstart explicitly hardcodes Bun as the package manager:

bun create agentuity@next \
  --name my-app \
  --framework nextjs \
  --package-manager bun   # <- forces bun

For reference, the CLI itself does not hardcode bun — template-flow.ts derives the non-interactive default from the host runtime (runtimeKind() === 'bun' ? 'bun' : 'npm') and the interactive flow prompts for it. So the bun bias here is a docs choice, not a CLI behavior. (It's compounded by the create-agentuity wrapper spawning bunx, tracked in #1522 — that makes the host runtime Bun, which then makes the derived default bun.)

The bun-first convention is pervasive: ~90 content files use bun create / bun add / bunx / bun run as the primary form. Highest-priority to flip to Node/npm (these set the user's first impression and their lockfile):

  • get-started/quickstart.mdx — drop --package-manager bun; use npx agentuity dev, npm install, npm run deploy.
  • get-started/installation.mdx — the --package-manager bun example and bun create / bunx leads.
  • get-started/index.mdx, get-started/what-is-agentuity.mdx, get-started/project-structure.mdx, get-started/import-existing-app.mdx.
  • frameworks/*.mdx — all lead with bun create agentuity@next ... && bun add -d @agentuity/cli@next && bunx agentuity ....
  • frameworks/index.mdx, migration/index.mdx.

The broader build/, cookbook/, and services/ pages use bun add/bun run for dependency install and script running; lower priority but same direction.

Recommendation:

Note this is partly blocked by #1522: until the create wrapper stops forcing bunx, a Node user following npm create agentuity@next still ends up running under Bun, so the docs and the wrapper fix should land together.

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

Docs app bug: sidebar navigation doesn't reliably reset scroll to top

Navigating between pages via the sidebar can leave you partway down the new page instead of at the top.

The scroll-reset intent is already in docs/src/web/components/docs/docs-layout.tsx:

React.useLayoutEffect(() => {
  if (!location.hash) {
    mainRef.current?.scrollTo(0, 0);
  }
}, [location.pathname, location.hash]);
// ...
<main ref={mainRef} className="flex-1 overflow-y-auto">

But it only works when <main> is the element that actually scrolls, which depends on a fragile height chain (body.h-fullSidebarProvider min-h-0! h-full override of its base min-h-svhSidebarInsetmain). It breaks when:

  • the viewport is narrow/mobile (sidebar becomes a Sheet, the document/window scrolls, so mainRef.scrollTo(0,0) is a no-op), and/or
  • the useLayoutEffect fires before TanStack Start's streamed route content has laid out.

Filed as #1523 with repro and suggested fix (reset the real scroll container — main + window/document.scrollingElement — or use TanStack Router's built-in <ScrollRestoration>/scroll restoration, which handles the streaming timing).

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

Framework AI examples should lead with @agentuity/aigateway, not a single-provider SDK

The Next.js "Provider SDK Env Wiring Example" centers the raw OpenAI SDK:

bun add openai zod
import OpenAI from 'openai';
const openai = new OpenAI();
const completion = await openai.chat.completions.create({ model, messages });

This isn't Next-specific — the same import OpenAI from 'openai' / new OpenAI() / openai.chat.completions.create(...) block is the AI example in every framework page:

  • frameworks/nextjs.mdx
  • frameworks/astro.mdx
  • frameworks/hono.mdx
  • frameworks/nuxt.mdx
  • frameworks/sveltekit.mdx
  • frameworks/react-router.mdx
  • frameworks/vite-react.mdx

The problem: the framework happy-path example teaches a dedicated single-provider SDK as the default way to call a model. We want these to lead with @agentuity/aigateway (AIGatewayClient) and make the value explicit: one Agentuity project credential gives you the whole gateway catalog — per the AI Gateway page that's OpenAI, Anthropic, Google Gemini, Groq, xAI, DeepSeek, Mistral, Perplexity, open-weight/OSS, Poolside — versus a dedicated SDK like openai that only ever reaches one provider. Switching providers becomes a config/model-ID change instead of a new dependency + new client.

Recommendation:

  • Replace the openai block in each framework page's AI example with AIGatewayClient.completeText() (matching the starter and the AI Gateway page), and add a one-line note that the gateway package unlocks all supported providers through the project key, far more than any single provider SDK.
  • Keep a brief "use a provider SDK directly when you need a provider-specific feature" pointer to [AI Gateway → Choose the Model Path], rather than leading with it.

Out of scope / leave as-is where the provider is the point: build/agents/tool-calling.mdx (Anthropic tool_use blocks), cookbook/patterns/openai-evals-api.mdx (OpenAI Evals API), cookbook/patterns/autonomous-research.mdx, and the services/ai-gateway.mdx provider-SDK-wiring section — those demonstrate provider-specific APIs deliberately. The fix is specifically the framework starter examples and any generic "call a model" snippet that defaults to a single-provider SDK.

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

Follow-up to the AI-gateway comment: also drop the model-specific env vars from the deployed env tables

Each framework page has a "Deployed environment variables" table whose model rows only exist to support the OpenAI-SDK example. When those examples move to AIGatewayClient, these rows become dead/misleading config and should be removed:

  • frameworks/nextjs.mdx (lines ~195–197)
  • frameworks/astro.mdx (~266–268)
  • frameworks/hono.mdx (~242–244)
  • frameworks/nuxt.mdx (~235–237)
  • frameworks/react-router.mdx (~298–300)
  • frameworks/sveltekit.mdx and frameworks/vite-react.mdx (same template rows)

Rows to remove from the deployed list once the example uses the gateway:

  • OPENAI_MODEL — with AIGatewayClient the model is an app-config string passed to completeText({ model }), not a deployed env var.
  • OPENAI_API_KEY, OPENAI_BASE_URL
  • ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL

The gateway path authenticates with the project's AGENTUITY_SDK_KEY (already provisioned), so none of the per-provider key/base-URL/model vars belong in the deployed env list for the default example. Also drop the accompanying "Set OPENAI_MODEL in .env..." note and the "OpenAI calls bypass AI Gateway → verify OPENAI_BASE_URL" troubleshooting row, since they no longer apply.

Keep provider env vars documented only where a page intentionally keeps a provider SDK (e.g. deploy-operate/environment-variables.mdx's provider-wiring table, and the provider-specific cookbook/build pages) — the cleanup is specifically the framework pages converting to the gateway.

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

Build → Agents: AI SDK / single-provider SDKs should default to @agentuity/aigateway

Same theme as the framework pages. The Build → Agents section is mixed — index.mdx and the primary chat-and-streaming.mdx route already use AIGatewayClient (good) — but several examples still lead with a single-provider AI SDK:

  • build/agents/tool-calling.mdx
    • "AI SDK" section: @ai-sdk/anthropic + generateText (lines ~37–60), reads ANTHROPIC_MODEL.
    • "OpenAI Responses API" section: import OpenAI / new OpenAI() (lines ~144–164), reads OPENAI_MODEL.
    • "Anthropic Messages API" section: @anthropic-ai/sdk (lines ~247–268), reads ANTHROPIC_MODEL.
  • build/agents/chat-and-streaming.mdx
    • "Stream with an AI SDK Provider" section: @ai-sdk/anthropic + streamText (lines ~292–305).

We want the gateway to be the default path here too, with the value made explicit: one Agentuity project credential reaches the whole catalog (OpenAI, Anthropic, Google Gemini, Groq, xAI, DeepSeek, Mistral, Perplexity, OSS, Poolside), versus a dedicated SDK that only ever reaches one provider.

Accurate guidance based on the gateway API (packages/core/src/services/aigateway/service.ts):

  • Plain generation / chat / streamingAIGatewayClient.completeText() / streamRequest(). No reason to pull in @ai-sdk/* or openai/@anthropic-ai/sdk for these. The chat-and-streaming "AI SDK Provider" section should be reframed as the exception, not a peer default.
  • Structured JSONAIGatewayClient.completeStructured() with response_schema (provider-agnostic; the gateway translates to each provider's native primitive). Already linked from tool-calling — make it the lead.
  • Tool callingAIGatewayChatCompletionParams has .catchall(z.unknown()) and the response parses tool_calls, so complete() carries tools/tool_choice through to the provider and returns tool calls. The AI SDK's only real advantage is that generateText runs the loop for you and emits AI-SDK UI message streams. So: lead the tool-calling page with the gateway, and keep the AI SDK section only for the "I want the automatic loop / toUIMessageStreamResponse() for AI SDK UI" case — and even then route that provider through the gateway (via the gateway base URL) rather than presenting a bare single-provider client.

Recommendation:

  • Convert the incidental provider-SDK examples above to AIGatewayClient.
  • Add the one-line "gateway unlocks all providers via the project key" note to this section.
  • Keep AI SDK / provider-SDK examples only where the library feature is the point (automatic tool loop, AI SDK UI streams, provider-specific block fidelity), framed as the exception with a pointer to [AI Gateway → Choose the Model Path], and routed through the gateway.

This also lets the per-provider model env (ANTHROPIC_MODEL, OPENAI_MODEL) drop out of the gateway-based examples — the model becomes a config string passed to completeText({ model }).

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

services/database/drizzle.mdx — drop the deprecated @agentuity/drizzle package entirely

This page should not mention or reference the deprecated @agentuity/drizzle package. Please remove the whole "Bun-Only Compatibility Helper" section (lines ~113–151), which includes:

  • the section heading and the "deprecated, opt-in compatibility helper" paragraph (115),
  • the bun add @agentuity/drizzle@next drizzle-orm install (118),
  • the createPostgresDrizzle / import ... from '@agentuity/drizzle' example (122–135),
  • the @agentuity/drizzle/schema schema example (140–146),
  • the "Runtime imports and schema imports are different" callout (149–151).

Also clean up the remaining reference on this page so nothing points back at the removed section:

  • Next Steps → "Postgres Clients" link still says "query with pg or the Bun-only compatibility helper" (line ~160). Drop the helper clause.

The page already documents the supported path (standard Drizzle node-postgres driver against the managed Postgres resource), so removing this section leaves it complete.

Related (same deprecated package, flagging for consistency — not asking to fix here unless you want to): services/database/index.mdx has a parallel "Bun-Only Compatibility Helpers" section (78–98) and table rows (34–35) referencing both @agentuity/drizzle and @agentuity/postgres, and services/database/postgres.mdx has its own helper section (57+). If the goal is to stop referencing the deprecated packages across the docs, those are the sibling spots.

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

Follow-up on the @agentuity/drizzle removal: it's fully deprecated, not just optional

To be clear on why this section should go entirely, not just be softened: @agentuity/drizzle (and the sibling @agentuity/postgres helper) are completely deprecated. The problem they existed to work around has been fixed on the infra/platform side, so there's no longer any scenario — Bun or otherwise — where reaching for the compat helper is the right call. The standard Drizzle node-postgres driver against the managed Postgres resource is now the only recommended path.

So this isn't "deprecated but keep it around for Bun users" — the docs should stop presenting it as a supported option at all, because the platform-level fix removed the need for it. That's the framing for the removal here and for the sibling references on database/index.mdx and database/postgres.mdx.

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

migration/from-v2.mdx — add a recommendation banner at the top of the page

Before the migration steps begin (above "Before You Start", near the top of the page), add a prominent banner that sets expectations about which path we actually recommend. Right now the page jumps straight into the dry-run command, and the "you'll get Hono + Vite" detail is buried in a tip further down under "Choose the Final App Shape".

The banner should say, clearly and up front:

  • Our recommended path is porting your app to an industry-standard framework (Next.js, Nuxt, SvelteKit, Astro, Hono — the create-supported set). That produces an idiomatic app you can maintain with the wider ecosystem.
  • Use the automated v2→v3 migration only if your app is too complex to port directly to a specific framework. It's the fallback for the hard cases, not the default route.
  • Be explicit about the outcome: the automated migration lands you on a Hono + Vite app (Hono API + Vite dev split), since those are the closest mechanical replacements for the v2 runtime pieces. Users should choose the migration path knowing that's where they end up.

Suggested as a <Callout type="warning"> (or "tip") at the very top so it's the first thing a v2 user reads, with a link to Frameworks for the recommended port path. The existing "Choose the Final App Shape" tip can stay but should defer to this banner rather than being the first place the Hono + Vite outcome is mentioned.

@Huijiro
Copy link
Copy Markdown
Member

Huijiro commented Jun 2, 2026

Drop the @next dist-tag pins once v3 ships as latest

The docs pin every Agentuity package to the @next dist-tag (bun add @agentuity/cli@next, @agentuity/keyvalue@next, bun create agentuity@next, npx @agentuity/migrate@next, etc.). That's correct today because v3 lives on next and latest still points at v2 — but when these docs go live, v3 is expected to be latest, at which point @next is wrong/confusing and should be removed so examples read @agentuity/cli, agentuity@latest/create agentuity, etc.

Scope (so this is a clean find-replace at launch, not a scramble):

  • 183 occurrences across 69 MDX files in src/web/content/**. All are @agentuity/*@next, agentuity@next, or @agentuity/migrate@next — no other meaning of @next, so a literal @next -> `` strip is safe in content.
  • src/web/components/docs/copy-migration-prompt.tsx — two hardcoded npx @agentuity/migrate@next lines (79, 93). Not generated; edit directly.
  • src/web/public/**/*.md and llms-full.txt — these also contain @next but are generated by scripts/generate-markdown-files.ts (runs in predev/prebuild). Do NOT hand-edit; they regenerate from the MDX once the source is updated.
  • get-started/installation.mdx Callout (line ~145) explicitly says: "@agentuity/cli@latest and the shell installer default may still point at the previous stable channel. Pass --version next... until the framework-first CLI is the default release channel." When v3 is latest, this whole warning should be removed, not just the tag.

Important: this is gated on the v3 release actually being promoted to latest on npm. As of now latest = v2 (2.0.x) and next = v3 (3.0.x), so removing @next prematurely would point users at v2. Suggest tracking this as a launch checklist item to land together with (or immediately after) the dist-tag promotion, rather than in this PR if v3 isn't latest yet.

- Make `npm create` and `npx agentuity` the default path
- Keep Bun as a supported package-manager option
- Remove Bun-only wording from framework and service docs
- Add the TanStack Start server-route version gotcha
- Align the TanStack Start fixture package versions
# Conflicts:
#	packages/create-agentuity/README.md
- Frame v2 migration as a framework port, not a Hono lock-in
- Document v3 local CLI delegation and v2 deploy handoff
- Point framework examples at `AIGatewayClient` defaults
- Replace deprecated DB helpers with `pg` and Drizzle paths
- Cover zero-arg create flow, rollback, and `.agentuity/`
- Split MDX pages into route-level chunks
- Generate frontmatter metadata for layout lookups
- Route docs links through TanStack `Link`
- Preserve MDX hash links with router `hash`
- Keep v2 docs links in a new tab
- Remove hydration flashes from docs controls
- Stream Explorer sandbox output from protocol frames
- Ignore sandbox logger noise outside output frames
- Return JSON errors for demo API failures
- Validate route wrappers and frontmatter metadata
- Update `sdk-explorer-v3` snapshot wiring
@parteeksingh24 parteeksingh24 changed the title Add framework-first v3 docs Add framework-first v3 docs Jun 4, 2026
- Group Cookbook patterns without changing recipe URLs
- Align nested sidebar rows with v2 docs behavior
- Emit API reference routes in the current `MDXPage` shape
- Keep route wrappers stable before `validate-routes` runs
parteeksingh24 and others added 5 commits June 4, 2026 13:57
- Rebuild snapshots when Explorer scripts or SDK clients change
- Route Explorer docs links through TanStack `Link`
- Keep external `docsUrl` values as new-tab fallback links
- Run database demo with `pg` and `drizzle-orm`
- Drop deprecated `@agentuity/drizzle` from docs deps
- Verify `sdk-explorer-v3:latest` emits structured frames
- Split Ask AI content behind a lazy search chunk
- Generate route paths for MDX link decisions
- Cover route, query, hash, and external MDX links
- Use `AIGatewayClient` for Explorer model calls
- Add Gateway streaming helpers for stream demos
- Move docs sync into `services/docs-sync`
- Let Agentuity Vector own docs-sync embeddings
- Declare `@agentuity/aigateway` in docs
- Align docs workspace on Zod 4
- Keep SDK Explorer snapshot private to the docs org
- Polish WebRTC tiles and search shortcut behavior
- Document shared-host and bucket-scoped `AWS_ENDPOINT`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants