| name | refactor-plan |
| description | Plan a multi-file refactor with proper sequencing and rollback steps |
Refactor Plan
Create a detailed plan for this refactoring task.
Refactor Goal
{{refactor_description}}
Instructions
- Search the codebase to understand current state
- Identify all affected files and their dependencies
- Plan changes in a safe sequence (types first, then implementations, then tests)
- Include verification steps between changes
- Consider rollback if something fails
Output Format
## Refactor Plan: [title]
### Current State
[Brief description of how things work now]
### Target State
[Brief description of how things will work after]
### Affected Files
| File | Change Type | Dependencies |
|------|-------------|--------------|
| path | modify/create/delete | blocks X, blocked by Y |
### Execution Plan
#### Phase 1: Types and Interfaces
- [ ] Step 1.1: [action] in `file.ts`
- [ ] Verify: [how to check it worked]
#### Phase 2: Implementation
- [ ] Step 2.1: [action] in `file.ts`
- [ ] Verify: [how to check]
#### Phase 3: Tests
- [ ] Step 3.1: Update tests in `file.test.ts`
- [ ] Verify: Run `npm test`
#### Phase 4: Cleanup
- [ ] Remove deprecated code
- [ ] Update documentation
### Rollback Plan
If something fails:
1. [Step to undo]
2. [Step to undo]
### Risks
- [Potential issue and mitigation]
Shall I proceed with Phase 1?
Project Overrides: fluent-repo-4j
When planning refactors in this repository:
- Keep refactors behavior-preserving and incremental.
- Include explicit guardrails in the plan:
- no local
var
- keep Helper vs Util naming/package conventions
- preserve Spring Data SPI and JDBC boundaries
- avoid reflection unless explicitly justified
- Add a verification step after each phase:
./mvnw spotless:apply
./mvnw clean test
- For persistence-related refactors, ensure plan includes checks for ID generation behavior and exception semantics.