← Vibecoding · Vibecoding with OpenCode RU FR Course 30/70 →

Spec: <task name>

Author: <name> · Date: <date> · Branch: <branch>


1. Context

What already exists, where it lives, what must not be broken.

  • Module/package: <path>
  • Current behavior: <description>
  • Affected consumers: <who uses it>

2. Goal

One sentence: what should exist as a result.

3. Requirements

  1. <verifiable statement>
  2. <verifiable statement>
  3. <verifiable statement>
  4. <verifiable statement>
  5. <verifiable statement>

4. Constraints

  • Do not change: <files/modules>
  • Do not add dependencies: <yes/no>
  • Style: as in <sample file>
  • Size: no more than <N> lines in the diff per step

5. Acceptance criteria

  • ./scripts/check.sh passes
  • test <name> covers <case>
  • <manual check/command>
  • behavior X when Y: <expected result>

6. Out of scope

  • <what we explicitly do not do>
  • <what we explicitly do not do>

7. Risks

Risk Probability What we do
<risk> low/medium/high <action>