4757fffdea
* docs: reframe feature guides and mark experimental surfaces * fix: tighten task demo framing * fix: validate experimental page status * docs: anchor experimental office status * fix(ci): isolate Wrangler preview install * docs: complete focused camera example * fix(ci): use valid Wrangler package name
3.9 KiB
3.9 KiB
name, description
| name | description |
|---|---|
| product-demo-seeding | Seed coherent, disposable Kandev demo scenarios for screenshots, product films, landing-page media, and reproducible UI captures. Use whenever media needs believable tasks, workflows, agents, executors, integrations, plans, sessions, diffs, reviews, or native mobile states; invoke before product-video-capture and never use a developer's main instance or data. |
Product Demo Seeding
Build a truthful product state before recording pixels. Treat narrative, data, and UI route as one artifact.
Prerequisites
Use a Kandev checkout with its web E2E fixtures, Playwright dependencies, pnpm toolchain, Git, and a disposable local backend available. Verify the checkout contains scripts/dev-isolated and apps/web/e2e/ before creating seed state.
Workflow
- Read
/e2eand the relevant existing specs/page objects underapps/web/e2e/. - Write a one-sentence story: user goal, visible action, visible result.
- Identify separate desktop and mobile routes. Mobile must use native mobile surfaces, not a desktop crop.
- Explore manually with
scripts/dev-isolated --webwhen needed. For reproducible capture, use the worker-scoped E2E fixture andApiClient. - Create a fresh bogus repository, workspace, workflow, tasks, sessions, and provider state through supported E2E/API methods.
- Seed only enough state to make the story legible. Dense believable data beats empty fixtures; excessive data hides the action.
- Open the intended UI and verify every visible label, control, and transition before recording.
- Hand the scenario, route, selectors, semantic target bounds, complete intentional pointer journeys, and cleanup command to
/product-video-capture.
Safety Contract
- Use a fresh temp
HOME,KANDEV_HOME_DIR, SQLite path, repository, worktree root, and non-production ports. - Use mock external providers and a mock agent. Never load credentials or contact real GitHub/Jira/Linear/Sentry/Slack services.
- Never copy the developer's database for marketing capture.
scripts/dev-isolated --copy-dbis outside this workflow. - Never query, mutate, stop, or reuse the main Kandev instance.
- Keep capture specs temporary or in a reviewed source bundle. Remove temporary copies after the run.
- Stop if isolation cannot be proven from process args, ports, paths, and logs.
Read isolation-and-seeding.md before starting an instance.
Truthfulness Contract
- Seed real records and drive real controls. Do not fabricate menu items, executor families, integrations, checks, or agent support in the DOM.
- Prefer coherent API-seeded labels over capture-time text replacement. If fixture sanitation is unavoidable, document exact substitutions; never add controls, hide product bugs, or change behavior.
- Use current product capabilities. Inspect selectors and API helpers again instead of copying an old capture spec blindly.
- If a responsive surface is broken, report the product bug and choose another truthful native route only when it demonstrates the same capability.
- Keep local paths, test directives, generic mock responses, fixture names, and host identity out of visible frames.
Story Selection
Use story-recipes.md for Plan, Coordinate, Prepare, Run, Review, integrations, editor/terminal, and mobile recipes. Recipes are patterns, not frozen scripts.
Acceptance Gate
Before capture, verify:
- Story has a clear initial state, action, and result in 7-11 seconds.
- Desktop and mobile each have a native script and safe composition.
- Visible data forms one fictional project narrative.
- No production endpoint, credential, local path, fixture copy, or unsupported control is visible.
- Seed teardown removes temporary profiles, specs, processes, ports, database, and repository.
Report seed name, product story, ports, temp roots, mock providers, real UI route, any sanitation, and teardown result.