596 Commits

Author SHA1 Message Date
Sam Julien cd40146d82 fix(react-core): honor selfManagedAgents in CopilotKit wrapper validation (#5551)
## Summary

Fixes #5417. The v1 `<CopilotKit>` wrapper's `validateProps` threw
`ConfigurationError: Missing required prop: 'runtimeUrl' or
'publicApiKey' or 'publicLicenseKey'` whenever neither `runtimeUrl` nor
a public key was supplied — without considering self-managed agents.
This rejected the documented self-managed-agent setup, even though the
underlying v2 `CopilotKitProvider` accepts it via its `hasLocalAgents`
gate.

- **Fix:** `validateProps` now mirrors the provider's `hasLocalAgents`
check, so `selfManagedAgents` and `agents__unsafe_dev_only` satisfy the
requirement without a `runtimeUrl` or Cloud key.
- **Test:** new rendering test pins the behavior — still throws when
nothing is configured, no longer throws when local agents are supplied.
- **Docs:** the showcase error-reference "v1 behaves differently"
callout claimed the wrapper throws unconditionally and rejects
`selfManagedAgents` (both now false); corrected, and dropped the "(v2
only)" label on the self-managed example.

## Test plan

- [x] `nx test react-core` — 1284 passing, 0 failing
- [x] New test fails before the fix (red) and passes after (green)
- [x] No new type errors introduced (pre-existing `tsc` noise unchanged
vs `main`)
2026-06-18 14:32:14 -07:00
Maxim b4c16067f1 docs: link self-managed licensing note to talk-to-an-engineer CTA
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-18 23:30:26 +02:00
Maxim ac8e5ea42a docs: correct v1 missing-config behavior note
The callout claimed the v1 <CopilotKit> wrapper has no dev-only
console.warn branch, but it composes CopilotKitV2Provider, which does
warn in development before the v1 validateProps throw. Drop the
misleading clause and contrast the throw-in-dev behavior instead.

Refs #5417
2026-06-18 22:15:49 +02:00
Maxim 8bed39a033 docs: clarify selfManagedAgents portability note in error reference
The self-managed example sits under the "Fix (v2)" heading and uses
<CopilotKitProvider>, so the prior "works on both ... wrapper and v2"
comment read as if the v2 component itself were v1. Attribute the
portability to the selfManagedAgents prop instead of the component.

Refs #5417
2026-06-18 21:52:42 +02:00
Maxim e841339f89 docs: position selfManagedAgents as Enterprise Intelligence
Note on the self-managed agents page that selfManagedAgents is part of
the Enterprise Intelligence offering, with a pointer to discuss
licensing for production use.

Refs #5417
2026-06-18 21:28:15 +02:00
Maxim 76bfce84bb docs: correct v1 self-managed agents note in error reference
The error-reference callout claimed the v1 <CopilotKit> wrapper throws
unconditionally and does not accept selfManagedAgents. Both are no
longer true now that the wrapper honors local agents; update the note
and drop the "(v2 only)" label on the self-managed example.

Refs #5417
2026-06-18 21:19:21 +02:00
Atai Barkai a87c49db0a fix(shell-docs): resolve frontend markdown routes 2026-06-18 12:15:01 -07:00
Atai Barkai a9b7ec2c01 docs(shell-docs): resize Teams preview assets 2026-06-18 12:15:01 -07:00
Atai Barkai 0a8a4e97ea chore(shell-docs): update MDX remote dependency 2026-06-18 12:15:01 -07:00
Atai Barkai 6598481d8b docs(shell-docs): configure shell docs preview 2026-06-18 12:15:01 -07:00
Atai Barkai 8beaab7b0d docs(shell-docs): refine backend picker ordering 2026-06-18 12:15:01 -07:00
Atai Barkai 3fa0f0dff9 docs(shell-docs): update frontend reference links 2026-06-18 12:15:01 -07:00
Atai Barkai 469afd8f28 docs(shell-docs): add React docs guidance dialog 2026-06-18 12:15:01 -07:00
Atai Barkai c0b1e0a076 docs(shell-docs): split frontend and backend picker 2026-06-18 12:15:01 -07:00
Atai Barkai a49fc266b9 docs(shell-docs): add frontend docs routing 2026-06-18 12:15:01 -07:00
Sam Julien d7dd0e6154 docs(shell-docs): normalize quickstart CTAs (#5544)
## Summary
- remove duplicated OpsPlatformCTA blocks from A2A, CrewAI Flows, and
LangGraph prebuilt components docs
- add missing production CTA cards to integration quickstarts that only
had the inline signup step
- audit shell-docs CTA usage so each integration quickstart has exactly
one OpsPlatformCTA and no duplicate CTA blocks remain

## Verification
- npm run test (showcase/shell-docs)
- npm run typecheck (showcase/shell-docs)
- npm run lint (showcase/shell-docs; existing warnings only)
- npm run build (showcase/shell-docs; existing Next/Turbopack warning
only)
- duplicate CTA scanner: no duplicate CTA blocks found
- quickstart CTA scanner: every integration quickstart has exactly one
OpsPlatformCTA
2026-06-18 11:16:15 -07:00
Sam Julien fcc43cf344 docs: fix CrewAI Flows quickstart init command 2026-06-18 10:27:44 -07:00
Sam Julien ddeeb9c586 docs(shell-docs): add missing quickstart CTAs 2026-06-18 10:16:07 -07:00
Sam Julien 6e301f0247 docs(shell-docs): remove duplicated CTA blocks 2026-06-18 10:12:42 -07:00
Austin Merrick a4c5331e6f docs: fix LangGraph documentation links (#5445)
Closes #3190.

## Summary
- update the configurable guide links to the current LangGraph
use-graph-api documentation
- remove an encoded `%23` fragment from the runtime configuration link
- point the AI travel tutorial Studio setup link directly to the current
LangGraph Studio docs

## Verification
- `npx --yes prettier --check
docs/content/docs/integrations/langgraph/configurable.mdx
docs/content/docs/integrations/langgraph/tutorials/ai-travel-app/step-2-langgraph-agent.mdx`
- `git diff --check`
- checked the updated LangChain/LangGraph URLs with `curl -L -I` and
confirmed HTTP 200

Note: `node scripts/check-broken-links.js` was also attempted from
`docs/`, but this sparse checkout does not include all docs pages and
lacks `fumadocs-mdx`, so it reports pre-existing missing internal pages
unrelated to this docs-only change.
2026-06-18 09:49:05 -07:00
Alem Tuzlak f4e00eab8b chore(discord): merge main into discord branch 2026-06-17 11:58:33 -07:00
Alem Tuzlak 817f8c718d docs(bot-discord): add Discord adapter reference docs 2026-06-17 11:36:42 -07:00
Sam Julien 2d3bafd61c docs: clarify shell-docs hybrid authoring 2026-06-17 10:18:13 -07:00
Tyler Slaton 8ec7d0d4e5 docs(shell-docs): restore enterprise intelligence product name 2026-06-17 09:16:29 -07:00
Tyler Slaton 449237af0c fix: rename premium docs to intelligence platform 2026-06-16 22:09:48 -07:00
Tyler Slaton 17c36421bb Rename premium docs sections to Enterprise 2026-06-16 17:36:30 -07:00
Tyler Slaton c6a14e7969 feat(shell-docs): serve Built-in Agent docs at the docs root (#5404)
## Summary

Built-in Agent docs now render at bare root URLs, such as `/quickstart`,
instead of under `/built-in-agent`. Legacy `/built-in-agent/*` and
`/integrations/built-in-agent/*` paths continue to redirect to canonical
root or backend URLs.

## Why

The Built-in Agent is the default docs surface, so public docs URLs
should not expose it as a sub-slug. Existing links still need to keep
working, and root-page navigation must stay stable regardless of a
visitor's stored framework selection.

## How

- Root docs resolve Built-in Agent authored pages first while preserving
reserved routes like `/ag-ui` and framework-prefixed docs.
- Redirect rules in `next.config.ts` and `seo-redirects.ts` point
retired Built-in Agent and unselected paths directly at canonical
destinations, with regression coverage that prevents redirect
destinations from targeting `/built-in-agent`.
- The sidebar/framework provider treats bare URLs as the default
Built-in Agent surface instead of letting a stored framework value
rewrite root-page chrome.
- MDX link and search-result href rewriting strip retired Built-in Agent
prefixes on root-rendered pages while preserving explicit
cross-framework links.
- Stale docs links, sitemap, `llms.txt`, markdown exports, and OG
resolution now align with the root-served Built-in Agent surface.
- Showcase generated-data tests now serialize shared fixture restoration
to avoid concurrent drift in CI.

## Verification

- GitHub checks are green on `f655013dd2576a46dc17b5901eb4dc501cb21028`.
- `npm --prefix showcase/shell-docs run test --
src/lib/__tests__/search-hrefs.test.ts
src/lib/__tests__/docs-link-rewrite.test.ts
src/lib/__tests__/seo-redirects.test.ts
src/lib/__tests__/next-config-redirects.test.ts
src/components/__tests__/docs-landing-next.test.tsx
'src/app/[framework]/[[...slug]]/__tests__/framework-root-shell-layout.test.ts'`
- `npm --prefix showcase/shell-docs run test -- --exclude
src/app/__tests__/public-assets.test.ts`
- `npm --prefix showcase/shell-docs run typecheck`
- `npm --prefix showcase/shell-docs run lint`
- `npm --prefix showcase/shell-docs run build`
- `npm --prefix showcase/scripts run test`
- `pnpm exec nx run @copilotkit/bot-slack:build --skip-nx-cache
--verbose`
2026-06-16 13:48:32 -07:00
Austin Merrick b2f1eb79b1 docs: add Vue quick start guide (#5492)
## Vue quick start guide

Adds a minimal getting-started guide for `@copilotkit/vue` under
**Platforms**, matching the existing React Native guide. It connects a
Vue app directly to an AG-UI agent with `HttpAgent`, so there is no
runtime to stand up and nothing framework-specific to configure. The
same setup works with any AG-UI agent, and agent-side setup links out to
Integrations.

### New page

![Vue quickstart page: nav entry, intro,
prerequisites](https://raw.githubusercontent.com/CopilotKit/CopilotKit/assets/vue-quickstart-screenshots/.pr-assets/vue-quickstart/page-top.png)

![Connect to your agent step with code
sample](https://raw.githubusercontent.com/CopilotKit/CopilotKit/assets/vue-quickstart-screenshots/.pr-assets/vue-quickstart/connect-step.png)

### Changes

- `showcase/shell-docs/src/content/docs/vue.mdx` (new): five steps from
`npm create vue` to a working chat connected to an agent, plus a
troubleshooting accordion and next-steps links.
- `meta.json`: adds `vue` to the Platforms nav after `react-native`.

### Verification

- `pnpm build` of shell-docs passes: TypeScript clean, all static pages
generated, no errors.
- Built a throwaway Vue app from this guide verbatim. `vite build` and
`vue-tsc` resolve every import from `@copilotkit/vue/v2` (installed via
the published `@copilotkit/vue`), the chat renders, and a message
round-trips to a local AG-UI agent and streams back.
2026-06-16 12:08:14 -07:00
Tyler Slaton b93fd77a4d fix(shell-docs): protect redirect aliases in docs links 2026-06-16 12:06:35 -07:00
Austin Merrick b97157cadc docs: add Vue quick start guide
Add a minimal getting-started guide for @copilotkit/vue under Platforms.
Connects a Vue app directly to an AG-UI agent via HttpAgent so there is no
runtime to stand up, and imports from @copilotkit/vue/v2 to match the v2
docs convention. Links out to Integrations for agent-side setup.
2026-06-16 11:51:50 -07:00
Tyler Slaton 3fb24ef403 fix(shell-docs): address docs review edge cases 2026-06-16 10:08:54 -07:00
wuyangfan a76b2eff69 docs: apply LangGraph link fixes to shell-docs (canonical source)
The top-level docs/ folder is retired; the live docs are sourced from
showcase/shell-docs. Move the same three link fixes there and revert the
no-op edits to docs/:

- configurable.mdx: graph-api -> use-graph-api (#add-runtime-configuration)
- configurable.mdx: drop malformed %23 double-anchor on the schema link
- step-2-langgraph-agent.mdx: studio.langchain.com -> docs.langchain.com/.../studio

Closes #3190.
2026-06-16 09:56:53 -07:00
Martha Schumann 38e987f7e4 fix(docs): validate showcase docs model names 2026-06-16 09:55:14 -07:00
Austin Merrick d88245199f docs: testing that previews are up (#5431) 2026-06-16 09:38:39 -07:00
Alem Tuzlak a925e33be9 docs(bot-slack): document assistant pane + native streaming; enable in slack example
Update package READMEs + ARCHITECTURE for the assistant pane, native streaming,
and the new onThreadStarted / setSuggestedPrompts / setTitle surface. Reverse
the slack.mdx callout that told users to delete the assistant scopes (now
required), and enable the pane in the examples/slack manifest (assistant_view +
assistant:write + assistant_thread_* events) with a dev-ex onThreadStarted
greeting and the assistant config.
2026-06-15 15:47:46 +02:00
Tyler Slaton f655013dd2 fix(showcase): harden built-in-agent root rollout 2026-06-12 17:17:18 -07:00
Tyler Slaton 88de23324a Merge remote-tracking branch 'origin/main' into codex/bia-root-review-fix 2026-06-12 16:47:25 -07:00
Tyler Slaton 1adaf1b839 fix(shell-docs): harden built-in-agent root migration 2026-06-12 16:41:13 -07:00
Tyler Slaton 6d6a65c531 docs: testing that previews are up
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-06-12 16:27:57 -07:00
Tyler Slaton 5c8c56071b feat(shell-docs): serve Built-in Agent docs at the docs root
The default framework's docs now live at bare root URLs (/quickstart,
/server-tools, ...) instead of under /built-in-agent/. The root
catch-all resolves BIA-authored pages first, /built-in-agent/:path*
permanently redirects to /:path*, and sidebar/landing/selector hrefs
are root-relative.

The whole root surface shares ONE sidebar: the Built-in Agent IA with
the agnostic root sections (Concepts, Runtime, Deploy, Platforms, Other)
folded in via buildRootSurfaceNav. Empty ---Section--- placeholders in
the BIA meta.json position each folded-in section; appendSharedRootSections
fills them, dropEmptySections clears any that stay empty, and route-group
nodes (e.g. the (other) tree) are excluded so the fold never emits a bogus
/(other)/... href. Without this, navigating from a BIA page to an agnostic
page (/concepts/*, /backend/*) swapped the sidebar between two overlapping
IAs. The fold is scoped to the root surface only — deepagents keeps
Platforms-only and generated frameworks are untouched.

Duplicate pages that the fold would otherwise double up are consolidated
onto their canonical root homes:
- The three BIA backend wrappers (copilot-runtime, custom-agent, ag-ui)
  are retired; the folded-in Runtime section is their single home. This
  resolves the /backend/ag-ui collision (the wrapper had shadowed the
  real root page). The bare /ag-ui segment belongs to the AG-UI protocol
  docs, so old /built-in-agent/ag-ui links redirect to /backend/ag-ui.
- The BIA troubleshooting wrappers are retired in favor of the canonical
  /troubleshooting/* pages surfaced by the folded-in Other section, so
  Troubleshooting appears once.

Stale redirect R25 (/runtime-server-adapter -> /backend/copilot-runtime)
is removed: runtime-server-adapter is a distinct, current 'Deploy to any
runtime' page linked from the sidebar, and the redirect had made it
unreachable at its own URL.

Middleware rules that would shadow or loop against the new surface
(M2 /quickstart, BIA_DEFAULT_ROOT_REDIRECTS, MV-telemetry) are retired,
and remaining live destinations move off the old prefix. The sitemap,
llms.txt, per-page .md/.mdx, and OG image routes resolve the same
content the pages serve. The client-side RouterPivot bounce is removed
since root URLs now render real content in place.
2026-06-12 16:08:35 -07:00
Austin Merrick 018b957305 docs(shell-docs): add @copilotkit/react-native reference documentation (#5397)
Adds a **React Native** SDK to the reference docs at
`/reference/react-native`, covering the full `@copilotkit/react-native`
public API. Modeled on the existing React/Core/Bots reference sections.

**Nav:** register `react-native` in `reference-items.ts`, add the SDK
selector label + an overview card.

**Content (22 pages, written from package source):** index, 8
components, 13 hooks. `CopilotChat` and `CopilotModal` exist in both a
headless (root) and prebuilt-UI (`/components`) form; each page
documents both, split by import path.

**Verified:** `next build` passes, all pages render, `oxlint` + `tsc`
clean, and content appears in `llms.txt` / `llms-full.txt`.

Out of scope per the issue: guide content and new demos.


---

## Preview

**Overview + SDK nav** — `/reference/react-native` (left sidebar shows
the new “React Native” SDK selector and all 8 components + 13 hooks)

![React Native reference
overview](https://raw.githubusercontent.com/CopilotKit/CopilotKit/0ce40a7546eeb5556580882a0b6ecf8923284490/pr-screenshots/rn-01-overview.png)

**Component page — `CopilotChat`** —
`/reference/react-native/components/CopilotChat` (headless + prebuilt-UI
split by import path)

![CopilotChat reference
page](https://raw.githubusercontent.com/CopilotKit/CopilotKit/0ce40a7546eeb5556580882a0b6ecf8923284490/pr-screenshots/rn-02-component-copilotchat.png)

**Hook page — `useAgent`** — `/reference/react-native/hooks/useAgent`
(re-export callout, react-native code examples)

![useAgent reference
page](https://raw.githubusercontent.com/CopilotKit/CopilotKit/0ce40a7546eeb5556580882a0b6ecf8923284490/pr-screenshots/rn-03-hook-useagent.png)
2026-06-12 13:20:35 -07:00
Austin Merrick cf5126a04e docs(shell-docs): add @copilotkit/react-native reference documentation
Adds a "React Native" SDK to the reference section, documenting the full
public surface of @copilotkit/react-native at /reference/react-native.

Navigation wiring:
- Register `react-native` in REFERENCE_VERSIONS / VERSION_SUBDIRS
- Add the "React Native" label to the SDK version selector
- Add a React Native card to the reference overview page

Content (22 pages, sourced from package source for accuracy):
- index: install, polyfills, provider setup, and the headless vs prebuilt
  two-tier model
- components: CopilotKitProvider, CopilotChat, CopilotModal, CopilotSidebar,
  CopilotPopup, CopilotMarkdown, AssistantMessage, UserMessage — disambiguating
  the headless (root) and prebuilt-UI (/components) variants of CopilotChat and
  CopilotModal by import path
- hooks: RN-specific useAttachments and useRenderTool, plus the platform-
  agnostic hooks re-exported from react-core/v2 adapted to RN imports and
  primitives (useAgent, useCopilotKit, useFrontendTool, useAgentContext,
  useThreads, useCapabilities, useComponent, useHumanInTheLoop, useInterrupt,
  useSuggestions, useConfigureSuggestions)

Content is picked up automatically by llms.txt / llms-full.txt via the
reference content walker.

OSS-250
2026-06-12 11:37:55 -07:00
Tyler Slaton fd4c1cadc3 docs: add gated Microsoft Teams docs 2026-06-11 17:12:52 -07:00
Tyler Slaton a028b5fb91 feat(shell-docs): gate Slack docs behind early-access password
Blur the Slack guide (/slack and its framework-scoped variants) and the
entire bot reference section behind a client-side unlock card. The card
follows the scroll in a sticky scrollport-height frame, persists unlock
state in localStorage, and leaves the sidebar and top nav usable. Doc
pages opt in via earlyAccess frontmatter; the bot reference gates on
version === "bot". Visitors without the password get a product shot
(light/dark variants in git LFS, shown beside the form on wide cards
via container query) and a link to the beyond-the-web early-access
form.
2026-06-11 13:18:11 -07:00
Tyler Slaton d980837075 Merge branch 'main' of github.com:CopilotKit/CopilotKit into codex/shell-docs-latest-main
# Conflicts:
#	showcase/shell-docs/src/lib/reference-items.ts
2026-06-10 21:33:24 -07:00
Tyler Slaton 63e3557af5 fix(shell-docs): polish docs UI pass 2026-06-10 21:17:40 -07:00
Tyler Slaton 8c20384ea5 Merge branch 'main' into tyler/slack-platform-docs 2026-06-10 16:39:00 -07:00
Tyler Slaton a8d43a9c2e docs(shell-docs): Slack platform quickstart + Bots API reference
- New Platforms entry: /platform/slack quickstart — manifest-based app
  creation, Socket Mode tokens, minimal createBot bot run with tsx,
  interactive JSX with inline onClick, slash commands, production split
- New "Bots" SDK tab in the reference picker with per-symbol pages for
  @copilotkit/bot, @copilotkit/bot-ui, and @copilotkit/bot-slack
  (Components / Functions / Classes / Types)
- Rename reference picker labels to React (V2) / React (V1)
- Remove the retired /reference/sdk pages (LangGraph/CrewAI SDK,
  Remote Endpoints); search/sitemap/llms indexes derive from the
  content tree, so they de-index with the deletion
- Retarget the one inbound link to its /reference/v1 copy

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-10 16:33:15 -07:00
Benjamin Taylor ff2b59f934 fix(shell-docs): record location on hero_command_copied for surface attribution (closes OSS-299)
The hero_command_copied event fired by the landing-hero command cards carried
no surface discriminator. HeroStartActions renders on both the home hero and
every framework landing hero; the "onboard" card's command is byte-identical
on every page, so onboard copies could not be attributed to a surface from the
event alone (only the "create" card embeds the framework in `command`).

Add `location: window.location.pathname` to the payload, mirroring the
`cli_command_copied` event the global <CopyTracker> already emits for the same
copy so the two paired events join on the same dimension. Guarded for SSR to
match the sibling.

Adds a source-assertion guard test in the shell-docs node-env convention.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 15:52:43 -05:00
Austin Merrick d8ed70a26b feat(shell-docs): recommend create + skills onboard commands in landing heroes (#5248)
## What

Replaces the landing-page CTA with **three entry points**, framed by
situation, and renders the **identical action block on the home hero and
every framework landing hero**:

| | action |
|---|---|
| **New project** | `npx copilotkit create` |
| **Existing project** | `npx copilotkit skills onboard` |
| **Guided walkthrough** | **Quickstart** button (preserved from the
previous hero) |

- **Unified `<HeroStartActions>` block**: two equal-weight command cards
plus a quickstart row beneath, shared verbatim by the home hero and the
framework landing heroes (per review: the two surfaces previously
diverged).
- **Quickstart preserved** in its original accent treatment. On the home
hero it is the framework-picker dropdown (`<HeroQuickstartDropdown>`,
restored); on framework pages it links straight to that framework's
quickstart guide. The home hero also keeps the "Learn more about
building with agents" link in the same row.
- **Framework landing heroes** (e.g. `/langgraph-typescript`): the
create command **pre-fills the framework** via the CLI's `--framework`
flag (e.g. `--framework langgraph-js`).

**Framework-flag mapping**: docs slug to CLI `--framework` value,
verified against the CLI's `AGENT_FRAMEWORKS` enum
(`langgraph-typescript`→`langgraph-js`,
`langgraph-python`→`langgraph-py`, `google-adk`→`adk`,
`strands`→`aws-strands-py`,
`ms-agent-dotnet`→`microsoft-agent-framework-dotnet`, identical for
`mastra`/`pydantic-ai`/`llamaindex`/`agno`/`ag2`). Slugs with **no** 1:1
CLI template fall back to a bare `npx copilotkit create`, notably
`crewai-crews` (the CLI ships *CrewAI Flows*, not Crews), plus
`langgraph-fastapi`, `claude-sdk-*`, `langroid`, `spring-ai`,
`agent-spec`, `deepagents`. `skills onboard` has no framework flag, so
it is identical everywhere. Frameworks with bespoke setup (`a2a` `git
clone`, `ms-agent-dotnet`) keep the pre-cards layout: quickstart button
plus their own copy-command chip.

**Responsive, with all text always visible.** Commands **wrap, never
truncate**:

- Wraps happen at spaces only; every token is non-breaking, so
`--framework` can never split into a dangling `-` at a line edge.
- `text-wrap: balance` splits multi-line commands evenly, typically
right at the flag boundary (`npx copilotkit@latest create` /
`--framework langgraph-js`).
- The block caps at 740px with 12px mono, the narrowest cap where both
home commands fit one line with enough headroom to survive platform
mono-font width differences.
- Cards sit two-up from `sm` and stack below it; the grid (`min-w-0`,
`items-stretch`) keeps long commands inside their track and the card
pair equal-height.

## Screenshots

**Home**: two cards, quickstart dropdown, learn-more link


![home](https://raw.githubusercontent.com/CopilotKit/CopilotKit/screenshots/oss-195/home.png)

**Home, quickstart dropdown open** (framework picker preserved)

![home
dropdown](https://raw.githubusercontent.com/CopilotKit/CopilotKit/screenshots/oss-195/home-dropdown.png)

**Framework landing (LangGraph)**: same block, framework pre-filled,
create command balanced across two lines, quickstart links to the guide


![framework](https://raw.githubusercontent.com/CopilotKit/CopilotKit/screenshots/oss-195/framework-langgraph.png)

**Worst case (Microsoft Agent Framework, Python)**: longest CLI flag
value, three balanced lines, fully readable

![long
command](https://raw.githubusercontent.com/CopilotKit/CopilotKit/screenshots/oss-195/framework-msagent-long.png)

**Bespoke setup (A2A)**: quickstart button plus own command chip
(pre-cards layout preserved)


![a2a](https://raw.githubusercontent.com/CopilotKit/CopilotKit/screenshots/oss-195/a2a-bespoke.png)

**Mobile (375px)**: cards stack, quickstart goes full-width

| home | framework |
|---|---|
| ![home
mobile](https://raw.githubusercontent.com/CopilotKit/CopilotKit/screenshots/oss-195/home-mobile.png)
| ![framework
mobile](https://raw.githubusercontent.com/CopilotKit/CopilotKit/screenshots/oss-195/framework-mobile.png)
|

## Telemetry

Both hero copy buttons are now explicitly instrumented: each click
captures **`hero_command_copied`** (`command_id`: `create` | `onboard`,
full `command` string, `clipboard_blocked`), so create-vs-onboard
funnels are queryable per landing page. The pre-existing global
`cli_command_copied` (fired by `CopyTracker` on any clipboard copy)
still fires for volume metrics; the new event uses a different name so
that funnel is not double-counted. Validated locally against a live
PostHog client: each click POSTs both events (plus `$autocapture`) to
`/ingest/e` with HTTP 200.

## Notes

- Both cards equal weight; accent only on hover. Copy rows copy on click
with `aria-live` feedback plus a clipboard-blocked fallback; cursor is
`pointer`.
- Removes `agent-start-prompt.tsx` and `hero-command-copy.tsx`.
`hero-quickstart-dropdown.tsx` is back (restored unchanged after review
feedback).
2026-06-10 13:03:10 -07:00