| name | prototype |
| description | Build disposable code to answer one design question. Use when the user wants to test whether logic or a state model feels right, or compare materially different UI directions before production implementation. |
| license | MIT |
Prototype
A prototype is disposable code that answers one explicit question. The question determines the shape, fidelity, and stopping point.
Choose the branch
- For business rules, state transitions, data shape, or API feel, read LOGIC.md.
- For layout, hierarchy, interaction, or visual direction, read UI.md.
If the branch is genuinely ambiguous and quick repository context does not resolve it, ask one question before editing.
Shared workflow
- Write the question and the evidence that would answer it.
- Locate the prototype near the target area and mark its route, filename, and visible UI clearly as a prototype.
- Use the project's existing runtime, task runner, components, and styling. Add no new dependency unless the experiment itself requires it.
- Keep state in memory and side effects stubbed unless persistence or integration is the question being tested.
- Implement only enough realism for a trustworthy answer. Skip production abstractions, exhaustive error handling, and unrelated polish.
- Make the relevant state, differences, and trade-offs visible while the prototype runs.
- Run the prototype and report how to access it, what to try, and which observations would settle the question.
- Once the user chooses, carry the validated decision into production code deliberately. Remove or retain the prototype only with the user's direction; do not create branches, issues, commits, or external records without explicit authorisation.
The prototype is complete when it can distinguish the plausible answers to its stated question. It is not complete merely because it runs.