Plano de implementação de uma mudança
Transforma uma solicitação de funcionalidade e o código relevante em um plano ordenado com arquivos, riscos e testes.
Use quando: Antes de começar uma mudança que toca vários arquivos e você quer os passos e os riscos escritos primeiro.
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>Variáveis
{{request}}- A mudança que você quer, com suas próprias palavras.
{{code}}- Os arquivos ou funções que a mudança toca.
Entrada de exemplo
request: Add rate limiting to the login endpoint, 5 attempts per minute per IP.
code: the login route handler and the existing middleware file.Saída de exemplo
## 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...Ilustrativa: escrita para mostrar a forma esperada, não gerada por um modelo.