Skip to catalogue

04

spike

Code you intend to throw away, written only to answer one unknown. Stop when the clock hits.

What is spike?

A spike is time-boxed exploration: can this API stream, can this model read a PDF, can the database enforce the permission. The deliverable is knowledge, not a feature.

Why does spike matter when vibe coding?

Vibe coding turns spikes into products because the model never stops. You have to say “two hours, throw it away, one question,” or the repo keeps a barely-running thing with no tests.

How do you do spike?

A branch of its own. Write the single question. Stop on time. File the answer in prose or an ADR. Delete the branch. The real implementation starts clean, holding that answer.

How do you ask a model for spike?

This is a spike. Throw it away in two hours. Answer only: (question). No abstractions, no suite, no cleanup. Stop on time. Three sentences of conclusion.

What goes wrong with spike?

“We’ll tidy it after it works,” and the tidying never comes. A spike merged to main is not a spike.

adjacent