Skip to content

New bot: refine, look, Claude or ChatGPT, then intro - #50

Merged
shubhook merged 6 commits into
mainfrom
v0-b2-new-bot
Oct 20, 2026
Merged

shubhook merged 6 commits into
mainfrom
v0-b2-new-bot

Conversation

@shubhook

Copy link
Copy Markdown
Owner

Why

Creating a bot still asked for Title, Computer, and Advanced, then left an empty chat (or the old focus card). v0 should take a short form, refine the role, and open a chat that already has the bot's intro and idea chips.

What

  • Form: Name, Shape and Color (6-color palette), What should it do?, starter chips as prefills. Removed Title, Computer, and Advanced.
  • Runs on: ChatGPT or Claude. Claude only when agent.status reports Claude Code installed and signed in. With one option, the control is hidden.
  • bots.refine: Runs through selectRuntimeModel + the agent runtime; returns title and instructions. Prompt lives in apps/api/src/bot-refine.ts. Scripted runtime answers offline. If refine fails, create still uses the raw description.
  • Create: Persists refined fields; Claude sets modelProvider: claude-code. Server posts onboarding.introduce (replacing the model-driven intro run).
  • E2E: Create flow sees intro + chips; Runs on shown/hidden; focus-card delay tests removed.

New UI copy (and why)

Copy Why
What should it do? Replaces Title + "What this bot is for" with one field.
Runs on / ChatGPT / Claude Choose the runtime only when both are available.
Creating… (shimmer) Progress while refine + create run.

Depends on #48 (B1) for onboarding.introduce and suggestion chips.

Testing

  • pnpm exec vitest run apps/api/src/bot-refine.test.ts — pass
  • Typecheck contracts, api, web, mobile — pass
  • Did not run desktop Playwright locally
  • Link the CI E2E screenshot for the create-bot intro once available

Made with Cursor

@shubhook
shubhook force-pushed the v0-b2-new-bot branch 6 times, most recently from a88dbf9 to 3e45c16 Compare October 20, 2026 19:19
shubhook and others added 5 commits October 21, 2026 01:22
…ntro

Create is name, look, what it should do, and Runs on only when Claude Code
is ready. bots.refine turns the description into title and instructions
through the agent runtime; create then posts the shared intro chips.

Co-authored-by: Cursor <cursoragent@cursor.com>
Biome import/format on the new-bot files, and account for the intro
message bots.create posts before concurrent cursor allocation.

Co-authored-by: Cursor <cursoragent@cursor.com>
ChatGPT, Claude, Runs on, and What should it do? need entries in every
non-English catalog so the chrome t() coverage test stays green.

Co-authored-by: Cursor <cursoragent@cursor.com>
A just-forked process can publish its arguments a moment late, so one
read of the split --user-data-dir form comes back empty on a busy runner.

Co-authored-by: Cursor <cursoragent@cursor.com>
Settings and the new-bot form both added the same key after the rebase
onto main. Keep the entry next to Claude.

Co-authored-by: Cursor <cursoragent@cursor.com>
The sidebar preview repeats the intro, so a page-wide text match hits
strict mode. Read it from the bot bubble only.

Co-authored-by: Cursor <cursoragent@cursor.com>
@shubhook
shubhook changed the base branch from v0-b1-onboarding to main October 20, 2026 20:13
@shubhook
shubhook merged commit 3e0a5e9 into main Oct 20, 2026
14 checks passed
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.

1 participant