Skip to content

Commit 63067e1

Browse files
committed
feat: update plan
1 parent be7a94c commit 63067e1

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

.amazonq/plan/cookiecutter-template-plan.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,4 +200,17 @@
200200
- **Multi-problem testing** ensures template generalization
201201
- **Explicit file comparison** documents exact requirements
202202

203+
## Critical Rule: Reference Directory Protection
204+
205+
**NEVER modify these reference directories:**
206+
207+
- `.templates/leetcode/.example/` - Template reference examples
208+
- `leetcode/.example/` - Generated file reference examples
209+
210+
**ONLY modify the actual template directory:**
211+
212+
- `.templates/leetcode/{{cookiecutter.question_name}}/` - The actual cookiecutter template
213+
214+
**Workflow**: Modify template → Generate (`make q-gen`) → Compare vs reference (`make q-validate`)
215+
203216
This plan ensures the template generates files that exactly match `leetcode/.example/` while maintaining the robust generation process described in the rules.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Template Modification Rules
2+
3+
## Critical: Do NOT Modify Reference Directories
4+
5+
**NEVER modify these reference directories:**
6+
7+
- `.templates/leetcode/.example/` - Template reference examples
8+
- `leetcode/.example/` - Generated file reference examples
9+
10+
These are reference implementations that show what the final generated files should look like.
11+
12+
## Only Modify Template Source
13+
14+
**ONLY modify the actual template directory:**
15+
16+
- `.templates/leetcode/{{cookiecutter.question_name}}/` - The actual cookiecutter template
17+
18+
## Workflow
19+
20+
1. **Modify**: Only `.templates/leetcode/{{cookiecutter.question_name}}/` files
21+
2. **Generate**: `make q-gen QUESTION=name` → creates files in `leetcode/name/`
22+
3. **Compare**: Generated `leetcode/name/` vs reference `leetcode/.example/name/`
23+
4. **Validate**: `make q-validate QUESTION=name`
24+
25+
## Template Structure
26+
27+
```
28+
.templates/leetcode/
29+
├── {{cookiecutter.question_name}}/ ← MODIFY THESE FILES
30+
│ ├── __init__.py
31+
│ ├── solution.py
32+
│ ├── tests.py
33+
│ ├── README.md
34+
│ └── playground.ipynb
35+
├── cookiecutter.json ← MODIFY THIS CONFIG
36+
└── gen.py ← MODIFY IF NEEDED
37+
```
38+
39+
## Reference Structure (DO NOT MODIFY)
40+
41+
```
42+
.templates/leetcode/.example/ ← DO NOT MODIFY
43+
leetcode/.example/ ← DO NOT MODIFY
44+
```
45+
46+
This ensures template changes are properly tested against stable reference implementations.

0 commit comments

Comments
 (0)