Skip to content

dashboard+skill: first-run onboarding + opencomputer skill rewrite#191

Merged
motatoes merged 7 commits intomainfrom
feat/dashboard-onboarding-getting-started
Apr 25, 2026
Merged

dashboard+skill: first-run onboarding + opencomputer skill rewrite#191
motatoes merged 7 commits intomainfrom
feat/dashboard-onboarding-getting-started

Conversation

@motatoes
Copy link
Copy Markdown
Contributor

Summary

  • Dashboard onboarding — when an account has zero sessions, the dashboard renders a two-step "Getting Started" panel instead of empty placeholders: (1) the npx skills add diggerhq/opencomputer install command with a Copy button, and (2) a "Generate API Key" button that calls the existing createAPIKey('Default') mutation and reveals the key + a ready-to-paste oc config set api-key <key> command. After the first sandbox runs, the normal dashboard view returns automatically.
  • Skill consolidation — removes the stale project-local .claude/skills/openqemu/ skill (raw curl against the OpenSandbox API) in favor of the canonical skills/opencomputer/ skill (uses the oc CLI).
  • Skill onboarding rewrite — the opencomputer skill now has an explicit "First-time setup" section that runs before any other oc command: it checks for oc and installs via the official scripts/install.sh one-liner if missing, then checks oc config show and (on missing key / 401) opens https://app.opencomputer.dev in the user's browser and instructs them to paste oc config set api-key … into their own terminal. Allowed-tools widened so install + browser-launch don't trigger permission prompts.

Test plan

  • make infra-up && make run-pg-workos + make web-dev, sign up with a fresh org, confirm the Dashboard shows "Welcome to OpenComputer" with both step cards.
  • Click "Generate API Key" → key reveal banner appears with both Copy buttons working; subsequent reload shows "You already have 1 API key" with a working "Manage keys" link to /api-keys (no redirect loop).
  • Create a sandbox → reloading the Dashboard now shows the regular stat cards / Live Sandboxes / Recent Sessions view.
  • In a fresh shell (no oc installed, no API key configured), invoke the opencomputer skill and confirm it (a) installs the CLI, (b) opens the dashboard in the browser, and (c) waits for the user before running sandbox commands.

🤖 Generated with Claude Code

Replace the empty-dashboard placeholder with a two-step Getting Started
panel (install command + Generate API Key button) so new accounts have
a clear path from signup to first sandbox.

Also consolidates the project-local openqemu skill into the
opencomputer skill, and rewrites its setup section to auto-install the
oc CLI and walk users through API-key creation when missing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
opensandbox Ready Ready Preview, Comment Apr 25, 2026 1:15am

Request Review

Drop the non-existent --template flag from sandbox-create examples and
correct the exec section: oc exec streams by default since #189, so
--json only makes sense paired with --wait. Also document the new exec
session subcommands (list/attach/kill) and --detach mode.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@breardon2011 breardon2011 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approve

Drop the intermediate name-input dialog. Clicking "Create Key" now
generates a key immediately with a date-based name ("Key YYYY-MM-DD",
suffixed (2), (3)... if multiple are created on the same day) and
reveals it inline with a Copy button — same flow as the dashboard
onboarding.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
motatoes and others added 2 commits April 24, 2026 18:02
Drop the "Generate API Key" button from the onboarding panel. When a
new user lands on the dashboard with no existing keys, we now create
the Default key automatically on mount and reveal it inline. The user
can copy it without any clicks — the key feels like it was already
provisioned at signup.

If the user already has keys (e.g. created earlier in another session),
we show a note explaining we can't re-display existing values for
security and link to /api-keys to rotate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The WorkOS provisioning path was creating a Default API key the moment
a new org was provisioned, then discarding the plaintext value. The
user could never see or use that key — only its hash existed in the DB.

This blocked the dashboard's onboarding flow: on first login the user
already had 1 (unusable) key, so the auto-create-and-reveal step
correctly bailed out. Removing the signup-time create lets the
dashboard create the first key when the user lands and show its
plaintext, which is the only way they can actually use it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Stop displaying the freshly-created API key in plain text. Render it
as bullets by default with explicit "Reveal" and "Copy" buttons —
copy works without revealing, so the user can paste into their
terminal without ever shoulder-surfing the value on screen. Same
treatment for the embedded key in the 'oc config set api-key …'
command row.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@2027-evals
Copy link
Copy Markdown

2027-evals Bot commented Apr 25, 2026

🌊 Waiting for deployment on commit 3c61a5b to finish...

Detected prompts matching diggerhq/opencomputer:

complete the getting started guide at https://opencomputer.d — current: no baseline yet · View metrics

Prompt text:

complete the getting started guide at https://opencomputer.dev


Evaluating agent experience using 2027.dev · View dashboard

@motatoes motatoes merged commit 19619b0 into main Apr 25, 2026
2 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.

2 participants