{"version":1,"pages":[{"id":"bgo6sY1fFzlezMibixAk","title":"Welcome","pathname":"/","siteSpaceId":"sitesp_KqOLx","icon":"house","description":"Learn how to set up TestVibe, create AI-generated Playwright tests, load-test the same journeys, watch live server telemetry, and review the evidence behind every result — all in isolated cloud sessio"},{"id":"82ZgGLTeMmGJcA2oFfc1","title":"What Is TestVibe?","pathname":"/readme/what-is-testvibe","siteSpaceId":"sitesp_KqOLx","icon":"book-open","description":"TestVibe is an AI-native testing platform: turn plain test intent into generated Playwright UI tests, replay those journeys as load tests, and watch live server telemetry — all run in isolated cloud s","breadcrumbs":[{"label":"Welcome","icon":"house"}]},{"id":"CBsTUnfUWMYV442nEv2V","title":"Who TestVibe Is For","pathname":"/readme/who-testvibe-is-for","siteSpaceId":"sitesp_KqOLx","icon":"users","description":"TestVibe is for teams that want UI tests, load tests, and server telemetry to be easier to describe, generate, run, and understand across QA, product, and engineering.","breadcrumbs":[{"label":"Welcome","icon":"house"}]},{"id":"0wx50YYwlfYEKP60cevN","title":"Key Concepts","pathname":"/readme/key-concepts","siteSpaceId":"sitesp_KqOLx","icon":"lightbulb","description":"Learn the core TestVibe terms for workspaces, projects, test suites, AI generation, cloud test sessions, results, and evidence.","breadcrumbs":[{"label":"Welcome","icon":"house"}]},{"id":"kKNseH0YsIIMPDSgvnNe","title":"Quickstart","pathname":"/quickstart","siteSpaceId":"sitesp_KqOLx","icon":"bolt","description":"Follow the fastest path from signing in to TestVibe to reviewing the result of your first generated Playwright test."},{"id":"Qj8uC4FMtg6Ddmqlc7k4","title":"Sign In","pathname":"/quickstart/sign-in-with-github","siteSpaceId":"sitesp_KqOLx","icon":"user-plus","description":"Sign in to TestVibe with email and password, GitHub, or Google to reach your workspaces and projects.","breadcrumbs":[{"label":"Quickstart","icon":"bolt"}]},{"id":"YDyXoHmaJyx0IzhVThDR","title":"Create a Project","pathname":"/quickstart/create-or-connect-project","siteSpaceId":"sitesp_KqOLx","icon":"square-dashed-circle-plus","description":"Create a TestVibe project with a name and the site URL(s) to test before adding your first test.","breadcrumbs":[{"label":"Quickstart","icon":"bolt"}]},{"id":"nRkMMo4g3K9NDlQ9RrsT","title":"Create Your First Test","pathname":"/quickstart/create-first-test","siteSpaceId":"sitesp_KqOLx","icon":"square-dashed-circle-plus","description":"Create your first TestVibe test by adding readable Gherkin-style intent in the Test Suite.","breadcrumbs":[{"label":"Quickstart","icon":"bolt"}]},{"id":"syTrwMhuGNSrbokqD1VH","title":"Generate Playwright Code","pathname":"/quickstart/generate-playwright-code","siteSpaceId":"sitesp_KqOLx","icon":"wand-magic-sparkles","description":"Generate Playwright code from your first TestVibe feature or test instructions.","breadcrumbs":[{"label":"Quickstart","icon":"bolt"}]},{"id":"7QdI4vUB8sdb0yMQU9UX","title":"Run Your First Test","pathname":"/quickstart/run-first-test","siteSpaceId":"sitesp_KqOLx","icon":"rocket","description":"Run your first generated Playwright test from TestVibe and watch the live run status.","breadcrumbs":[{"label":"Quickstart","icon":"bolt"}]},{"id":"iBcAwnolS3urYyy3SONT","title":"Review Your First Result","pathname":"/quickstart/review-first-result","siteSpaceId":"sitesp_KqOLx","icon":"chart-line","description":"Review the result of your first TestVibe run and decide whether to keep, edit, regenerate, or re-run the test.","breadcrumbs":[{"label":"Quickstart","icon":"bolt"}]},{"id":"iBzRAqE3eGw9ADLxKmoc","title":"Pricing","pathname":"/pricing","siteSpaceId":"sitesp_KqOLx","icon":"credit-card","description":"Compare TestVibe plans, included credits, billing periods, credit packs, and the usage signals shown in Settings."},{"id":"BBXUTB5MxPcPS7D0wWTh","title":"Plans","pathname":"/pricing/plans","siteSpaceId":"sitesp_KqOLx","description":"Compare the Free, Starter, Pro, and Enterprise TestVibe plans.","breadcrumbs":[{"label":"Pricing","icon":"credit-card"}]},{"id":"Pv45ZF3kFakLo4oPQeAK","title":"Credits and What They Cover","pathname":"/pricing/billable-minutes-and-credit","siteSpaceId":"sitesp_KqOLx","icon":"clock","description":"Learn what TestVibe credits cover and how included and purchased credits are consumed.","breadcrumbs":[{"label":"Pricing","icon":"credit-card"}]},{"id":"k4t3ZkTWOY4oFBHgoyOi","title":"Manage Billing","pathname":"/pricing/manage-billing","siteSpaceId":"sitesp_KqOLx","icon":"receipt","description":"Use Settings > Billing to review your plan, change plans, buy credit packs, and understand scheduled billing changes.","breadcrumbs":[{"label":"Pricing","icon":"credit-card"}]},{"id":"AMnU2pTMCri7pum7FEH4","title":"Set Up Your Workspace","pathname":"/workspace","siteSpaceId":"sitesp_KqOLx","icon":"folder-tree","description":"Create a project with a name and the site URLs to test, organize your workspace, and optionally connect GitHub."},{"id":"qXffKdzuA8cnIjJrCbPM","title":"Connect GitHub (Optional)","pathname":"/workspace/install-github-app","siteSpaceId":"sitesp_KqOLx","icon":"code-branch","description":"Connect GitHub to TestVibe when you want source-code context or test files sync. Sign-in is identity-only and never requests repository permissions.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"xDeOAE7wBtKVZCcc8IaE","title":"Choose a Source Repository (Optional)","pathname":"/workspace/choose-repository","siteSpaceId":"sitesp_KqOLx","icon":"code-branch","description":"Give a project an optional source repository so the assistant can read the application code when it explores your app or generates tests.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"Dmfrmb2QZrZR31qptfws","title":"Create a New Project","pathname":"/workspace/create-new-project","siteSpaceId":"sitesp_KqOLx","icon":"square-dashed-circle-plus","description":"Create a TestVibe project in the app with a name and the site URL to test — no repository required.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"nDFI6WKjm7iFSLvvPP0y","title":"Join an Existing Project","pathname":"/workspace/connect-existing-project","siteSpaceId":"sitesp_KqOLx","icon":"folder-tree","description":"Join a project that already exists in TestVibe — accept a workspace invite or request access from a project link.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"OmsBY1OXulgZoZnkBH4o","title":"Configure Environments and App Repository","pathname":"/workspace/configure-site-url-and-repository","siteSpaceId":"sitesp_KqOLx","icon":"gear","description":"Manage the site URLs a project tests against and the optional source code connection that gives generation extra context.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"MI4twczuWahrBFSko238","title":"Add API Keys and Secrets","pathname":"/workspace/add-api-keys-and-secrets","siteSpaceId":"sitesp_KqOLx","icon":"key","description":"Store the variables and secrets your tests need — and reference them from Gherkin with runtime tokens that never expose the value.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"lmHJPuuQS31QjFEevkuu","title":"Manage Members","pathname":"/workspace/manage-teams-and-members","siteSpaceId":"sitesp_KqOLx","icon":"users","description":"Work in personal and team workspaces, invite members from Settings → Members, and understand the Owner, Admin, Member, and Viewer roles.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"UcU5uBUvegDTXtZopaG5","title":"Dashboard","pathname":"/workspace/dashboard","siteSpaceId":"sitesp_KqOLx","icon":"chart-line","description":"Use the dashboard to decide what needs attention across tests, runs, and recent activity.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"16cXY7FiouMI6DIuHcm2","title":"Live Servers","pathname":"/workspace/live-servers","siteSpaceId":"sitesp_KqOLx","icon":"wave-pulse","description":"Watch real-time CPU, memory, sessions, threads, and GC heap from the servers running your application — on the Dashboard, any time you need it.","breadcrumbs":[{"label":"Set Up Your Workspace","icon":"folder-tree"}]},{"id":"UxI3D69jP7OLADRoqvSd","title":"Create Tests","pathname":"/create-tests","siteSpaceId":"sitesp_KqOLx","icon":"list-check","description":"Create and organize readable test intent before generating Playwright code or running browser automation."},{"id":"KFyP2bFH4rdoYqFMEwha","title":"Understand the Test Suite","pathname":"/create-tests/test-suite-overview","siteSpaceId":"sitesp_KqOLx","icon":"folder-tree","description":"Learn how the Test Suite organizes groups, feature files, generated code, and test status.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"m356yy1w2HcSXx1JbC5U","title":"Gherkin and Feature Files","pathname":"/create-tests/gherkin-and-feature-files","siteSpaceId":"sitesp_KqOLx","icon":"brackets-curly","description":"Learn how TestVibe uses Gherkin feature files to describe user behavior before generating Playwright tests.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"XexYlPIo3LDGvD8cW94P","title":"Create Groups and Tests","pathname":"/create-tests/create-groups-and-tests","siteSpaceId":"sitesp_KqOLx","icon":"sitemap","description":"Add groups and feature files to organize user journeys in the Test Suite.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"33UtbH87hxyFCMYvvFyo","title":"Write Good Test Instructions","pathname":"/create-tests/write-good-test-instructions","siteSpaceId":"sitesp_KqOLx","icon":"file-pen","description":"Write clear Gherkin and test instructions that help TestVibe generate reliable Playwright code.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"O7nP8rnkXwTBH4RbVnms","title":"Use Prerequisites and Dependencies","pathname":"/create-tests/use-prerequisites-and-dependencies","siteSpaceId":"sitesp_KqOLx","icon":"link-simple","description":"Use prerequisite and dependent tests to share setup without making every scenario long and repetitive.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"sB44uj7HzkXnmstUgpUf","title":"Import Existing Tests","pathname":"/create-tests/import-existing-tests","siteSpaceId":"sitesp_KqOLx","icon":"file-export","description":"Bring existing test material into a TestVibe group by importing a document or a GitHub issue, or by pasting Gherkin into a blank feature.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"Vb4PzzVD6sygUqOybfZz","title":"Edit Test Content","pathname":"/create-tests/edit-test-content","siteSpaceId":"sitesp_KqOLx","icon":"file-pen","description":"Edit Gherkin feature files and generated code from TestVibe, then save changes to your project.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"OxgJIOH3ZBUQvXu4Ab22","title":"Use the Recorder","pathname":"/create-tests/use-recorder","siteSpaceId":"sitesp_KqOLx","icon":"window-restore","description":"Record a browser journey and turn the captured steps into reviewable Gherkin in TestVibe.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"cd7Iv1o0IAuJCaEj44nb","title":"Manage Generated Test Files","pathname":"/create-tests/manage-generated-test-files","siteSpaceId":"sitesp_KqOLx","icon":"square-code","description":"Understand where generated feature and Playwright files live and when to regenerate or edit them.","breadcrumbs":[{"label":"Create Tests","icon":"list-check"}]},{"id":"W3i7XJVOFjRvYAOMTe50","title":"Generate Tests With AI","pathname":"/ai-generation","siteSpaceId":"sitesp_KqOLx","icon":"sparkles","description":"Use AI generation to turn TestVibe feature intent into generated Gherkin, Playwright code, and runnable browser tests."},{"id":"47B3BSZzWq3gBqYaIrG3","title":"How AI Generation Works","pathname":"/ai-generation/how-ai-generation-works","siteSpaceId":"sitesp_KqOLx","icon":"brain","description":"Understand the generation lifecycle from saved test intent to generated Playwright output.","breadcrumbs":[{"label":"Generate Tests With AI","icon":"sparkles"}]},{"id":"stxKNhL7uWZmaodVHNrR","title":"Generate a New Feature","pathname":"/ai-generation/generate-new-feature","siteSpaceId":"sitesp_KqOLx","icon":"wand-magic-sparkles","description":"Start from a feature idea or group and use TestVibe to draft new test intent.","breadcrumbs":[{"label":"Generate Tests With AI","icon":"sparkles"}]},{"id":"EIYfDcimXldXAsAbHFsJ","title":"Generate Playwright Code","pathname":"/ai-generation/generate-playwright-code","siteSpaceId":"sitesp_KqOLx","icon":"code","description":"Generate runnable Playwright automation from a saved TestVibe feature file.","breadcrumbs":[{"label":"Generate Tests With AI","icon":"sparkles"}]},{"id":"jAC643i1Q19rEzInJB2R","title":"Choose an Agent and Model","pathname":"/ai-generation/choose-agent-and-model","siteSpaceId":"sitesp_KqOLx","icon":"user-robot","description":"Configure the reasoning effort and generation timeout TestVibe's AI uses to generate tests for your project.","breadcrumbs":[{"label":"Generate Tests With AI","icon":"sparkles"}]},{"id":"QfMm7ZCR69jDndPsSvoE","title":"Review Generation Progress","pathname":"/ai-generation/review-generation-progress","siteSpaceId":"sitesp_KqOLx","icon":"arrows-spin","description":"Follow queued, running, finalizing, succeeded, failed, and cancelled generation states.","breadcrumbs":[{"label":"Generate Tests With AI","icon":"sparkles"}]},{"id":"Jh6z1m5ZcGgKSkTs5Q45","title":"Read Generated Output","pathname":"/ai-generation/read-generated-output","siteSpaceId":"sitesp_KqOLx","icon":"square-code","description":"Review generated feature files, Playwright code, screenshots, traces, and project output before running tests.","breadcrumbs":[{"label":"Generate Tests With AI","icon":"sparkles"}]},{"id":"WbcTvI2b0hgpBj8Y9in6","title":"Regenerate a Test","pathname":"/ai-generation/regenerate-test","siteSpaceId":"sitesp_KqOLx","icon":"rotate-right","description":"Regenerate a test after editing instructions, fixing setup, or reviewing weak generated output.","breadcrumbs":[{"label":"Generate Tests With AI","icon":"sparkles"}]},{"id":"oBXwqG3IkVdplkt0lUct","title":"Troubleshoot Failed Generation","pathname":"/ai-generation/troubleshoot-failed-generation","siteSpaceId":"sitesp_KqOLx","icon":"message-exclamation","description":"Recover from failed AI generation by checking keys, permissions, site access, session setup, and feature clarity.","breadcrumbs":[{"label":"Generate Tests With AI","icon":"sparkles"}]},{"id":"fMBO4rjYt2UbQOI04Ni1","title":"AI Assistant","pathname":"/assistant","siteSpaceId":"sitesp_KqOLx","icon":"wand-magic-sparkles","description":"Chat with the TestVibe Assistant about your features, runs, and results — have it explore your app for you, or let per-view Ask AI / Debug with AI buttons seed the conversation for you."},{"id":"jRDweXS74GF5RysL7hCO","title":"Run Tests","pathname":"/run-tests","siteSpaceId":"sitesp_KqOLx","icon":"rocket","description":"Start, monitor, cancel, and re-run TestVibe Playwright tests against your target site."},{"id":"bmM92gylZYZkQfqgSjZ4","title":"Run One Test","pathname":"/run-tests/run-one-test","siteSpaceId":"sitesp_KqOLx","icon":"rocket","description":"Run a single generated test when you want fast feedback before expanding to a larger group or full suite.","breadcrumbs":[{"label":"Run Tests","icon":"rocket"}]},{"id":"Vez001ipTEOEDpGSORKD","title":"Run a Group","pathname":"/run-tests/run-group","siteSpaceId":"sitesp_KqOLx","icon":"sitemap","description":"Run every generated test in a group to validate a feature area, workflow, or related set of scenarios.","breadcrumbs":[{"label":"Run Tests","icon":"rocket"}]},{"id":"ebtVfid5NIZyIuilJikD","title":"Run the Full Suite","pathname":"/run-tests/run-full-suite","siteSpaceId":"sitesp_KqOLx","icon":"list-check","description":"Run the full generated suite when you need broad regression coverage for a project or release candidate.","breadcrumbs":[{"label":"Run Tests","icon":"rocket"}]},{"id":"Hjg6wydLjRuu85yDwB1l","title":"Choose Browser, Viewport, and Configuration","pathname":"/run-tests/browser-viewport-configuration","siteSpaceId":"sitesp_KqOLx","icon":"window-maximize","description":"Choose the browser, viewport, and Playwright configuration TestVibe should use before starting a run.","breadcrumbs":[{"label":"Run Tests","icon":"rocket"}]},{"id":"QZ8c8yUOqBF5OwMDzEDI","title":"Schedule Runs","pathname":"/run-tests/schedule-runs","siteSpaceId":"sitesp_KqOLx","icon":"clock-rotate-left","description":"Create scheduled TestVibe runs for recurring smoke checks, regression passes, and environment monitoring.","breadcrumbs":[{"label":"Run Tests","icon":"rocket"}]},{"id":"bgOaMOpDBptQTG1f0PdB","title":"Automations","pathname":"/run-tests/automations","siteSpaceId":"sitesp_KqOLx","icon":"robot","description":"Trigger work automatically on a cron schedule, or when a run finishes — run a feature suite, a load test, or an AI assistant job.","breadcrumbs":[{"label":"Run Tests","icon":"rocket"}]},{"id":"Sq4MZED1jkQVcgwJEzCH","title":"Cancel or Re-run Tests","pathname":"/run-tests/cancel-or-rerun-tests","siteSpaceId":"sitesp_KqOLx","icon":"rotate","description":"Stop active runs, re-run previous selections, and understand what happens to the original result history.","breadcrumbs":[{"label":"Run Tests","icon":"rocket"}]},{"id":"TQG3WvAwg1TYlzxEpYom","title":"Understand Live Run Status","pathname":"/run-tests/understand-live-run-status","siteSpaceId":"sitesp_KqOLx","icon":"chart-line","description":"Learn what each live run state means and how to decide whether to wait, investigate, cancel, or re-run.","breadcrumbs":[{"label":"Run Tests","icon":"rocket"}]},{"id":"uBaJ99pd1DNU61PBtUWL","title":"Load Testing","pathname":"/load-testing","siteSpaceId":"sitesp_KqOLx","icon":"gauge-high","description":"Replay your UI journeys under load and watch latency, throughput, and error rates live — without writing k6 scripts by hand."},{"id":"IgJbB6kbqSzSAybGrnsn","title":"Create a Load Test","pathname":"/load-testing/create-a-load-test","siteSpaceId":"sitesp_KqOLx","icon":"sliders","description":"Pick Simple (browser users replay your feature tests) or Advanced (protocol-level k6) and configure users, duration, and gates.","breadcrumbs":[{"label":"Load Testing","icon":"gauge-high"}]},{"id":"B7XEk0Jh5of5ZJiWqXgP","title":"Run a Load Test and Read Results","pathname":"/load-testing/run-a-load-test-and-read-results","siteSpaceId":"sitesp_KqOLx","icon":"chart-line-up","description":"Dispatch a load test to the cloud fleet, watch live charts, and read latency percentiles, throughput, error rate, and per-step breakdowns.","breadcrumbs":[{"label":"Load Testing","icon":"gauge-high"}]},{"id":"TUgY1SvkJhGzLrzd2TQ2","title":"Automate Load Tests","pathname":"/load-testing/automate-load-tests","siteSpaceId":"sitesp_KqOLx","icon":"robot","description":"Kick off load tests from CI, the testvibe CLI, or an AI tool — the same load runs you dispatch from the app, driven over the API.","breadcrumbs":[{"label":"Load Testing","icon":"gauge-high"}]},{"id":"iuokrOoXjDqouLfBml9Q","title":"Server Telemetry","pathname":"/load-testing/server-telemetry","siteSpaceId":"sitesp_KqOLx","icon":"server","description":"Install the TestVibe telemetry agent in any .NET (or Node.js) app to see server-side CPU, memory, sessions, and custom metrics next to your results.","breadcrumbs":[{"label":"Load Testing","icon":"gauge-high"}]},{"id":"N0ItykoTf2IYKz9TZQSp","title":"Where Runs Execute","pathname":"/runners","siteSpaceId":"sitesp_KqOLx","icon":"rocket","description":"Learn where TestVibe runs execute: isolated cloud sandboxes by default, a private self-hosted runner, or a tunnel to a private app."},{"id":"MFN5uxc0naidpR0m7lOv","title":"What Are Cloud Sandboxes?","pathname":"/runners/what-are-runners","siteSpaceId":"sitesp_KqOLx","icon":"rocket","description":"Understand the isolated cloud sandboxes that execute TestVibe runs — an isolated sandbox per run, prepared automatically.","breadcrumbs":[{"label":"Where Runs Execute","icon":"rocket"}]},{"id":"nsuldvgQk3I0DUNc9MNw","title":"Choose an Execution Target","pathname":"/runners/choose-a-runner","siteSpaceId":"sitesp_KqOLx","icon":"sliders","description":"Decide which execution target a TestVibe project uses — cloud sandboxes, a private self-hosted runner, or a tunnel to a private app.","breadcrumbs":[{"label":"Where Runs Execute","icon":"rocket"}]},{"id":"JxKncfaujecnXzXqAyxN","title":"Private Runners","pathname":"/runners/self-hosted-runners","siteSpaceId":"sitesp_KqOLx","icon":"building","description":"Host the TestVibe runner inside your firewall so tests run on your own infrastructure against fully private applications.","breadcrumbs":[{"label":"Where Runs Execute","icon":"rocket"}]},{"id":"njhHuzrg7J1AK5HMXUOY","title":"Set a Project's Execution Target","pathname":"/runners/set-default-runner","siteSpaceId":"sitesp_KqOLx","icon":"thumbs-up","description":"Set a project's execution target — cloud, private runner, or tunneled — and pin a tunnel device per project.","breadcrumbs":[{"label":"Where Runs Execute","icon":"rocket"}]},{"id":"U3R2iXfZUFCAHpMySmxw","title":"Troubleshoot Execution","pathname":"/runners/troubleshooting-runners","siteSpaceId":"sitesp_KqOLx","icon":"life-ring","description":"Fix runs that cannot reach the target site, offline private runners and tunnel devices, credit gates, and runs stuck in preparing.","breadcrumbs":[{"label":"Where Runs Execute","icon":"rocket"}]},{"id":"8ZXQNue5oXlx0RsH5wHp","title":"Review Results","pathname":"/results","siteSpaceId":"sitesp_KqOLx","icon":"chart-line","description":"Read TestVibe run outcomes, inspect failed tests, and use screenshots, videos, and Playwright traces to understand what happened."},{"id":"V2aqM0r3jCbp5jCjqhg0","title":"Read Pass/Fail Status","pathname":"/results/read-pass-fail-status","siteSpaceId":"sitesp_KqOLx","icon":"thumbs-up","description":"Understand run-level and test-level result states, summary counts, and mixed outcomes in TestVibe.","breadcrumbs":[{"label":"Review Results","icon":"chart-line"}]},{"id":"XXC6Gb4aKVlwEOVrMnLK","title":"Inspect Failed Steps","pathname":"/results/inspect-failed-steps","siteSpaceId":"sitesp_KqOLx","icon":"message-exclamation","description":"Open a failed test row and use the failure reason, screenshot, error details, and related evidence to decide what to fix.","breadcrumbs":[{"label":"Review Results","icon":"chart-line"}]},{"id":"YJIWDkFoxfPVhDCyu0SD","title":"View Screenshots","pathname":"/results/view-screenshots","siteSpaceId":"sitesp_KqOLx","icon":"picture-in-picture","description":"Use run screenshots and failure screenshots to understand visible browser state at the time a test passed, failed, or captured evidence.","breadcrumbs":[{"label":"Review Results","icon":"chart-line"}]},{"id":"4PVc2JQeSmZPlEnwaGJI","title":"Watch Videos","pathname":"/results/watch-videos","siteSpaceId":"sitesp_KqOLx","icon":"window-restore","description":"Replay run video artifacts to see the browser behavior that led to a test result or failure.","breadcrumbs":[{"label":"Review Results","icon":"chart-line"}]},{"id":"y4JFvPXNCw5WGEFAaoEC","title":"Open Traces","pathname":"/results/open-traces","siteSpaceId":"sitesp_KqOLx","icon":"route","description":"Open Playwright trace evidence from TestVibe to inspect actions, snapshots, timing, console, and network activity around a failure.","breadcrumbs":[{"label":"Review Results","icon":"chart-line"}]},{"id":"LHdDiOKq1JrIS4y5zgFQ","title":"Share or Export Results","pathname":"/results/share-or-export-results","siteSpaceId":"sitesp_KqOLx","icon":"share-nodes","description":"Share run outcomes with teammates and download the reports or evidence needed to explain a failure.","breadcrumbs":[{"label":"Review Results","icon":"chart-line"}]},{"id":"qxOF54rCXe5ku625WBIV","title":"App Code","pathname":"/codebase","siteSpaceId":"sitesp_KqOLx","icon":"code","description":"See which parts of your app your tests cover — files, areas, and gaps."},{"id":"HT6GZvzN6RwrCEpjUX2z","title":"Plugins","pathname":"/skills","siteSpaceId":"sitesp_KqOLx","icon":"plug","description":"Extend TestVibe with plugins — packaged steps you can call straight from Gherkin, from LLM checks to Jira, Slack, and database helpers."},{"id":"DRZ0I0DFLBXB5MHI45AW","title":"Manage Plugins","pathname":"/skills/manage-skills","siteSpaceId":"sitesp_KqOLx","icon":"screwdriver-wrench","description":"Install, update, remove, and configure plugins in the TestVibe Plugins marketplace.","breadcrumbs":[{"label":"Plugins","icon":"plug"}]},{"id":"qa0OjEFSB3G4FB6yXr7N","title":"Account & Settings","pathname":"/account-settings","siteSpaceId":"sitesp_KqOLx","icon":"gear","description":"Manage your profile, workspace, tunnels, billing, project configuration, and the values available to runs."},{"id":"nk3IVvdOtGBzCcqnGkHP","title":"Profile","pathname":"/account-settings/account-settings","siteSpaceId":"sitesp_KqOLx","icon":"user","description":"Review your profile, the active workspace, plan, and test-generation defaults.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"Iqf5ztJtbtrhi3tsZZTe","title":"CLI & API Keys","pathname":"/account-settings/api-keys","siteSpaceId":"sitesp_KqOLx","icon":"key","description":"Create and manage the tvb_… API keys used by the testvibe CLI, MCP and AI tools, the tunnel agent, and the load telemetry agent.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"gFcysfNNDXuWL6N7N4Ue","title":"Tunnels","pathname":"/account-settings/tunnel-devices","siteSpaceId":"sitesp_KqOLx","icon":"shield-keyhole","description":"Run the tvtunnel agent inside your network so TestVibe's cloud runs can reach private apps — no inbound firewall changes, end-to-end encrypted.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"4i0upFvydtRUoGWhPnXl","title":"Notes","pathname":"/account-settings/notes","siteSpaceId":"sitesp_KqOLx","icon":"note-sticky","description":"Write durable instructions the AI reuses on every generation, and review the app knowledge it discovers on its own.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"DYgXknQphCIuq4y91CRu","title":"Notifications","pathname":"/account-settings/notifications","siteSpaceId":"sitesp_KqOLx","icon":"bell","description":"Use TestVibe activity notifications to follow active generation and runs, failures that need attention, and recent history.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"KcAnZsFmvWRIYw2QXTal","title":"App Repository & Test Files Sync","pathname":"/account-settings/repository-settings","siteSpaceId":"sitesp_KqOLx","icon":"code-branch","description":"Connect the optional Git panels: a read-only App Repository that grounds the AI and maps coverage, and two-way Test Files Sync for the project's tests.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"XuPEvDMQJNwbljKG0B0h","title":"Assets","pathname":"/account-settings/project-settings","siteSpaceId":"sitesp_KqOLx","icon":"images","description":"Store and organize project files (images, PDFs) that your tests reference by handle.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"E2bq5TbjIndOiQFHWrlE","title":"Billing","pathname":"/account-settings/usage","siteSpaceId":"sitesp_KqOLx","icon":"credit-card","description":"Manage this workspace's plan and TestVibe credits — balance, top-ups, plan changes, and purchase history — in Settings → Billing.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"Leu9TQIZuVePypuJk0yX","title":"Credit Usage","pathname":"/account-settings/credit-usage","siteSpaceId":"sitesp_KqOLx","icon":"chart-column","description":"See where this cycle's TestVibe credits went — by area and over time — in Settings → Credit Usage.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"bD2R40t8A7vf4CuXv80R","title":"Storage","pathname":"/account-settings/storage","siteSpaceId":"sitesp_KqOLx","icon":"chart-pie","description":"Track the workspace's shared storage quota, see where it goes by data type and project, and set per-type retention in Settings → Storage.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"3osi0UGyCHvNoAkCrsD6","title":"Members","pathname":"/account-settings/team-settings","siteSpaceId":"sitesp_KqOLx","icon":"people-roof","description":"Understand how workspace membership and roles decide what each user can see and change in TestVibe.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"7eJ03x9MlyFgL6HR1sSF","title":"Workflow Settings (Retired)","pathname":"/account-settings/workflow-settings","siteSpaceId":"sitesp_KqOLx","icon":"arrows-rotate","description":"The Workflows panel was retired — generation, run, and scheduling defaults now live in dedicated settings panels.","breadcrumbs":[{"label":"Account & Settings","icon":"gear"}]},{"id":"jJkchQ3tJBKJUc92aASP","title":"Self-Hosting","pathname":"/self-hosting","siteSpaceId":"sitesp_KqOLx","icon":"server","description":"Run the entire TestVibe product on your own infrastructure — inside your firewall, off the public cloud — with Docker."},{"id":"PZKaHEzX9W4eFhp7we5f","title":"How It Works","pathname":"/self-hosting/how-it-works","siteSpaceId":"sitesp_KqOLx","icon":"diagram-project","description":"The containers that make up a self-hosted TestVibe, how they connect, and the order they start in.","breadcrumbs":[{"label":"Self-Hosting","icon":"server"}]},{"id":"NisH8iE6FMxHXZBkRsYg","title":"Install","pathname":"/self-hosting/install","siteSpaceId":"sitesp_KqOLx","icon":"download","description":"Prerequisites, the quick-start flow, and how upgrades and data persistence work for a self-hosted TestVibe.","breadcrumbs":[{"label":"Self-Hosting","icon":"server"}]},{"id":"p3xbi8bX9MqHcBJC0SNa","title":"Configuration","pathname":"/self-hosting/configuration","siteSpaceId":"sitesp_KqOLx","icon":"sliders","description":"How a self-hosted TestVibe is configured: environment variables only, with secret-file support. The required values and the optional integrations.","breadcrumbs":[{"label":"Self-Hosting","icon":"server"}]},{"id":"Wc2yLkFHN91wnPApAXsV","title":"AI Models","pathname":"/self-hosting/ai-models","siteSpaceId":"sitesp_KqOLx","icon":"robot","description":"Powering AI test generation on-prem — use hosted Claude/OpenAI keys, or bring your own local OpenAI-compatible model.","breadcrumbs":[{"label":"Self-Hosting","icon":"server"}]},{"id":"v4NMcrGG8ibLwlo00gBa","title":"Licensing","pathname":"/self-hosting/licensing","siteSpaceId":"sitesp_KqOLx","icon":"certificate","description":"How a self-hosted instance is licensed — an offline signed license, a grace window, and the activation flow.","breadcrumbs":[{"label":"Self-Hosting","icon":"server"}]},{"id":"ekH97EzBjd246psLQdrM","title":"REST API","pathname":"/rest-api","siteSpaceId":"sitesp_KqOLx","icon":"brackets-curly","description":"Automate TestVibe from your own tools — projects, features, runs, and load tests over a key-authenticated REST API."},{"id":"KFjWDXwmGpM8p7PtNYkl","title":"Troubleshooting","pathname":"/troubleshooting","siteSpaceId":"sitesp_KqOLx","icon":"life-ring","description":"Recover from common sign-in, project access, generation, run, and result issues in TestVibe."},{"id":"o4spiz6apXgIZgmYTh2A","title":"Sign-in Problems","pathname":"/troubleshooting/sign-in-problems","siteSpaceId":"sitesp_KqOLx","icon":"user-plus","description":"Fix email verification, password reset, and GitHub or Google sign-in problems.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"FAsrRSBs3r7qY9lUVvR9","title":"Can't See a Project","pathname":"/troubleshooting/missing-repositories","siteSpaceId":"sitesp_KqOLx","icon":"folder-tree","description":"Find a project that does not appear in TestVibe by checking the active workspace and your membership.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"ajk70MTfth6OD8XwoU8L","title":"GitHub Connection Issues","pathname":"/troubleshooting/github-app-permissions","siteSpaceId":"sitesp_KqOLx","icon":"shield-halved","description":"Fix issues with the optional GitHub integration: sign-in identity, App Repository reading, and Test Files Sync.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"dKqKlqKjBn3jRDPit9sQ","title":"Missing Secrets","pathname":"/troubleshooting/missing-secrets","siteSpaceId":"sitesp_KqOLx","icon":"key","description":"Add missing variables and secrets so generation and test runs can resolve the tokens referenced in your Gherkin.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"Vfmalxj2NJhgjqGu9MCN","title":"Generation Failed","pathname":"/troubleshooting/generation-failed","siteSpaceId":"sitesp_KqOLx","icon":"message-exclamation","description":"Recover from failed AI generation by checking credits, site access, secrets, and test instructions.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"2QgfJOf3NN6WVR2bzT9g","title":"Run Failed","pathname":"/troubleshooting/run-failed","siteSpaceId":"sitesp_KqOLx","icon":"message-exclamation","description":"Understand a failed run by reviewing result evidence, setup, test data, and environment health before retrying.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"IRlDtuGCpFzNpm96Hyl7","title":"No Screenshots or Videos","pathname":"/troubleshooting/no-screenshots-or-videos","siteSpaceId":"sitesp_KqOLx","icon":"picture-in-picture","description":"Understand why screenshots, videos, traces, or other visual evidence may be missing from a run.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"3gs6UgqcBcbXFexQsKTo","title":"Run Still Running or Stuck","pathname":"/troubleshooting/workflow-running-or-stuck","siteSpaceId":"sitesp_KqOLx","icon":"arrows-spin","description":"Understand queued, preparing, running, and stuck run states in TestVibe and when to cancel.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"0UAVv8t0Or3159gwrE6I","title":"Common Error Messages","pathname":"/troubleshooting/common-error-messages","siteSpaceId":"sitesp_KqOLx","icon":"message-exclamation","description":"Map common TestVibe error messages to practical next steps.","breadcrumbs":[{"label":"Troubleshooting","icon":"life-ring"}]},{"id":"fVq3kUacEA1m6VwLIUNh","title":"Reference","pathname":"/reference","siteSpaceId":"sitesp_KqOLx","icon":"book-open","description":"Lookup pages for TestVibe terms, browser presets, optional GitHub integration, and contextual help URLs."},{"id":"gRvrGtAGsHXKGyWFpu5v","title":"Glossary","pathname":"/reference/glossary","siteSpaceId":"sitesp_KqOLx","icon":"book-open","description":"Definitions for common TestVibe, execution, generation, and result terms.","breadcrumbs":[{"label":"Reference","icon":"book-open"}]},{"id":"SZz2CDDpOGQFisZPin6i","title":"Form/Page Reference","pathname":"/reference/form-page-reference","siteSpaceId":"sitesp_KqOLx","icon":"sidebar","description":"Find contextual help pages for TestVibe forms, dialogs, and workspace screens.","breadcrumbs":[{"label":"Reference","icon":"book-open"}]},{"id":"kdKzWcwra9r4yEWC0Khi","title":"Supported Browsers and Viewport Presets","pathname":"/reference/supported-browsers-and-viewports","siteSpaceId":"sitesp_KqOLx","icon":"window-maximize","description":"Review the browser choices and viewport presets commonly used by TestVibe Playwright runs.","breadcrumbs":[{"label":"Reference","icon":"book-open"}]},{"id":"bSu6fEj7sECx3hI69XcZ","title":"GitHub Permissions Overview","pathname":"/reference/github-permissions-overview","siteSpaceId":"sitesp_KqOLx","icon":"shield-check","description":"GitHub is optional in TestVibe. See the three places it can appear and what access is requested for each.","breadcrumbs":[{"label":"Reference","icon":"book-open"}]},{"id":"OroPOIEGxbtOLMd6MDIh","title":"Help URL Index","pathname":"/reference/help-urls","siteSpaceId":"sitesp_KqOLx","icon":"link-simple","description":"Stable URL conventions for TestVibe contextual help pages.","breadcrumbs":[{"label":"Reference","icon":"book-open"}]},{"id":"r9AVZUHnEggDeJU4Lvg2","title":"Authoring","pathname":"/reference/authoring","siteSpaceId":"sitesp_KqOLx","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"}]},{"id":"v2lzdjnwFX9BKn8dJOxi","title":"Form Help Pages","pathname":"/reference/forms","siteSpaceId":"sitesp_KqOLx","icon":"list","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"}]},{"id":"azqsfTOTYk1XWkZ37H0X","title":"Account","pathname":"/reference/forms/account","siteSpaceId":"sitesp_KqOLx","icon":"user","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"EgRsHlQOQ1dl80HlBd9M","title":"Assistant","pathname":"/reference/forms/assistant","siteSpaceId":"sitesp_KqOLx","icon":"user-robot","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"Wtzrjexqy0ofw6buVPC4","title":"Editor","pathname":"/reference/forms/editor","siteSpaceId":"sitesp_KqOLx","icon":"file-pen","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"nHeGzLSMnQwlV9gBB31i","title":"ExceptionViewer","pathname":"/reference/forms/exception-viewer","siteSpaceId":"sitesp_KqOLx","icon":"message-exclamation","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"DqXBzi4ED2SnL4cmb84H","title":"HelpDialog","pathname":"/reference/forms/help-dialog","siteSpaceId":"sitesp_KqOLx","icon":"life-ring","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"STZdDL11okrMGmwEr1n6","title":"Import","pathname":"/reference/forms/import","siteSpaceId":"sitesp_KqOLx","icon":"file-export","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"A2HZ4KgyC1z6XKrPeRG8","title":"Login","pathname":"/reference/forms/login","siteSpaceId":"sitesp_KqOLx","icon":"user-plus","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"Afh8V3ZZYUZUfnlK29Eg","title":"NotificationCenter","pathname":"/reference/forms/notification-center","siteSpaceId":"sitesp_KqOLx","icon":"bell","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"LSabhsOwGnHveLWmYBKE","title":"Picture","pathname":"/reference/forms/picture","siteSpaceId":"sitesp_KqOLx","icon":"picture-in-picture","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"R8JdRV0BJrUwsy5lvnZv","title":"PlaywrightAdvancedOptions","pathname":"/reference/forms/playwright-advanced-options","siteSpaceId":"sitesp_KqOLx","icon":"sliders","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"4KnQL4yZYYJZFHkWFKcH","title":"PlaywrightTestConfiguration","pathname":"/reference/forms/playwright-test-configuration","siteSpaceId":"sitesp_KqOLx","icon":"window-maximize","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"44xvOn1JAXkDXQQ6Wq59","title":"Project","pathname":"/reference/forms/project","siteSpaceId":"sitesp_KqOLx","icon":"folder-tree","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"t2ksfeuyXzphLv3eVrfb","title":"ProjectSetup","pathname":"/reference/forms/project-setup","siteSpaceId":"sitesp_KqOLx","icon":"wrench","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"X0oDMVvv9mDWQGy34AMZ","title":"Prompt","pathname":"/reference/forms/prompt","siteSpaceId":"sitesp_KqOLx","icon":"message","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"UHBvtYn4225Qy6MF5mIa","title":"RecorderHelp","pathname":"/reference/forms/recorder-help","siteSpaceId":"sitesp_KqOLx","icon":"window-restore","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"flzOk5lRbQ8k9IB2yYUy","title":"Run","pathname":"/reference/forms/run","siteSpaceId":"sitesp_KqOLx","icon":"rocket","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"goKe9QNPrxnhW9wkzuPf","title":"SelectProject","pathname":"/reference/forms/select-project","siteSpaceId":"sitesp_KqOLx","icon":"folder-tree","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"WrVeTIcYYW8WXP5WZ6ng","title":"TeamMembers","pathname":"/reference/forms/team-members","siteSpaceId":"sitesp_KqOLx","icon":"users","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"UX67z1Imawafc9UFwYx2","title":"Test","pathname":"/reference/forms/test","siteSpaceId":"sitesp_KqOLx","icon":"list-check","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"gyO4mt9ASaAS4p5eLj7V","title":"TestFailureDetails","pathname":"/reference/forms/test-failure-details","siteSpaceId":"sitesp_KqOLx","icon":"message-exclamation","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"mGPZurwaDGWUVC9lCA1d","title":"TestGenerationGroupsInfo","pathname":"/reference/forms/test-generation-groups-info","siteSpaceId":"sitesp_KqOLx","icon":"sitemap","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"uQ1VVPGqFuaBtYYZGnWT","title":"Usage","pathname":"/reference/forms/usage","siteSpaceId":"sitesp_KqOLx","icon":"chart-bar","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"mjZujxvlwBPOkEmthKKF","title":"Video","pathname":"/reference/forms/video","siteSpaceId":"sitesp_KqOLx","icon":"window-restore","description":"","breadcrumbs":[{"label":"Reference","icon":"book-open"},{"label":"Form Help Pages","icon":"list"}]},{"id":"DWSBGrkM6VyOxSOoSvx7","title":"Welcome","pathname":"/testvibe-api","siteSpaceId":"sitesp_xHTkt","icon":"hand-wave","description":"Everything a TestVibe project offers — features, AI test generation, cloud test runs — from your terminal, your CI, and your AI tools.","breadcrumbs":[{"label":"Welcome"}]},{"id":"FHaRZML7KtPqizvk2EJr","title":"Quickstart","pathname":"/testvibe-api/getting-started/quickstart","siteSpaceId":"sitesp_xHTkt","icon":"rocket","description":"Create a feature, generate its Playwright tests with AI, and run them in a cloud sandbox — in about five minutes.","breadcrumbs":[{"label":"Getting started"}]},{"id":"wQj4nhpcYrFRAfKDLNli","title":"Authentication & API keys","pathname":"/testvibe-api/getting-started/authentication","siteSpaceId":"sitesp_xHTkt","icon":"key","description":"API keys, the Authorization header, and how access is scoped.","breadcrumbs":[{"label":"Getting started"}]},{"id":"matR4rM5J34VuGJSHVeO","title":"Connect your AI tools","pathname":"/testvibe-api/getting-started/connect-ai-tools","siteSpaceId":"sitesp_xHTkt","icon":"plug","description":"Plug TestVibe into Claude Code, Claude Desktop, Codex, or any MCP client — every API operation becomes a tool.","breadcrumbs":[{"label":"Getting started"}]},{"id":"fSEUQaIvxofjgIv4sFUf","title":"Projects","pathname":"/testvibe-api/core-concepts/projects","siteSpaceId":"sitesp_xHTkt","icon":"diagram-project","description":"A project is a web app under test, identified by a URL.","breadcrumbs":[{"label":"Core concepts"}]},{"id":"VI2MqO2ILDLwdq0kLyle","title":"Features & the lifecycle","pathname":"/testvibe-api/core-concepts/features","siteSpaceId":"sitesp_xHTkt","icon":"list-check","description":"A feature is desired behavior in Gherkin, with a lifecycle from draft to generated, runnable tests.","breadcrumbs":[{"label":"Core concepts"}]},{"id":"YyUESytMFD5H0czSPOgo","title":"Runs & artifacts","pathname":"/testvibe-api/core-concepts/runs-and-artifacts","siteSpaceId":"sitesp_xHTkt","icon":"play","description":"A run executes a feature's generated tests in an isolated cloud sandbox and leaves behind a results digest and downloadable artifacts.","breadcrumbs":[{"label":"Core concepts"}]},{"id":"y7OSvEm2aGH9CA32yLTd","title":"Files & configurations","pathname":"/testvibe-api/core-concepts/files-and-configurations","siteSpaceId":"sitesp_xHTkt","icon":"file-code","description":"Every project is also a file tree — stored content layered over the Playwright template — and you can edit the safe parts of it.","breadcrumbs":[{"label":"Core concepts"}]},{"id":"q7ELIyJJ54wLdfEnTVLL","title":"Overview","pathname":"/testvibe-api/api-reference/reference","siteSpaceId":"sitesp_xHTkt","icon":"book-open","description":"Every operation, across all three surfaces. One ops core means the REST API, the CLI, and the MCP tools can never disagree.","breadcrumbs":[{"label":"API reference"}]},{"id":"vXgiScVN9BHhYjCMSlKG","title":"Conventions & errors","pathname":"/testvibe-api/api-reference/conventions","siteSpaceId":"sitesp_xHTkt","icon":"scale-balanced","description":"Request/response basics shared by every operation.","breadcrumbs":[{"label":"API reference"}]},{"id":"eXw4XuqPxeoninzdfeKg","title":"Long-running operations","pathname":"/testvibe-api/api-reference/async-operations","siteSpaceId":"sitesp_xHTkt","icon":"hourglass-half","description":"Generation and runs are dispatched, not awaited — here's the polling pattern every surface uses.","breadcrumbs":[{"label":"API reference"}]},{"id":"aOseFoj75uXlkLuhAJYC","title":"Projects","pathname":"/testvibe-api/api-reference/projects","siteSpaceId":"sitesp_xHTkt","description":"The workspace's projects — the entry point for everything else.","breadcrumbs":[{"label":"API reference"}]},{"id":"UEAp7NMxT0XmpIUTpV9p","title":"list_projects","pathname":"/testvibe-api/api-reference/projects/list_projects","siteSpaceId":"sitesp_xHTkt","description":"List the projects in the workspace (id, name, base URL).","breadcrumbs":[{"label":"API reference"},{"label":"Projects"}]},{"id":"paNFTgZ9u2y6y8htnqmC","title":"get_project","pathname":"/testvibe-api/api-reference/projects/get_project","siteSpaceId":"sitesp_xHTkt","description":"One project's details — base URL, execution target, and test site URLs.","breadcrumbs":[{"label":"API reference"},{"label":"Projects"}]},{"id":"DmLzwZYMOKCDfYkMqcKr","title":"Billing","pathname":"/testvibe-api/api-reference/billing","siteSpaceId":"sitesp_xHTkt","description":"The workspace's prepaid credits — balance and ledger.","breadcrumbs":[{"label":"API reference"}]},{"id":"VMhMC74gaLQeBJeezxCg","title":"get_credits","pathname":"/testvibe-api/api-reference/billing/get_credits","siteSpaceId":"sitesp_xHTkt","description":"The workspace's current credit balance and plan.","breadcrumbs":[{"label":"API reference"},{"label":"Billing"}]},{"id":"Rdmr2jZbZ6IJbaQbpxFg","title":"list_billing_history","pathname":"/testvibe-api/api-reference/billing/list_billing_history","siteSpaceId":"sitesp_xHTkt","description":"The workspace's credit additions (purchases + grants), newest first.","breadcrumbs":[{"label":"API reference"},{"label":"Billing"}]},{"id":"jE8Jf5ue3Mg56rSX1mOh","title":"list_credit_usage","pathname":"/testvibe-api/api-reference/billing/list_credit_usage","siteSpaceId":"sitesp_xHTkt","description":"The workspace's credit consumption — per-area rollup + recent usage.","breadcrumbs":[{"label":"API reference"},{"label":"Billing"}]},{"id":"3HYGiWUXJpWAnwSuXEyK","title":"Features","pathname":"/testvibe-api/api-reference/features","siteSpaceId":"sitesp_xHTkt","description":"Create, read, update, and delete the Gherkin features of a project.","breadcrumbs":[{"label":"API reference"}]},{"id":"WGeNiVAXW7C6QEeTHKJZ","title":"list_features","pathname":"/testvibe-api/api-reference/features/list_features","siteSpaceId":"sitesp_xHTkt","description":"List the project's features with their lifecycle status.","breadcrumbs":[{"label":"API reference"},{"label":"Features"}]},{"id":"DvgKbEeIvTfTMz1gTr6o","title":"get_feature","pathname":"/testvibe-api/api-reference/features/get_feature","siteSpaceId":"sitesp_xHTkt","description":"Read one feature in full — Gherkin source, status, and rationale.","breadcrumbs":[{"label":"API reference"},{"label":"Features"}]},{"id":"2bRusvZEMz7E93KzPIhF","title":"create_feature","pathname":"/testvibe-api/api-reference/features/create_feature","siteSpaceId":"sitesp_xHTkt","description":"Create a new feature from a name and Gherkin source.","breadcrumbs":[{"label":"API reference"},{"label":"Features"}]},{"id":"HDEjTYTyNOw9YeFFYwNG","title":"update_feature","pathname":"/testvibe-api/api-reference/features/update_feature","siteSpaceId":"sitesp_xHTkt","description":"Update a feature's Gherkin source and/or rename it.","breadcrumbs":[{"label":"API reference"},{"label":"Features"}]},{"id":"bBOYainMUPGbxP9Z32P4","title":"delete_feature","pathname":"/testvibe-api/api-reference/features/delete_feature","siteSpaceId":"sitesp_xHTkt","description":"Delete a feature and its generated test files. Irreversible.","breadcrumbs":[{"label":"API reference"},{"label":"Features"}]},{"id":"S30ofedL3wHCWC5Vjkuf","title":"Generation","pathname":"/testvibe-api/api-reference/generation","siteSpaceId":"sitesp_xHTkt","description":"Turn a feature's Gherkin into runnable Playwright tests with AI.","breadcrumbs":[{"label":"API reference"}]},{"id":"zvdF98DJChXEr97B4HHw","title":"generate_feature","pathname":"/testvibe-api/api-reference/generation/generate_feature","siteSpaceId":"sitesp_xHTkt","description":"Generate Playwright tests for a feature from its Gherkin.","breadcrumbs":[{"label":"API reference"},{"label":"Generation"}]},{"id":"I0lUk3R3kyOGL0g2JOlQ","title":"get_generation_status","pathname":"/testvibe-api/api-reference/generation/get_generation_status","siteSpaceId":"sitesp_xHTkt","description":"The feature's generation state — lifecycle status plus live per-section progress.","breadcrumbs":[{"label":"API reference"},{"label":"Generation"}]},{"id":"WM6D0B9CAdQiN02vGYQc","title":"wait_for_generation","pathname":"/testvibe-api/api-reference/generation/wait_for_generation","siteSpaceId":"sitesp_xHTkt","description":"Poll a feature's generation until it finishes (or the timeout).","breadcrumbs":[{"label":"API reference"},{"label":"Generation"}]},{"id":"m4c4k8Du3YLqYsz6rOF8","title":"get_generation_log","pathname":"/testvibe-api/api-reference/generation/get_generation_log","siteSpaceId":"sitesp_xHTkt","description":"The latest generation's per-section transcript — diagnose a failed generation.","breadcrumbs":[{"label":"API reference"},{"label":"Generation"}]},{"id":"dmZCZv5P53UOJbw1D1fl","title":"cancel_generation","pathname":"/testvibe-api/api-reference/generation/cancel_generation","siteSpaceId":"sitesp_xHTkt","description":"Cancel a feature's in-flight generation.","breadcrumbs":[{"label":"API reference"},{"label":"Generation"}]},{"id":"hH3cwUTkMJtf9Hs91Itw","title":"Runs","pathname":"/testvibe-api/api-reference/runs","siteSpaceId":"sitesp_xHTkt","description":"Execute generated tests in cloud sandboxes and read the results.","breadcrumbs":[{"label":"API reference"}]},{"id":"7WG19mE8nbhDxxNwbT4y","title":"run_feature","pathname":"/testvibe-api/api-reference/runs/run_feature","siteSpaceId":"sitesp_xHTkt","description":"Run a feature's generated Playwright tests in a cloud sandbox.","breadcrumbs":[{"label":"API reference"},{"label":"Runs"}]},{"id":"n2Hy0Mu2A3m4vlcRvXMq","title":"run_suite","pathname":"/testvibe-api/api-reference/runs/run_suite","siteSpaceId":"sitesp_xHTkt","description":"Run several features at once — one cloud run per feature.","breadcrumbs":[{"label":"API reference"},{"label":"Runs"}]},{"id":"cREpgZAMXn0BLLxCP7uO","title":"wait_for_run","pathname":"/testvibe-api/api-reference/runs/wait_for_run","siteSpaceId":"sitesp_xHTkt","description":"Poll a run until it finishes (or the timeout) and return its results digest.","breadcrumbs":[{"label":"API reference"},{"label":"Runs"}]},{"id":"NMvGV54U8fQwL3cToskp","title":"get_run","pathname":"/testvibe-api/api-reference/runs/get_run","siteSpaceId":"sitesp_xHTkt","description":"One run's status and results digest — per-test statuses, errors, and the artifact manifest.","breadcrumbs":[{"label":"API reference"},{"label":"Runs"}]},{"id":"I44BSl6tBxc7osAnZC6c","title":"diagnose_run","pathname":"/testvibe-api/api-reference/runs/diagnose_run","siteSpaceId":"sitesp_xHTkt","description":"A failed run's full failure context in one call.","breadcrumbs":[{"label":"API reference"},{"label":"Runs"}]},{"id":"lTHuzWir6IpT6WauwYKB","title":"list_runs","pathname":"/testvibe-api/api-reference/runs/list_runs","siteSpaceId":"sitesp_xHTkt","description":"List the project's recent test runs, newest first.","breadcrumbs":[{"label":"API reference"},{"label":"Runs"}]},{"id":"gil0K1LG77bspzXVjqFc","title":"get_run_artifacts","pathname":"/testvibe-api/api-reference/runs/get_run_artifacts","siteSpaceId":"sitesp_xHTkt","description":"Short-lived download links for a run's uploaded artifacts.","breadcrumbs":[{"label":"API reference"},{"label":"Runs"}]},{"id":"fbzYOv4gWpCQcpvPqsfJ","title":"Load testing","pathname":"/testvibe-api/api-reference/load","siteSpaceId":"sitesp_xHTkt","description":"List and dispatch load tests on the cloud load pool.","breadcrumbs":[{"label":"API reference"}]},{"id":"If7DfKtsrVZiPUYChpH9","title":"list_load_tests","pathname":"/testvibe-api/api-reference/load/list_load_tests","siteSpaceId":"sitesp_xHTkt","description":"List the project's load tests.","breadcrumbs":[{"label":"API reference"},{"label":"Load testing"}]},{"id":"hYrEG2p1btOCs732zb24","title":"create_load_test","pathname":"/testvibe-api/api-reference/load/create_load_test","siteSpaceId":"sitesp_xHTkt","description":"Create a load test (a kind \"load\" feature) from a configuration.","breadcrumbs":[{"label":"API reference"},{"label":"Load testing"}]},{"id":"aAIAPIkfLd0PYcUKuc9D","title":"update_load_test","pathname":"/testvibe-api/api-reference/load/update_load_test","siteSpaceId":"sitesp_xHTkt","description":"Edit a load test's name and/or configuration.","breadcrumbs":[{"label":"API reference"},{"label":"Load testing"}]},{"id":"qvdvZiyCTvM8w6Zp9nup","title":"delete_load_test","pathname":"/testvibe-api/api-reference/load/delete_load_test","siteSpaceId":"sitesp_xHTkt","description":"Delete a load test.","breadcrumbs":[{"label":"API reference"},{"label":"Load testing"}]},{"id":"ur5LZqMqtv9EBEVpCtLl","title":"run_load_test","pathname":"/testvibe-api/api-reference/load/run_load_test","siteSpaceId":"sitesp_xHTkt","description":"Dispatch a load test onto the cloud load pool.","breadcrumbs":[{"label":"API reference"},{"label":"Load testing"}]},{"id":"rWZcNEcKi8L0otHqGJTj","title":"Telemetry","pathname":"/testvibe-api/api-reference/telemetry","siteSpaceId":"sitesp_xHTkt","description":"Read live server vitals, application errors, and per-run server metrics.","breadcrumbs":[{"label":"API reference"}]},{"id":"Gp0vDHaYL4y0emuSV44u","title":"get_live_servers","pathname":"/testvibe-api/api-reference/telemetry/get_live_servers","siteSpaceId":"sitesp_xHTkt","description":"Read the project's live streaming server vitals.","breadcrumbs":[{"label":"API reference"},{"label":"Telemetry"}]},{"id":"5REkSu3z3ZRk7Ux4Kg7X","title":"list_error_groups","pathname":"/testvibe-api/api-reference/telemetry/list_error_groups","siteSpaceId":"sitesp_xHTkt","description":"List the project's fingerprinted application-error groups.","breadcrumbs":[{"label":"API reference"},{"label":"Telemetry"}]},{"id":"lQb4BbBIZlurAQ3DAMGx","title":"list_server_metrics","pathname":"/testvibe-api/api-reference/telemetry/list_server_metrics","siteSpaceId":"sitesp_xHTkt","description":"List a load run's persisted server-telemetry samples.","breadcrumbs":[{"label":"API reference"},{"label":"Telemetry"}]},{"id":"jxIgiyqo2MtpGCdhpbjm","title":"Automations","pathname":"/testvibe-api/api-reference/automations","siteSpaceId":"sitesp_xHTkt","description":"Schedule (cron) or event triggers that run a suite or a load test.","breadcrumbs":[{"label":"API reference"}]},{"id":"2hf1pxi7YoxQMC8yvcvj","title":"list_automations","pathname":"/testvibe-api/api-reference/automations/list_automations","siteSpaceId":"sitesp_xHTkt","description":"List the project's automations.","breadcrumbs":[{"label":"API reference"},{"label":"Automations"}]},{"id":"sTfMiObpbRevGvBl0ShH","title":"get_automation","pathname":"/testvibe-api/api-reference/automations/get_automation","siteSpaceId":"sitesp_xHTkt","description":"Read one automation.","breadcrumbs":[{"label":"API reference"},{"label":"Automations"}]},{"id":"pL7gkvxmGc777ESXTOH8","title":"create_automation","pathname":"/testvibe-api/api-reference/automations/create_automation","siteSpaceId":"sitesp_xHTkt","description":"Create an automation.","breadcrumbs":[{"label":"API reference"},{"label":"Automations"}]},{"id":"v2cFJoGLRakTkK2zBjau","title":"update_automation","pathname":"/testvibe-api/api-reference/automations/update_automation","siteSpaceId":"sitesp_xHTkt","description":"Update an automation (or pause it).","breadcrumbs":[{"label":"API reference"},{"label":"Automations"}]},{"id":"rox1AqjyZfaa1FXb4tlu","title":"delete_automation","pathname":"/testvibe-api/api-reference/automations/delete_automation","siteSpaceId":"sitesp_xHTkt","description":"Delete an automation and its history.","breadcrumbs":[{"label":"API reference"},{"label":"Automations"}]},{"id":"Emk7D2p2o5D5fN9ElDz8","title":"run_automation","pathname":"/testvibe-api/api-reference/automations/run_automation","siteSpaceId":"sitesp_xHTkt","description":"Fire an automation now (manual trigger).","breadcrumbs":[{"label":"API reference"},{"label":"Automations"}]},{"id":"ZhIC65Fp6j90ijPkyAmi","title":"list_automation_runs","pathname":"/testvibe-api/api-reference/automations/list_automation_runs","siteSpaceId":"sitesp_xHTkt","description":"One automation's firing history.","breadcrumbs":[{"label":"API reference"},{"label":"Automations"}]},{"id":"U5MSnAuYTCPldLPldCNp","title":"Coverage","pathname":"/testvibe-api/api-reference/coverage","siteSpaceId":"sitesp_xHTkt","description":"See what your app does, how much of it your tests cover, and run coverage.","breadcrumbs":[{"label":"API reference"}]},{"id":"wM4Jv4Jkvz8RwaWbTCdj","title":"get_coverage","pathname":"/testvibe-api/api-reference/coverage/get_coverage","siteSpaceId":"sitesp_xHTkt","description":"The project's coverage snapshot.","breadcrumbs":[{"label":"API reference"},{"label":"Coverage"}]},{"id":"B0CIgESJQcLf4cbXahk9","title":"scan_coverage","pathname":"/testvibe-api/api-reference/coverage/scan_coverage","siteSpaceId":"sitesp_xHTkt","description":"Start an AI coverage scan.","breadcrumbs":[{"label":"API reference"},{"label":"Coverage"}]},{"id":"kQCeLtJq5UlERCg49pfd","title":"list_coverage_runs","pathname":"/testvibe-api/api-reference/coverage/list_coverage_runs","siteSpaceId":"sitesp_xHTkt","description":"List recent execution-coverage runs.","breadcrumbs":[{"label":"API reference"},{"label":"Coverage"}]},{"id":"oQhjkw9aae7CY6ISBAFy","title":"run_coverage","pathname":"/testvibe-api/api-reference/coverage/run_coverage","siteSpaceId":"sitesp_xHTkt","description":"Start an execution-coverage run for a build/test target.","breadcrumbs":[{"label":"API reference"},{"label":"Coverage"}]},{"id":"OGGhBYVxdZNl6yeA5kG4","title":"Plugins","pathname":"/testvibe-api/api-reference/plugins","siteSpaceId":"sitesp_xHTkt","description":"Browse the plugin catalog, enable plugins per project, and publish your own.","breadcrumbs":[{"label":"API reference"}]},{"id":"oNgySjD04ox8AvSuIofF","title":"list_plugins","pathname":"/testvibe-api/api-reference/plugins/list_plugins","siteSpaceId":"sitesp_xHTkt","description":"List the plugin catalog with each plugin's install state for this project.","breadcrumbs":[{"label":"API reference"},{"label":"Plugins"}]},{"id":"T4bNohdqHtfqncUF5hAc","title":"install_plugin","pathname":"/testvibe-api/api-reference/plugins/install_plugin","siteSpaceId":"sitesp_xHTkt","description":"Enable a catalog plugin for this project.","breadcrumbs":[{"label":"API reference"},{"label":"Plugins"}]},{"id":"wvSTZA3lfxJx8RptqV3m","title":"remove_plugin","pathname":"/testvibe-api/api-reference/plugins/remove_plugin","siteSpaceId":"sitesp_xHTkt","description":"Disable a plugin for this project.","breadcrumbs":[{"label":"API reference"},{"label":"Plugins"}]},{"id":"STmQZvw0LBd8Jp4Fxe2c","title":"publish_plugin","pathname":"/testvibe-api/api-reference/plugins/publish_plugin","siteSpaceId":"sitesp_xHTkt","description":"Publish a plugin package to your workspace's catalog and enable it here.","breadcrumbs":[{"label":"API reference"},{"label":"Plugins"}]},{"id":"0Pj4uH1QGzhghq8PtTcG","title":"unpublish_plugin","pathname":"/testvibe-api/api-reference/plugins/unpublish_plugin","siteSpaceId":"sitesp_xHTkt","description":"Delete a workspace-published plugin from the catalog.","breadcrumbs":[{"label":"API reference"},{"label":"Plugins"}]},{"id":"RUZ5mVOlRwElFgYsW6TQ","title":"Variables & secrets","pathname":"/testvibe-api/api-reference/environment","siteSpaceId":"sitesp_xHTkt","description":"Per-project environment values for Gherkin steps, runs, and generation.","breadcrumbs":[{"label":"API reference"}]},{"id":"DABd7zFW539SVn8AloUU","title":"list_variables","pathname":"/testvibe-api/api-reference/environment/list_variables","siteSpaceId":"sitesp_xHTkt","description":"List the project's variables with their values.","breadcrumbs":[{"label":"API reference"},{"label":"Variables & secrets"}]},{"id":"oDNM5prN6obll1oDmC48","title":"set_variable","pathname":"/testvibe-api/api-reference/environment/set_variable","siteSpaceId":"sitesp_xHTkt","description":"Create or update a project variable.","breadcrumbs":[{"label":"API reference"},{"label":"Variables & secrets"}]},{"id":"KjCANW3lwkFvaBn0QJlo","title":"delete_variable","pathname":"/testvibe-api/api-reference/environment/delete_variable","siteSpaceId":"sitesp_xHTkt","description":"Delete a project variable.","breadcrumbs":[{"label":"API reference"},{"label":"Variables & secrets"}]},{"id":"gaEvrvqsqYuDfINsQ8y1","title":"list_secrets","pathname":"/testvibe-api/api-reference/environment/list_secrets","siteSpaceId":"sitesp_xHTkt","description":"List the project's secret names — never their values.","breadcrumbs":[{"label":"API reference"},{"label":"Variables & secrets"}]},{"id":"eyX2Cp8k1kfN2iowHJim","title":"set_secret","pathname":"/testvibe-api/api-reference/environment/set_secret","siteSpaceId":"sitesp_xHTkt","description":"Create or update a project secret (encrypted, write-only).","breadcrumbs":[{"label":"API reference"},{"label":"Variables & secrets"}]},{"id":"QYFQnPE39c5WAvipEbqV","title":"delete_secret","pathname":"/testvibe-api/api-reference/environment/delete_secret","siteSpaceId":"sitesp_xHTkt","description":"Delete a project secret.","breadcrumbs":[{"label":"API reference"},{"label":"Variables & secrets"}]},{"id":"A1SNy5hYIHkJDruGezXI","title":"Files","pathname":"/testvibe-api/api-reference/files","siteSpaceId":"sitesp_xHTkt","description":"Read the project's file tree, and write the parts you own.","breadcrumbs":[{"label":"API reference"}]},{"id":"sWvTEXrnWNl5Js8BQ5wN","title":"list_files","pathname":"/testvibe-api/api-reference/files/list_files","siteSpaceId":"sitesp_xHTkt","description":"List the project's files — stored content plus the Playwright template scaffolding.","breadcrumbs":[{"label":"API reference"},{"label":"Files"}]},{"id":"6XVHk8ZgjxTYTSffeY2s","title":"read_file","pathname":"/testvibe-api/api-reference/files/read_file","siteSpaceId":"sitesp_xHTkt","description":"Read one project file by path — stored content first, template fallback.","breadcrumbs":[{"label":"API reference"},{"label":"Files"}]},{"id":"nN4DTetw88bBjqk4TxSj","title":"write_file","pathname":"/testvibe-api/api-reference/files/write_file","siteSpaceId":"sitesp_xHTkt","description":"Create or overwrite a project file under Features/ or Configurations/.","breadcrumbs":[{"label":"API reference"},{"label":"Files"}]},{"id":"czdUdMdxAFZEibZgA1ke","title":"delete_file","pathname":"/testvibe-api/api-reference/files/delete_file","siteSpaceId":"sitesp_xHTkt","description":"Delete a stored project file under Features/ or Configurations/.","breadcrumbs":[{"label":"API reference"},{"label":"Files"}]},{"id":"lD0Ckfroo8Pgr2sKnrWf","title":"Configurations","pathname":"/testvibe-api/api-reference/configurations","siteSpaceId":"sitesp_xHTkt","description":"The named Playwright configurations a run can execute under.","breadcrumbs":[{"label":"API reference"}]},{"id":"wqpaOsfL1ZMMWzZJ2QZB","title":"list_configs","pathname":"/testvibe-api/api-reference/configurations/list_configs","siteSpaceId":"sitesp_xHTkt","description":"List the Playwright configurations available to runs.","breadcrumbs":[{"label":"API reference"},{"label":"Configurations"}]},{"id":"UdNA8mXbh6WsDlpZI721","title":"The testvibe CLI","pathname":"/testvibe-api/cli/cli","siteSpaceId":"sitesp_xHTkt","icon":"terminal","description":"TestVibe from your terminal — manage features, run tests in cloud sandboxes, generate tests from Gherkin, and edit project files.","breadcrumbs":[{"label":"CLI"}]},{"id":"LvT9yYWCgGxJoXstaTPr","title":"The TestVibe MCP server","pathname":"/testvibe-api/mcp-server/mcp","siteSpaceId":"sitesp_xHTkt","icon":"server","description":"Every API operation as an MCP tool — point Claude or Codex at your TestVibe workspace.","breadcrumbs":[{"label":"MCP server"}]},{"id":"mbggPQReFfJzwAeeaxn8","title":"Your first test from Claude Code","pathname":"/testvibe-api/guides/first-test-from-claude-code","siteSpaceId":"sitesp_xHTkt","icon":"wand-magic-sparkles","description":"Let an AI assistant create, generate, and run a TestVibe feature end to end.","breadcrumbs":[{"label":"Guides"}]},{"id":"qhxRRKfCuAPnO26gvmug","title":"Add a custom Playwright configuration","pathname":"/testvibe-api/guides/custom-playwright-config","siteSpaceId":"sitesp_xHTkt","icon":"sliders","description":"Add a named Playwright configuration (e.g. Mobile) and run features under it.","breadcrumbs":[{"label":"Guides"}]},{"id":"dkdXBSC7h9KOK17SAeKZ","title":"Diagnose a failed generation","pathname":"/testvibe-api/guides/diagnose-a-failed-generation","siteSpaceId":"sitesp_xHTkt","icon":"stethoscope","description":"A generation came back failed — here's how to find out why and fix it.","breadcrumbs":[{"label":"Guides"}]},{"id":"uCKbbCoZSH9laYXCFPti","title":"Run TestVibe in CI","pathname":"/testvibe-api/guides/run-in-ci","siteSpaceId":"sitesp_xHTkt","icon":"gears","description":"Gate your deploys on a green TestVibe run.","breadcrumbs":[{"label":"Guides"}]},{"id":"Byj6xauOEkzIihvmYGVE","title":"Statuses & limits","pathname":"/testvibe-api/resources/statuses-and-limits","siteSpaceId":"sitesp_xHTkt","icon":"gauge-high","description":"Every enum and limit in one place.","breadcrumbs":[{"label":"Resources"}]},{"id":"A58BUhwOgwy8VXKmnQAi","title":"Roadmap & changelog","pathname":"/testvibe-api/resources/roadmap-and-changelog","siteSpaceId":"sitesp_xHTkt","icon":"road","description":"Where the API is headed, and what changed when.","breadcrumbs":[{"label":"Resources"}]}]}