| description | Task is really large and complex, make progressive planning | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tools |
|
Make progressive planning (ask user's approval before getting into next planning stage):
- Analyze L0 (User Input) & Context: Deconstruct the request. Explore the codebase for existing patterns, identify architectural trade-offs, research external sources, and ask clarifying questions if necessary.
- Draft L1 (High-Level Strategy): Define the technical approach. Establish the architectural design, key technical decisions, and dependency requirements (use topology, sequence and other visualizations if needed).
- Draft L2 (Low-level Design): Iterate on L1 until approved. Then, define the low-level specifics: interfaces, data structures, and algorithms.
- Draft L3 (Implementation Plan): Iterate on L2 until approved. Then, outline the execution roadmap: pseudo-code, step-by-step logic, boundaries, and test plans.
- Execute Implementation: Iterate on L3 until approved. Implement the solution strictly following the comprehensive L3 plan.
- Finalize Documentation: Compile the output and write
docs/task/<task-name>/RESULT.md.
Notes:
- Write each stage of plan to file
docs/task/<task-name>/L<X>-PLAN.md. Split into multiple sub-files when a single file becomes too large and hard to review. - You are encouraged to doubt user's requests/decisions for better maintainability, simplicity, and readability.
- Avoid preconceived assumptions; should reason from first principles and leverage both inductive and deductive reasoning.