> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Spec-driven development

In Quest, click the "**+**" button on the input box and turn on the **Spec** toggle (next to the **Goal** toggle) when you create a task to enable Spec-driven development: Quest aligns on scope, produces a structured **Spec**, lets you review it, then executes against it. This is the path for features that need traceable requirements and acceptance criteria.

## Workflow

<Steps>
  <Step title="Requirement clarification">
    After inputting your task, Quest may ask clarifying questions (in multiple-choice format):

    * **Recommend**: Let Quest automatically select default answers
    * **Continue**: Manually select and continue
    * **Skip**: Skip questions and proceed with the conversation
  </Step>

  <Step title="Generate Spec">
    Quest generates a structured Spec document:

    * Requirement description
    * Design plan
    * Task breakdown
    * Acceptance criteria

    The Spec is displayed in the **Spec Tab** in the output area, with streaming output and download support.
  </Step>

  <Step title="Review Spec">
    * View the complete document in the **Spec Tab** on the right
    * Modify Spec through **conversation** (can adjust anytime before clicking Build)
    * You can also add **annotations** to specific parts of the Spec document and hand that feedback straight to the agent to adjust the Spec — no need to gather your comments into a separate message
    * Click **Build** when satisfied to begin execution
  </Step>

  <Step title="Execute & monitor">
    * **To-do List**: Real-time task progress in the conversation area
    * **Changed Files**: View code changes in the output area
    * **Add requirements mid-task**: Send new requirements in the input box anytime — Quest adjusts the plan
  </Step>

  <Step title="Review and commit">
    After execution completes, review the run's code changes in the **Review** panel on the right, then stage and commit them — **Commit**, **Push**, or **Create New Branch** from the changes. See [Review and commit](./review-and-commit) for the full diff review, stage / discard, and commit / push flow.
  </Step>
</Steps>

## Convert a Spec into a scheduled task

After you finish requirement clarification and generate a Spec, you don't have to run it right away — instead of clicking **Build**, click the **Schedule** button on the Spec card, set the execution time, and save, and Quest will run that Spec automatically at the scheduled time. This is handy for moving time-consuming development work to off-peak overnight hours.
