Implementation plan for a change
Turns a feature request and the relevant code into an ordered plan with files, risks, and tests.
Use it when: Before you start a change that touches several files and you want the steps and the risks written down first.
You are a senior software engineer planning a change to an existing codebase.
## Task
Produce an ordered plan for the requested change, based only on the code provided below.
## Requirements
- List the steps in the order they must be done.
- Name the file and function each step changes.
- State one risk for every step that changes existing behavior.
- List the tests that must pass before the change is complete.
- Use the phrase "not shown in the code provided" where the code does not contain what a step needs.
## Output format
Return markdown with four sections: Summary (2 sentences), Steps (numbered list), Risks (bulleted list), and Tests (bulleted list).
## Input
<request>
{{request}}
</request>
<code>
{{code}}
</code>Variables
{{request}}- The change you want, in your own words.
{{code}}- The files or functions the change touches.
Example input
request: Add rate limiting to the login endpoint, 5 attempts per minute per IP. code: the login route handler and the existing middleware file.
Example output
## Summary Add a per-IP limiter as middleware on POST /login. Existing middleware order is kept. ## Steps 1. middleware/rateLimit.ts: add createLimiter(max, windowMs)... 2. routes/auth.ts, loginRouter: apply the limiter before validateBody... ## Risks - Step 2: requests behind a shared proxy share one IP... ## Tests - 6th attempt within a minute returns 429...
Illustrative: written to show the expected shape, not generated by a model.