AIExplore
How to Edit Code and Progressively Enhance Apps in v0
Use Code view and narrow chat diffs in v0 to enhance apps step by step: core features, then persistence, then polish.
v0 supports Code view edits and chat driven changes. Official text prompting describes progressive enhancement: core features, then persistence, then UX polish. Queue follow ups when useful. Install missing shadcn components when running locally. Overview: /explore/v0.
This guide covers minimal diffs and staged enhancement. For components see /blog/how-to-use-v0-for-components-and-dashboards. For planning see /blog/how-to-plan-complex-apps-with-v0-before-implementation.
When code editing and progressive enhancement are the right job
Use this when the app skeleton works and you need controlled improvements. Plan first when the architecture is still unclear.
Step by step workflow
1. Define the step
Name current behavior, desired change, and pass condition.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Step card Now: todos add and delete in memory Next: persist to localStorage Pass: refresh keeps items. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Step card Now: todos add and delete in memory Next: persist to localStorage Pass: refresh keeps items" that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Step card Now: todos add and delete in memory Next: persist to localStorage Pass: refresh keeps items" requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
2. Edit via Code or chat
Use Code tab for precise edits or ask for a minimal diff in chat.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Prompt In TodoList only Persist todos to localStorage Minimal diff Do not add filters yet. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Prompt In TodoList only Persist todos to localStorage Minimal diff Do not add filters yet" that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Prompt In TodoList only Persist todos to localStorage Minimal diff Do not add filters yet" requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
3. Enhance next layer
Add filters and polish only after persistence passes. Queue when ready.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Next Add completion checkbox Add All / Active / Done filters Optional: queue unit test for filter logic. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Next Add completion checkbox Add All / Active / Done filters Optional: queue unit test for filter logic" that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Next Add completion checkbox Add All / Active / Done filters Optional: queue unit test for filter logic" requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Practical edit and enhancement prompts
Core todos
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Create a basic todo list with add and delete.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Create a basic todo list with add and delete." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Create a basic todo list with add and delete." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Persist
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Add localStorage to save todos.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Add localStorage to save todos." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Add localStorage to save todos." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Filters
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Add completion checkboxes and filtering All / Active / Done.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Add completion checkboxes and filtering All / Active / Done." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Add completion checkboxes and filtering All / Active / Done." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Minimal diff
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Show the fix as a minimal diff against TodoList only.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Show the fix as a minimal diff against TodoList only." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Show the fix as a minimal diff against TodoList only." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Bug filter
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Active filter incorrectly shows completed items. Fix with a failing case description first.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Active filter incorrectly shows completed items. Fix with a failing case description first." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Active filter incorrectly shows completed items. Fix with a failing case description first." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Search bar
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Add a search bar to the product list. Keep existing sort.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Add a search bar to the product list. Keep existing sort." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Add a search bar to the product list. Keep existing sort." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Skeleton
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Add loading skeletons for the table without changing data fetching API.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Add loading skeletons for the table without changing data fetching API." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Add loading skeletons for the table without changing data fetching API." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Empty
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Add empty state when search returns zero rows.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Add empty state when search returns zero rows." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Add empty state when search returns zero rows." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Error
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Add inline error and retry when fetch fails.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Add inline error and retry when fetch fails." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Add inline error and retry when fetch fails." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Unit test
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Add a unit test for filter logic only.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Add a unit test for filter logic only." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Add a unit test for filter logic only." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
More copyable examples
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Rename Rename Component FooBar to OrderSummary across imports.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Rename Rename Component FooBar to OrderSummary across imports." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Rename Rename Component FooBar to OrderSummary across imports." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Extract Extract Badge into StatusBadge with variant prop.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Extract Extract Badge into StatusBadge with variant prop." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Extract Extract Badge into StatusBadge with variant prop." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: A11y Add keyboard focus styles to interactive elements in this form.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "A11y Add keyboard focus styles to interactive elements in this form." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "A11y Add keyboard focus styles to interactive elements in this form." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Queue Queue: add auth gate, then settings page, after current generation.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Queue Queue: add auth gate, then settings page, after current generation." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Queue Queue: add auth gate, then settings page, after current generation." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Code view note I will edit styles in Code view. Do not regenerate the whole page.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Code view note I will edit styles in Code view. Do not regenerate the whole page." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Code view note I will edit styles in Code view. Do not regenerate the whole page." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Deps List shadcn components to install for this file.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Deps List shadcn components to install for this file." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Deps List shadcn components to install for this file." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: No drive by Do not refactor unrelated files. Touch OrderSummary only.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "No drive by Do not refactor unrelated files. Touch OrderSummary only." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "No drive by Do not refactor unrelated files. Touch OrderSummary only." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Scenario: A realistic v0 workflow is being prepared for Use v0 for Simple UI and Landing Pages using v0. The starting requirement is: Confirm step Summarize what changed and how to verify in preview.. The work should be tested on a representative input first so the result can be reviewed before the same process is applied to the full project or production workload. Objective: Create a production-ready result for "Confirm step Summarize what changed and how to verify in preview." that directly supports the article use case. The output should be specific, reviewable, and reproducible rather than a generic demonstration. Keep the requested goal as the primary outcome and avoid adding unrelated features, assumptions, or unsupported capabilities. Inputs: Use the actual source material required for this task, together with the intended audience, destination, format, and quality requirements. Specify relevant files, text, URLs, structured data, reference assets, dimensions, language, tone, timing, model or generation settings, credentials, field mappings, or integration values when they apply. Keep secrets out of the example and use the product's supported credential or configuration mechanism. Workflow: 1. Start with one representative input that contains the important characteristics of the real workload. 2. Configure v0 specifically for the requested task and make the important settings explicit. 3. Run the first pass and inspect the result against the objective. 4. Correct only the settings or source material responsible for a failed requirement instead of changing everything at once. 5. Validate the intermediate result before passing it to the next step. 6. When the result meets the requirements, save the successful configuration so the same process can be repeated consistently. 7. If this is a multi-step workflow, verify each handoff and keep a clear fallback or review path for failures. Requirements: The example must use supported functionality only. Do not invent product features, pricing, limits, integrations, model names, API behavior, or unavailable settings. Preserve important source data and formatting. Validate required fields before processing, handle empty or invalid input explicitly, prevent accidental duplicate processing where relevant, and stop or route the item for review when a required step fails. For credentials, use the supported secure configuration rather than placing secrets directly in the content. Expected output: The final result should directly satisfy the "Confirm step Summarize what changed and how to verify in preview." requirement and be understandable without guessing what was supplied or configured. A successful run should produce the intended output in the requested format, with the important values and workflow decisions clear enough to reproduce the result. If the workflow can fail, the expected behavior should also make the failure visible and provide a clear next action instead of silently producing an incomplete result.
Tips
- Pass conditions per step
- Minimal diffs
- Core then persist then polish
- Queue reviewed steps
- Install shadcn deps
- Avoid unrelated refactors
Verification notes
Progressive enhancement and code editing flows are documented in v0 text prompting and quickstart docs. When credits, Free daily message limits, or plan features differ from memory, open v0.dev/pricing and your settings page. Limits change, so do not promise client timelines from outdated screenshots.
Keep a short session log: prompt, stack named, what you will change next. Queued prompts are more useful when each step has a clear acceptance check.
Treat the first generation as a sketch. Review mobile preview and keyboard focus before inviting stakeholders.
Confirm credit balance before large multi page or Figma heavy jobs. Longer prompts and attachments use more tokens.
Separate exploration chats from production ready projects when possible. Publish only after accessibility and empty state checks.
Store winning prompt skeletons on a shared page. Reuse sections and stack lines. Change only product nouns.
Install referenced shadcn components before running exported code locally. Missing imports look like v0 failures when they are install gaps.
Prefer one constraint per follow up. Multi theme plus multi layout plus multi data changes hide which instruction worked.
Close sessions by naming the chat clearly and discarding dead ends so teammates can find the keeper version.
Progressive enhancement keeps a usable app at every step. Do not add filters before add and delete work.
Minimal diffs are easier to review than full file rewrites. Ask for them when debugging.
Queue the next enhancement only when the current step has a clear pass condition.
Unit tests for pure logic such as filters are good follow ups after UI works.
Code view and chat should not fight. Pick one surface for a given change set.
Progressive enhancement keeps a usable product at every step. Filters on a list that cannot add items is theater.
Minimal diffs make review possible. Ask for them when debugging so unrelated churn does not hide the fix.
Pass conditions should be previewable. Refresh keeps todos is better than make persistence good.
Code view is ideal when you know the exact line. Chat is ideal when you need a reasoned change across files.
Do not fight yourself. Pick one surface for a change set.
Queue enhancements only when the current step passed. Queued guesses create merge confusion.
Install shadcn components listed in imports before blaming v0 for local build breaks.
Unit tests for pure logic are cheap follow ups after UI works.
Drive by refactors destroy trust in AI edits. Scope the file names.
Error handling belongs with persistence and API steps, not as a final cosmetic pass.
Summarize what changed and how to verify. Future you will thank present you.
Credits favor small diffs over regenerating entire apps for one bug.
Write the failing behavior in one sentence before asking for a fix. Diagnosis quality rises.
Persistence steps should define where data lives and what happens on parse failure.
Filter tabs need plural counts only if you ask for them. Keep scope tight.
When exporting, reconcile package versions with your local Next.js baseline.
Ask for verification steps in preview after each enhancement. Ritual beats hope.
Large renames deserve their own prompt. Mixing renames with behavior changes hides bugs.
If Code view and chat diverge, reset intent: either commit Code edits or ask chat to rewrite from current code.
Progressive enhancement is also a teaching tool for juniors. Keep steps narratable.
Start each enhancement chat message with Step N so history stays scannable.
Persistence parse failures need user visible recovery, not silent data loss.
Feature flags inside progressive enhancement help you hide unfinished filters.
Ask for console free verify steps so non developers can check the pass condition.
Avoid upgrading major frameworks mid enhancement unless the bug requires it.
When a fix expands scope, stop and split into two steps before continuing.
Code owners should review AI diffs like human PRs. Same bar for naming and tests.
LocalStorage keys should be namespaced to the app to avoid collisions.
Filter logic belongs in pure functions when you plan to unit test it.
If preview and local diverge, confirm env and dependency install before more prompts.
Progress photos of the UI after each step help demos tell a shipping story.
Do not delete working core features while adding polish. Regressions cost trust.
End with a short changelog comment in the chat for the next editor.
Regression checks should include the previous step pass condition. Enhancements must not break core add and delete.
Ask for comments near non obvious logic. Future editors need intent, not only code.
When using prompt queues, keep each queued item independently verifiable.
Prefer additive UI for filters. Removing core list chrome while adding tabs confuses users mid demo.
If a bug spans server and client, say both sides in the prompt to avoid half fixes.
Celebrate boring green paths. Progressive enhancement succeeds when each step is dull and correct.
Ship each enhancement with a one line verify note in the chat. Without it, teammates re test randomly and waste credits.
When stuck, ask v0 for a plan for the next three enhancements instead of improvising competing fixes.
Keep core user journeys green in preview before you chase edge case polish that only engineers notice.
Common mistakes
- All enhancements at once
- No verification between steps
- Drive by refactors
- Missing component installs
- Skipping error handling
- Fighting Code view with full regenerations
Related v0 articles: /blog/how-to-use-v0-for-components-and-dashboards, /blog/how-to-plan-complex-apps-with-v0-before-implementation, and /blog/how-to-use-v0-for-full-stack-features-and-integrations. Return to /explore/v0 for the broader guide set.

explore