# Exercise Templates & Tracking ## Quick Start New Chat Protocol ```bash # 1. Start new chat /model opusplan # 2. Copy/paste CLAUDE.md contents # 3. Say: "Continuing Rust learning. Read CLAUDE.md, then check CURRENT_STATE.md and provide Exercise [X] from Milestone [Y]" ``` ## Exercise Template (for Claude) ```markdown ## Exercise: [Name] **Concepts practiced:** [Specific Rust concepts] **Objective:** [What to build] **Requirements:** - [Specific feature 1] - [Specific feature 2] **Success criteria:** [How to verify it works] **Stretch goal:** [Optional extension] **Expected time:** [30-60min / 1-2hrs] ``` ## Milestone 4: Chapter 7 (Modules) - CURRENT TARGET ### Exercise 1: Multi-Module Note-Taking CLI ⏳ **File:** `exercises/07-01-notes-cli/` **Status:** Not started **Concepts:** Module organization, pub/private boundaries **Estimated time:** 1-2 hours ### Exercise 2: Calculator Plugin System ⏳ **File:** `exercises/07-02-calc-plugins/` **Status:** Not started **Concepts:** Selective imports, pub visibility **Estimated time:** 1-2 hours ### Exercise 3: Wallet Module Structure ⏳ **File:** `exercises/07-03-wallet-modules/` **Status:** Not started **Concepts:** Real-world module organization (crypto domain) **Estimated time:** 1-2 hours **Crate:** ed25519_dalek ## Exercise Completion Process ### During Exercise 1. Create branch: `git checkout -b exercise/[milestone]-[number]-[name]` 2. Work in `exercises/[chapter]-[number]-[name]/` directory 3. Commit frequently with descriptive messages 4. Include `REFLECTION.md` with learning notes ### After Exercise 1. Code review in separate chat 2. Iterate based on feedback 3. Update CURRENT_STATE.md 4. Update PROGRESS.md 5. Merge to main when complete 6. Tag if milestone complete: `git tag v[milestone]-complete` ## Directory Structure ``` exercises/ ├── 07-01-notes-cli/ │ ├── src/ │ ├── Cargo.toml │ ├── README.md │ └── REFLECTION.md ├── 07-02-calc-plugins/ │ └── ... └── 07-03-wallet-modules/ └── ... ```