/ rebase-prompt.md
rebase-prompt.md
 1  # Task: Build Clean Course Commit History
 2  
 3  You need to build a clean git branch called `course-commits` that contains one commit per lesson checkpoint for a course. The mapping of lessons to commits and the execution plan are documented in two files in this repo:
 4  
 5  - `commit-mapping.md` — maps each course lesson to its source commit(s)
 6  - `rebase-plan.md` — describes the build-from-scratch approach and methods for each commit type
 7  
 8  Read both files thoroughly before starting.
 9  
10  ## What You're Doing
11  
12  You're creating a new branch `course-commits` from `main` with exactly 38 clean commits. Each commit is named `XX.YY.ZZ: Title` corresponding to a lesson in the course. The source commits come from the `live-run-through` branch in this repo, plus 2 commits from a fork at `~/repos/ai/cohort-003-project-fork`.
13  
14  ## Rules
15  
16  1. **Never modify `main` or `live-run-through`**. You're only creating a new branch.
17  2. **Follow the commit-mapping.md exactly** for which commits map to which lessons.
18  3. **Follow the rebase-plan.md exactly** for the method (direct, squash, split, fold, fork) for each commit.
19  4. **Commit messages** must follow the format `XX.YY.ZZ: Title`. You may add a short description body if the original commit had one.
20  5. Work through the 38 commits sequentially — don't skip ahead.
21  6. If a cherry-pick has a conflict, resolve it sensibly and tell me what you did.
22  7. After all 38 commits are created, verify by:
23     - Running `git log --oneline course-commits` to confirm all 38 commits exist with correct names
24     - Running `git diff course-commits live-run-through` to compare the final state against the original (differences are expected for fork commits and any reordering of the CLAUDE.md removal)
25     - Running `pnpm type-check` and `pnpm test` on the final state to make sure nothing is broken
26  
27  ## Setup
28  
29  ```bash
30  git remote add fork ~/repos/ai/cohort-003-project-fork
31  git fetch fork
32  git checkout -b course-commits main
33  ```
34  
35  Then start building commits from #1 (`03.04.01`) through #38 (`08.10.01`).