Feature Implementation Template

Fourteen fields in the order of the loop, persisted locally, with the shopping cart's answers beside each one — revealed only when you ask.

I need XWhat is X?What must it remember?What can happen to it?What must always hold?ExamplesRepresent the stateWhich structure?Each operationPseudocodeImplement oneTest with examplesEdge casesIntegrate

The template is the loop as a form. Its value is the order: you cannot honestly fill in data structure before operations, or tests before examples. When a field stays empty, that is the finding — it names the stage you skipped.

Worksheets

0 / 14 filled
1 · Meaning

What is it, in one sentence, before any representation? Identity, owner, lifetime.

the cart's answer
2 · State

What must it remember — and what did you challenge out?

the cart's answer
3 · Operations

What can happen to it? CRUD, then the domain actions.

the cart's answer
4 · Invariants

What must always hold? Each becomes a validation.

the cart's answer
5 · Examples

Before → operation → after. Normal cases first.

the cart's answer
6 · Edge cases

Empty, duplicate, zero, absent, last one.

the cart's answer
7 · Data structure

Which representation, and why — what does the frequent operation cost?

the cart's answer
8 · Pseudocode

One operation, in plain English then language-neutral steps.

the cart's answer
9 · Implementation

The operation in your language. Last, not first.

the cart's answer
10 · Tests

One per example — name the example each came from.

the cart's answer
11 · Persistence

Should it survive? Which level, and what does it cost?

the cart's answer
12 · API

What does the browser call? One endpoint per operation that leaves the client.

the cart's answer
13 · Frontend

What does the UI hold, and which copy is the truth?

the cart's answer
14 · Failure modes

Two writers, a stale source, a restart — and the decided response to each.

the cart's answer

Export

Plain text — paste it into your notebook, your PR, or the next conversation with whoever is reviewing you.

# my feature



## Meaning
(empty)

## State
(empty)

## Operations
(empty)

## Invariants
(empty)

## Examples
(empty)

## Edge cases
(empty)

## Data structure
(empty)

## Pseudocode
(empty)

## Implementation
(empty)

## Tests
(empty)

## Persistence
(empty)

## API
(empty)

## Frontend
(empty)

## Failure modes
(empty)
The principle
If you do not know how to build the thing, make the thing smaller until you reach something you do know how to build. If a field will not fill, go one primitive lower →