A tiny command-line notes tool, used as the practice repo for Unit 4, Lesson 5 (merge conflicts). This repo has two branches, feature-a and feature-b, that changed the same line in different ways. Merging them creates a conflict on purpose — your job is to have Claude resolve it so both changes survive.
node notes.js add <text>— add a notenode notes.js list— list all notesnode notes.js search <term>— list notes containing a termnode notes.js delete <id>— delete a note
Layout: notes.js is the entry point, lib/store.js loads, saves, and searches notes, lib/config.js holds settings, and tests/ holds the test suite (npm test).
- Make sure you have your own copy of this repo (created from the lesson on the platform).
- Clone it locally and open Claude Code in the folder.
Goal: merge two branches that touched the same line, and have Claude resolve the conflict so both changes survive — not just one.
- Check the branches are there. Run
git branch -a— you should seefeature-aandfeature-b. They came with your copy. - Start the merge. Get onto
feature-aand ask Claude: "Mergefeature-bintofeature-a." You'll hit a conflict — that's expected. - Have Claude resolve it. Ask: "Resolve the conflict, keeping what both branches were trying to do."
- Review the result. Does the merged line keep both changes — what
feature-adid and whatfeature-bdid — or did one side get dropped? A merge can build and run fine and still have quietly thrown away half the work. - Commit the merge and push
feature-a. - Open a pull request from
feature-aintomain. Ask Claude: "Open a pull request forfeature-aintomain." Then submit the pull request link.