cdp-verification
Skill16k starsChanged 11 days agoMITView on GitHub
Verify UI behavior end-to-end by driving the running desktop app over the Chrome DevTools Protocol. Use when asked to verify, reproduce, or confirm a UI change, bug, or regression in the real app rather than in tests.
- Reads credentials
1 other project uses a version of this; 1 new project in the last 4 weeks, against 0 the 4 before.
Adopted by
Surging: 1 new project took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- superset-sh/supersetword for word, first seen Nov 2, 2026
Who's talking about ParadevAI/Paradev
- Alex Hitt“Paradev GitHub Explained: Parallel AI Workspaces, Worktrees, Ports, and Security Tradeoffs”YouTube · Oct 29, 2026 · 432 views
- benjamincanac/whichcodingtools“[Outdated] superset was renamed to Paradev”GitHub · Nov 4, 2026 · 1 reactions
- @github-trending-js.bsky.social“📦 ParadevAI / Paradev ⭐ 15,665 (+53) 🗒 TypeScript Paradev (formerly Superset) is an agentic IDE to …”Bluesky · Oct 28, 2026 · 1 likes
- sudosubin/agents.nix“claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-10 → 0-unstable-2026-11-11”GitHub · Nov 11, 2026
- sudosubin/agents.nix“agent-skills.github.paradevai.paradev: bdd0a5b → 45118b8”GitHub · Nov 10, 2026
The biggest 5 of 64 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 64
Talked about on GitHub, the web, Bluesky and YouTube (64 times).
On GitHub · 50
- Nov 4, 2026[Outdated] superset was renamed to Paradev — benjamincanac/whichcodingtools1 reaction · 1 comment
- Nov 11, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-10 → 0-unstable-2026-11-11 — sudosubin/agents.nix0 reactions
- Nov 10, 2026agent-skills.github.paradevai.paradev: bdd0a5b → 45118b8 — sudosubin/agents.nix0 reactions
- Nov 10, 2026claude-code-marketplaces.github.paradevai.paradev: d456e51 → d11a91f — sudosubin/agents.nix0 reactions
- Nov 10, 2026claude-code-marketplaces.github.paradevai.paradev: bdd0a5b → d456e51 — sudosubin/agents.nix0 reactions
45 more on GitHub
- Nov 10, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-09 → 0-unstable-2026-11-10 — sudosubin/agents.nix0 reactions
- Nov 10, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-09 → 0-unstable-2026-11-10 — sudosubin/agents.nix0 reactions
- Nov 9, 2026claude-code-marketplaces.github.paradevai.paradev: a865880 → cedc22d — sudosubin/agents.nix0 reactions
- Nov 9, 2026agent-skills.github.paradevai.paradev: b5b6302 → 88b6412 — sudosubin/agents.nix0 reactions
- Nov 9, 2026claude-code-marketplaces.github.paradevai.paradev: e847be5 → a865880 — sudosubin/agents.nix0 reactions
- Nov 9, 2026agent-plugins.github.paradevai.paradev: 0-unstable-2026-11-03 → 0-unstable-2026-11-09 — sudosubin/agents.nix0 reactions
- Nov 9, 2026claude-code-plugins.github.paradevai.paradev: 0-unstable-2026-11-03 → 0-unstable-2026-11-09 — sudosubin/agents.nix0 reactions
- Nov 9, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-08 → 0-unstable-2026-11-09 — sudosubin/agents.nix0 reactions
- Nov 9, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-08 → 0-unstable-2026-11-09 — sudosubin/agents.nix0 reactions
- Nov 8, 2026agent-skills.github.paradevai.paradev: b77bc04 → 041c296 — sudosubin/agents.nix0 reactions
- Nov 8, 2026claude-code-marketplaces.github.paradevai.paradev: b77bc04 → 106428f — sudosubin/agents.nix0 reactions
- Nov 8, 2026agent-skills.github.paradevai.paradev: 5aa1cf3 → b77bc04 — sudosubin/agents.nix0 reactions
- Nov 8, 2026claude-code-marketplaces.github.paradevai.paradev: 61645f4 → b77bc04 — sudosubin/agents.nix0 reactions
- Nov 8, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-07 → 0-unstable-2026-11-08 — sudosubin/agents.nix0 reactions
- Nov 8, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-07 → 0-unstable-2026-11-08 — sudosubin/agents.nix0 reactions
- Nov 7, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-06 → 0-unstable-2026-11-07 — sudosubin/agents.nix0 reactions
- Nov 7, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-06 → 0-unstable-2026-11-07 — sudosubin/agents.nix0 reactions
- Nov 7, 2026🔍 CLI Discovery: 2026-11-07 — 7 candidates found — RealZST/harnesskit-resources0 reactions
- Nov 7, 2026Import sessions and worktrees from Conductor, Claude Code and Codex (Paradev, Ace) — alexec/Agents0 reactions · 5 comments
- Nov 7, 2026claude-code-marketplaces.github.paradevai.paradev: 9c6f098 → 19db630 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.paradevai.paradev: 9c6f098 → 19db630 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.paradevai.paradev: 53f1ac1 → 9c6f098 — sudosubin/agents.nix0 reactions
- Nov 6, 2026claude-code-marketplaces.github.paradevai.paradev: 08cb35c → 9c6f098 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-05 → 0-unstable-2026-11-06 — sudosubin/agents.nix0 reactions
- Nov 6, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-05 → 0-unstable-2026-11-06 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.paradevai.paradev: bcc2455 → 533cf1c — sudosubin/agents.nix0 reactions
- Nov 5, 2026agent-skills.github.paradevai.paradev: 3b5472d → bcc2455 — sudosubin/agents.nix0 reactions
- Nov 5, 2026Update Superset as an open-source alternative to Conductor: renamed to Paradev, now MIT — junaid33/opensource.builders0 reactions
- Nov 5, 2026claude-code-marketplaces.github.paradevai.paradev: 0cbf9fb → bcc2455 — sudosubin/agents.nix0 reactions
- Nov 5, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-04 → 0-unstable-2026-11-05 — sudosubin/agents.nix0 reactions
- Nov 5, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-04 → 0-unstable-2026-11-05 — sudosubin/agents.nix0 reactions
- Nov 4, 2026agent-skills.github.paradevai.paradev: 4cc2e79 → 45e426e — sudosubin/agents.nix0 reactions
- Nov 4, 2026data(superset): rename to Paradev, MIT license, new links — benjamincanac/whichcodingtools0 reactions · 1 comment
- Nov 4, 2026Rename Superset to Paradev — filipecalegario/awesome-vibe-coding0 reactions
- Nov 4, 2026Resource suggestion: Paradev — RoggeOhta/awesome-codex-cli0 reactions
- Nov 4, 2026claude-code-marketplaces.github.paradevai.paradev: 4cccb5b → 44d0ad4 — sudosubin/agents.nix0 reactions
- Nov 4, 2026Undo the files an agent changed in a turn — alexec/Agents0 reactions · 1 comment
- Nov 4, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-03 → 0-unstable-2026-11-04 — sudosubin/agents.nix0 reactions
- Nov 4, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-03 → 0-unstable-2026-11-04 — sudosubin/agents.nix0 reactions
- Nov 4, 2026agent-skills.github.paradevai.paradev: 142df44 → 615ea54 — sudosubin/agents.nix0 reactions
- Nov 3, 2026claude-code-marketplaces.github.paradevai.paradev: 0745d4b → 2e42c29 — sudosubin/agents.nix0 reactions
- Nov 3, 2026agent-plugins.github.paradevai.paradev: 0-unstable-2026-11-02 → 0-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
- Nov 3, 2026claude-code-plugins.github.paradevai.paradev: 0-unstable-2026-11-02 → 0-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
- Nov 3, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-02 → 0-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
- Nov 3, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-02 → 0-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
On the web · 11
- Nov 4, 2026Paradev: Run Armies of Coding Agents Side by Side — dev.to
- Nov 2, 2026Paradev's Workspace Wants to Run an Army of Coding Agents in Parallel — startuply.vc
- Oct 27, 2026The next developer tool fight isn't about which agent writes the best code. It's about who helps you manage ten of them at once. | A.X.Praveen Kumar — linkedin.com
- Oct 26, 2026Excited to announce Paradev (formerly Superset) raise a $11.5m seed round led by Union Square Ventures, with participation from Y Combinator, BoxGroup, Orange Collective, Paul Graham and many more amazing funds and … | Avi Peltz — linkedin.com
- Oct 26, 2026For my personal projects, I used to use iTerm with a bunch of split panes, but after switching to Superset (now Paradev) I immediately noticed a significant QOL improvement! If ur looking … | Brian Wang — linkedin.com
6 more on the web
- Oct 26, 2026Meet Paradev (formerly Superset)! We’re thrilled to back them as part of their $11.5M seed round led by Union Square Ventures 🚀 | commit — linkedin.com
- Oct 26, 2026Paradev is building the IDE for running coding agents. | Fredrik Björk — linkedin.com
- Oct 26, 2026This time last year Paradev (formerly Superset) didn't even exist. Today, we're used by 1 in 8 Fortune 500 companies. Over 100,000 developers from 180+ countries. | Kiet Ho — linkedin.com
- Oct 26, 2026Paradev introduces a unified workspace designed to run Claude Code, Codex, OpenCode, and other coding agents simultaneously without disrupting existing workflows. | Kirill Pokidov — linkedin.com
- Oct 26, 2026Superset is now Paradev, and we raised an $11.5M seed led by Union Square Ventures, alongside Y Combinator, BoxGroup, Orange Collective and many amazing funds and angels. | Paradev (formerly Superset) — linkedin.com
- Oct 26, 2026Elite developers use Paradev (formerly Superset) (paradev.com) - and today they announced a $11.5m funding round led by Union Square Ventures! | Dan Von Kohorn — linkedin.com
On Bluesky · 2
- Oct 28, 2026📦 ParadevAI / Paradev ⭐ 15,665 (+53) 🗒 TypeScript Paradev (formerly Superset) is an agentic IDE to orchestrate 100+ coding agents in… — @github-trending-js.bsky.social1 likes and repost
- Nov 7, 2026📦 ParadevAI / Paradev ⭐ 16,014 (+62) 🗒 TypeScript Paradev is an open-source Codex App and Conductor alternative. Orchestrate an army… — @github-trending-js.bsky.social0 likes and reposts · 1 reply
On YouTube · 1
- Oct 29, 2026Paradev GitHub Explained: Parallel AI Workspaces, Worktrees, Ports, and Security Tradeoffs — Alex Hitt432 views
Other versions1 project uses a version of this.
Word for word · 1
- superset-sh/superset★ 16k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- db-migrationsSkill
- decideSkill
- dev-doctorSkill
- incident-triageSkill
- mobile-demo-filmSkill
- mobile-demo-recordSkill
- mobile-eas-devSkill
- mobile-sim-verificationSkill
- redesignSkill
- superset-settingsSkill
- ticket-formatSkill
- trpc-compatSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Reproduce the exact user journey: Use real browser input and visible UI navigation for the steps the user performs.
- Distinctive: line 29
Treat a mismatch as an incomplete reproduction: If the test passes but the user still observes the bug, re-check the target instance, exact …
- Distinctive: line 40
Test in the real layout, not a staged one: Do not rearrange the UI to make coordinates convenient (e.g.
- Very specific: line 70
Read this workspace's final DESKTOP_VITE_PORT and NEXT_PUBLIC_API_URL values from the root .env.
- Very specific: line 75
Verify /api/auth/get-session from inside the matched renderer before testing.
- Distinctive: line 79
Check which setup script provisioned the workspace before repairing auth:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CDP UI Verification
"Rules" below is what counts as valid evidence. "Mechanics" is how to attach to the right renderer
and repair auth. apps/desktop/scripts/cdp-smoke-integrations.ts is a working example script.
Rules
- Target the correct app instance. Confirm and report the worktree, renderer URL/port, and active route before testing. Follow any task-provided CDP/auth guidance and verify the expected signed-in session. Another running desktop instance is not equivalent.
- Reproduce the exact user journey. Use real browser input and visible UI navigation for the steps the user performs. Assigning DOM properties, invoking internal app APIs, or running component-only scripts is diagnostic support, not proof of end-to-end behavior.
- Capture visual and numeric evidence. Take before/after screenshots paired with relevant CDP
measurements (
scrollTop, focused element, route, persisted state). Confirm the screenshot and the measured state agree. - Exercise the relevant lifecycle. Include the actual route change, workspace/pane/file switch, remount, or close/reopen from the report. A narrower synthetic flow cannot substitute for the reported interaction.
- Treat a mismatch as an incomplete reproduction. If the test passes but the user still observes the bug, re-check the target instance, exact steps, input method, persisted keys, and lifecycle timing. Reproduce the failure before changing code; a synthetic smoke test does not disprove the report.
- Use an evidence gate. For a reported bug or regression, do not claim verification until the original interaction demonstrably fails before the fix and passes after it under the same observations. For a new feature, record equivalent baseline evidence and demonstrate the expected behavior. State clearly which checks were end-to-end, which were synthetic, and whether screenshots were actually captured.
Test in the real layout, not a staged one. Do not rearrange the UI to make coordinates convenient (e.g. moving a target project next to the section under test) and then generalize from that pass. Layout-dependent failures live exactly in the configurations a staged setup removes: elements far apart, ambiguous zones between valid targets, scrolled containers, collapsed/empty states. Verify in the user's actual data shape; if a mutation was needed for setup, rerun the key journey in the unstaged arrangement too.
Case study: sidebar drag-and-drop passed every staged test, then crashed with "Maximum update depth exceeded" in the real layout because closest-target collision oscillated across the large gap between the Pinned section and a bottom-of-list project.
- Drive interactions adversarially, not just happy-path. A scripted A-to-B gesture proves the
feature works once, not that it is stable. For anything continuous (drag-and-drop, resize,
scroll-linked UI), also test: back-and-forth oscillation across boundaries, mid-gesture dwells
(hold still 0.5-1s where layout can shift under a stationary pointer), long sweeps that trigger
autoscroll, repeats of the same gesture, and runs with induced main-thread stalls
(
setIntervalbusy-loop, e.g. 120ms every 400ms) to force event batching. Watch for feedback loops where the interaction's own state change re-triggers its trigger (transfer → layout shift → re-measure → transfer). Captureconsole.error(hook it and assert empty afterward): "Maximum update depth exceeded" and "Cannot update a component while rendering" are regressions even when the screenshot looks fine.
Mechanics
These apply to the Electron desktop app in apps/desktop.
To check a change end-to-end against the real API/DB, drive the running dev app over CDP. Launch with an unused port, for example RENDERER_REMOTE_DEBUG_PORT=9222 bun dev (full stack; the app may restore a signed-in session), then attach via the page target's webSocketDebuggerUrl over a WebSocket (Bun built-in, no deps). Example: apps/desktop/scripts/cdp-smoke-integrations.ts.
Never assume port 9222 or attach to a renderer from another worktree. Multiple Paradev workspaces commonly run at once, each with different renderer, API, and CDP ports. Before testing:
- Read this workspace's final
DESKTOP_VITE_PORTandNEXT_PUBLIC_API_URLvalues from the root.env. - Find the Electron process whose executable/parent command path is inside this workspace. Its renderer command line contains
--remote-debugging-port=<port>;lsof -nP -iTCP -sTCP:LISTENcan confirm the owning PID. - Fetch
http://127.0.0.1:<port>/json/listand require apagetarget whose URL uses this workspace'sDESKTOP_VITE_PORT. A responding CDP endpoint alone is not sufficient proof that it belongs to this branch. - Pass the matched values explicitly when using a script, e.g.
RENDERER_REMOTE_DEBUG_PORT=<port> NEXT_PUBLIC_API_URL=<api-origin> bun run apps/desktop/scripts/cdp-smoke-integrations.ts.
Verify /api/auth/get-session from inside the matched renderer before testing.
Repairing CDP auth
Check which setup script provisioned the workspace before repairing auth:
.paradev/setup.local.shcreates a per-workspace local stack and runs the idempotentbun run db:seed-dev, but intentionally leaves sign-in as a separate step. If the account may be missing, rerunbun run db:seed-devwhile the local DB stack is running..paradev/setup.shseedsparadev-dev-data/auth-token.encfromauth-token.encin the installed app's home,~/.paradev(prod_app_homein.paradev/lib/common.sh), when available. Rerunning it without--forcecan fill a missing token. Do not use--forcemerely to repair auth: it resetsparadev-dev-data/before reseeding.
The desktop hydrates a persisted token into an in-memory bearer-token closure. A raw Runtime.evaluate fetch cannot read that closure, and the local-dev sign-in button persists a bearer token but uses credentials: "omit"; neither guarantees the cookie required by a raw CDP probe. For a workspace created by setup.local.sh, repair the CDP session as follows:
- Require a localhost API origin; never send dev credentials to a remote or shared API.
- From
apps/desktop(so workspace imports resolve), importDEV_EMAILandDEV_PASSWORDfrom@superset/shared/dev-credentials; do not copy their literal values into scripts or logs. - Through
Runtime.evaluatein the matched renderer, POST them to${NEXT_PUBLIC_API_URL}/api/auth/sign-in/emailwith JSON content type andcredentials: "include". Do not print the returned token or response body. - Re-fetch
/api/auth/get-sessionwithcredentials: "include"and require bothsessionandsession.activeOrganizationIdbefore running the test.
This credentialed local-dev sign-in creates the browser session cookie needed by subsequent in-renderer fetches. If it fails, report the sign-in/session status codes only. For a non-local setup, use the app's normal sign-in flow; never substitute local dev credentials.
For a non-local workspace, the normal desktop flow intentionally restores an encrypted bearer token into the renderer's in-memory auth client without creating a browser cookie. If the renderer is on an authenticated route but a raw cookie-only probe returns no session, use Runtime.evaluate to import /lib/auth-client.ts from the renderer dev server and call authClient.getSession({ fetchOptions: { throw: false } }). This still verifies /api/auth/get-session through the app's real authenticated request path. Return only the status and session.activeOrganizationId; never call or print getAuthToken().
Do not use setup --force to fix a stale connection string, a missing CDP cookie, or a corrupt generated Next.js cache. First rerun the applicable setup script without force. If every API route returns Next.js's HTML 404, stop the dev stack, move apps/api/.next aside, and restart. --force is normally only appropriate when the user explicitly intends to replace the copied local/host databases and encrypted auth token. The stale-state signature in the next paragraph is the one explicit exception.
To run the local API against another database (a fresh Neon branch of production, say), passing DATABASE_URL in the environment is not enough: in development apps/api/next.config.ts reloads the root .env with override: true and puts the workspace's database back. The signs are "column ... does not exist" from a branch that has the column, and a sign-in that returns a user your edits on the branch no longer match. Change that database only through the root .env, or with a local, unpushed change to that guard, and check a query that only the target branch can answer. The Local Admin button signs in whichever user holds DEV_EMAIL in that database.
One failure signature where ./.paradev/setup.sh --force IS the fix (verified 2026-07-28): session restore hangs at "Restoring your session", the Local Admin sign-in button returns a bodyless 500, get-session returns 200, and a raw select 1 against DATABASE_URL may still succeed; the worktree's seeded dev state (Neon branch credentials in .env, auth-token.enc, copied DBs) has gone stale as a set. Rerunning with --force recreates the Neon branch, rewrites .env, and reseeds paradev-dev-data/ together, which restores sign-in. Two side effects to expect: any manual .env edits (e.g. a port remap) are wiped and must be re-applied, and paradev-dev-data/ is reset.
Use Runtime.evaluate (awaitPromise, returnByValue), not Network.* interception; sniffing misses React-Query-cached responses, and refetchInterval is paused while the window is backgrounded. After verifying the session through the applicable cookie or bearer path above, run requests inside the renderer. API below is the dev backend origin (NEXT_PUBLIC_API_URL, e.g. http://localhost:5881):
- Active org: local cookie flow uses
fetch(API + "/api/auth/get-session", {credentials:"include"}); non-local bearer flow usesauthClient.getSession({ fetchOptions: { throw: false } }). Require.session.activeOrganizationId. - A tRPC query (bypasses the cache): GET
API + "/api/trpc/<proc>?batch=1&input=" + encodeURIComponent(JSON.stringify({"0":{json:<input>}})); response is[{result:{data:{json:...}}}]. window.location.hashnav may not remount the route; call the endpoint directly instead.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

