You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/04-working-with-issues.md
+52-52Lines changed: 52 additions & 52 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,12 +31,12 @@ Chapter 4 is the first **issue-based challenge chapter** with short, confidence-
31
31
### Chapter 4 Challenge Set
32
32
33
33
1.**Create your first issue** - file a new issue with a clear title and description.
34
-
2.**Claim a challenge issue** - comment on an existing beginner issue to claim it.
35
-
3.**Ask one clarifying question** - add a question comment on your claimed issue.
34
+
2.**Comment and @mention** - leave a comment on a classmate's issue and tag them with an @mention.
35
+
3.**Add a sub-issue** - break a larger issue into smaller, trackable pieces.
36
36
37
37
> **Branch guidance for Chapter 4:** Chapter 4 focuses on issue skills. You do NOT need to create a branch or edit any files for these challenges. All your work happens in GitHub issue threads. File editing and branches start in Chapter 5.
38
38
>
39
-
> **How completion works:** When you finish all three challenges, post a comment on your assigned Chapter 4 challenge issue with links to the issues you created, claimed, and commented on. The facilitator reviews your issue activity directly. No pull request is required for Chapter 4.
39
+
> **How completion works:** When you finish all three challenges, post a comment on your assigned Chapter 4 challenge issue with links to the issues you created, commented on, and organized. The facilitator reviews your issue activity directly. No pull request is required for Chapter 4.
40
40
41
41
### Challenge 4.1 Step-by-Step: Create Your First Issue
42
42
@@ -61,46 +61,45 @@ Chapter 4 is the first **issue-based challenge chapter** with short, confidence-
61
61
62
62
**You are done when:** Your new issue appears in the Issues list with your username as the author, a clear title, and a detailed description.
63
63
64
-
### Challenge 4.2 Step-by-Step: Claim a Challenge Issue
64
+
### Challenge 4.2 Step-by-Step: Comment and @Mention
65
65
66
-
**Goal:**Find an existing beginner challenge issue and claim it by leaving a comment.
66
+
**Goal:**Leave a comment on another student's issue and use an @mention to notify them.
67
67
68
68
**Where you are working:** the Issues tab of the `learning-room` repository on GitHub.com.
69
69
70
-
1. Open the Issues tab in the `learning-room` repository.
71
-
2. Use the search filter to find beginner issues. Type in the filter bar:
72
-
```text
73
-
is:open label:"challenge: beginner"
74
-
```
75
-
3. Browse the results and pick one issue that interests you.
76
-
4. Open the issue by activating its title link.
77
-
5. Read the issue description to understand what needs to be done.
78
-
6. Scroll to the comment box at the bottom of the issue.
79
-
7. Type: `I'd like to try this!`
80
-
8. Activate the **Comment** button (or press `Ctrl+Enter`).
81
-
9. Note the issue number (for example, `#42`). This is the issue you will fix in Chapter 5.
82
-
83
-
**You are done when:** Your comment appears in the issue thread, and other participants can see you have claimed the work.
84
-
85
-
### Challenge 4.3 Step-by-Step: Ask One Clarifying Question
86
-
87
-
**Goal:** Practice asking a useful question before starting implementation work.
88
-
89
-
**Where you are working:** the issue you claimed in Challenge 4.2.
90
-
91
-
1. Open the issue you claimed in Challenge 4.2.
92
-
2. Re-read the issue description carefully. Think about:
93
-
- Is anything unclear about what needs to change?
94
-
- Do you know which file to edit?
95
-
- Do you understand the expected result?
96
-
3. Scroll to the comment box.
97
-
4. Write one specific question. Examples:
98
-
- "Should I add the paragraph after the existing heading or create a new subsection?"
99
-
- "The issue mentions a broken link. Is the correct URL documented somewhere else in the repo?"
100
-
- "Should the shortcut table keep the same column order, or can I reorganize it?"
101
-
5. Activate the **Comment** button.
102
-
103
-
**You are done when:** Your question comment appears in the issue thread. A facilitator or peer will respond.
70
+
1. Open the **Issues** tab in the `learning-room` repository.
71
+
2. Find an issue created by a classmate (look for issues from Challenge 4.1, or browse recent open issues).
72
+
3. Open the issue by activating its title link.
73
+
4. Read the issue description to understand what they reported.
74
+
5. Scroll to the comment box at the bottom of the issue.
75
+
6. Write a helpful comment that **@mentions the issue author by username**. Examples:
76
+
- "@classmate I can confirm this - the link in setup-guide.md goes to a 404 page."
77
+
- "@classmate Good catch! I think the correct shortcut is Insert+F7, not Insert+F5."
78
+
- "@classmate I'd suggest adding the paragraph right after the 'Who Can Contribute' heading."
79
+
7. Activate the **Comment** button (or press `Ctrl+Enter`).
80
+
81
+
**Why @mentions matter:** When you type `@username`, GitHub sends that person a notification. This is how real open source teams communicate - you signal who needs to see your message. It also bridges into Chapter 9 (Notifications) where you will configure how you receive these alerts.
82
+
83
+
**You are done when:** Your comment appears in the thread and includes an @mention (the username renders as a clickable link).
84
+
85
+
### Challenge 4.3 Step-by-Step: Add a Sub-Issue
86
+
87
+
**Goal:** Break a larger issue into smaller, trackable pieces using GitHub's sub-issue feature.
88
+
89
+
**Where you are working:** the issue you created in Challenge 4.1 (or any open issue you have permission to edit).
90
+
91
+
> **What are sub-issues?** Sub-issues let you decompose a big task into smaller steps, each tracked independently. The parent issue shows a progress bar as sub-issues are completed. This is how teams organize real work - a single "Fix accessibility in welcome.md" issue might have sub-issues for each specific fix.
92
+
93
+
1. Open the issue you created in Challenge 4.1.
94
+
2. Look for the **Sub-issues** section in the issue sidebar (right side on desktop). If you do not see it, look for an **Add sub-issue** button or the **Create sub-issue** option below the issue description.
95
+
3. Activate **Add sub-issue** and choose **Create new sub-issue**.
96
+
4. Give the sub-issue a clear title that describes one specific piece of the parent issue. For example, if the parent is "Fix accessibility in welcome.md":
97
+
- Sub-issue: "Add alt text to welcome banner image"
98
+
- Sub-issue: "Fix heading hierarchy in Getting Started section"
99
+
5. Add a short description and activate **Create**.
100
+
6. The sub-issue now appears nested under the parent issue with a progress indicator.
101
+
102
+
**You are done when:** Your parent issue shows at least one sub-issue in the Sub-issues section.
104
103
105
104
### Completing Chapter 4: Submit Your Evidence
106
105
@@ -109,35 +108,36 @@ When you have finished all three challenges, go to your **assigned Chapter 4 cha
- Challenge 4.3: Asked question on issue #[number]
111
+
- Challenge 4.2: Commented with @mention on issue #[number]
112
+
- Challenge 4.3: Added sub-issue to issue #[number]
114
113
```
115
114
116
-
Replace `[number]` with the actual issue numbers. The facilitator will review your issue activity and mark the challenge complete.
115
+
Replace `[number]` with the actual issue numbers. Then close your Chapter 4 challenge issues. The facilitator will review your issue activity.
117
116
118
117
### Expected Outcomes
119
118
120
119
- Student can create an issue with a clear title and description.
121
-
- Student can claim a challenge issue in a public thread.
122
-
- Student can ask a useful question before starting implementation.
120
+
- Student can communicate in issue threads using @mentions.
121
+
- Student can organize work by breaking issues into sub-issues.
123
122
124
123
### If You Get Stuck
125
124
126
-
1.Re-open `learning-room/docs/CHALLENGES.md` and pick one beginner issue.
127
-
2.Use the issue search filter: `is:open label:"challenge: beginner"`.
128
-
3.If claim/comment fails, refresh and retry once.
129
-
4. Ask facilitator for a direct issue link and continue.
125
+
1.Can't find a classmate's issue? Filter the Issues tab by `is:open` and look for recent ones.
126
+
2.@mention not working? Make sure you type `@` immediately followed by the username with no space.
127
+
3.Sub-issue option not visible? Ask a facilitator - the feature may need to be enabled for the repository.
128
+
4.Still stuck? Ask a facilitator for a direct issue link.
130
129
131
130
### Learning Moment
132
131
133
-
Issues are not just task lists. They are collaborative spaces where clear communication reduces confusion and prevents rework.
132
+
Issues are collaborative spaces, not just task lists. An @mention tells someone "I need your attention here." Sub-issues turn vague tasks into clear checklists. Both skills are used daily in real open source projects.
134
133
135
134
### Learning Pattern Used in This Chapter
136
135
137
136
1. Start with a small, safe action (create an issue).
138
-
2. Practice communication in public issue threads (claim and question).
139
-
3. Leave clear evidence in the issue timeline.
140
-
4. Build momentum for file editing and PR work in Chapter 5.
137
+
2. Practice communication in public issue threads (@mention a peer).
138
+
3. Organize work into smaller pieces (sub-issues).
139
+
4. Leave clear evidence in the issue timeline.
140
+
5. Build momentum for file editing and PR work in Chapter 5.
Copy file name to clipboardExpand all lines: docs/05-working-with-pull-requests.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ Chapter 5 is the first **PR-validated chapter** where students convert issue wor
30
30
31
31
### Chapter 5 Challenge Set
32
32
33
-
1.**Create one small branch change** - edit the file specified in your claimed issue.
33
+
1.**Create one small branch change** - edit a practice file on a new branch.
34
34
2.**Open a linked PR** - use the PR template and include `Closes #XX`.
35
35
3.**Pass required checks** - respond to bot feedback until all required checks pass.
36
36
@@ -43,11 +43,13 @@ Chapter 5 is the first **PR-validated chapter** where students convert issue wor
43
43
44
44
### Challenge 5.1 Step-by-Step: Create One Small Branch Change
45
45
46
-
**Goal:** Edit the file referenced in the issue you claimed in Chapter 4 (Challenge 4.2).
46
+
**Goal:** Edit one of the practice files and save your change on a new branch.
47
47
48
48
**Where you are working:** the `learning-room` repository on GitHub.com, using the web editor.
49
49
50
-
**Before you start:** Open the issue you claimed in Chapter 4.2 and note which file needs editing. The issue description tells you the file path and what to fix. The practice files are:
50
+
**Before you start:** Open your **assigned Chapter 5.1 challenge issue** (the one titled "Chapter 5.1: Create One Small Branch Change (@yourname)"). The issue description tells you which file to edit and what to fix.
51
+
52
+
The Learning Room has three practice files with intentional problems. Your assigned issue points you to one of them:
51
53
52
54
The following table summarizes the practice files in the learning-room, what each file contains, and the type of issues to look for.
53
55
@@ -90,8 +92,7 @@ The following table summarizes the practice files in the learning-room, what eac
90
92
- "Correct NVDA modifier key in keyboard-shortcuts.md"
91
93
2. In the **Body** field, use the PR template if one is provided. Make sure to include:
92
94
- A summary of what you changed and why (at least 50 characters).
93
-
- The line `Closes #XX` where `XX` is the number of your **assigned Chapter 5 challenge issue** (not the issue you claimed in Chapter 4, unless they are the same).
94
-
- If you are also closing the issue you claimed in Chapter 4, add that reference too: `Also addresses #YY`.
95
+
- The line `Closes #XX` where `XX` is the number of your **assigned Chapter 5 challenge issue**.
95
96
3. Verify the **base branch** is `main` and the **compare branch** is your `fix/yourname-issueXX` branch.
96
97
4. Activate the **Create pull request** button.
97
98
@@ -194,7 +195,7 @@ The GitHub CLI walks you through title, body, base branch, and reviewers.
194
195
195
196
**What happens next is identical:** the Learning Room bot validates your PR, posts feedback, and you request a human reviewer - the same as the web workflow.
196
197
197
-
> **Tip:** You can also use your `username-practice` branch instead of creating a feature branch. Switch to it with `git checkout username-practice` (replacing `username` with your GitHub username, all lowercase).
198
+
> **Tip:** You can also create a named feature branchwith `git checkout -b fix/yourname-issueXX` if you prefer that naming convention over the practice branch.
Copy file name to clipboardExpand all lines: docs/06-merge-conflicts.md
+60-18Lines changed: 60 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,39 +14,81 @@ Chapter 6 uses **one controlled practice challenge** so students can learn confl
14
14
-**Challenge count:** 1
15
15
-**Time:** under 10 minutes
16
16
-**Evidence:** issue-linked PR and completion comment
17
-
-**Pattern:** observe -> resolve -> verify
17
+
-**Pattern:** observe, resolve, verify
18
18
19
-
### Chapter 6 Challenge: Resolve Conflict Markers
19
+
### Chapter 6 Challenge Set
20
+
21
+
1.**Resolve conflict markers** - identify and clean up conflict markers in a practice file, then open a linked PR.
22
+
23
+
> **Branch guidance for Chapter 6:** Use a short-lived feature branch: `fix/yourname-issueXX` (for example, `fix/maria-issue48`). The same pattern you used in Chapter 5.
**Goal:** Identify the three types of conflict markers in a practice file, decide which content to keep, remove the markers, and submit a clean PR.
28
+
29
+
**Where you are working:** the `learning-room` repository on GitHub.com (web editor) or in VS Code if you cloned locally.
30
+
31
+
**Before you start:** Open your **assigned Chapter 6 challenge issue** (the one titled "Chapter 6.1: Resolve Conflict Markers (@yourname)"). The issue description tells you which practice file contains the conflict markers.
20
32
21
33
Practice sample: [`learning-room/docs/samples/chapter-6-conflict-practice-sample.md`](../learning-room/docs/samples/chapter-6-conflict-practice-sample.md)
22
34
23
-
1. Open the assigned merge-conflict practice issue.
24
-
2. Edit only the designated practice file/section.
25
-
3. Remove conflict markers (`<<<<<<<`, `=======`, `>>>>>>>`) and keep the intended final content.
26
-
4. Open PR with `Closes #XX` and complete with a short issue comment summary.
35
+
1. Open the practice file specified in your challenge issue.
36
+
2. Search the file for `<<<<<<<`. This is the **start marker** - it shows where the conflict begins.
37
+
3. Read the content between `<<<<<<<` and `=======`. This is **your version** (the current branch).
38
+
4. Read the content between `=======` and `>>>>>>>`. This is **their version** (the incoming branch).
39
+
5. Decide which content to keep:
40
+
- Keep only your version, or
41
+
- Keep only their version, or
42
+
- Combine both versions into one clean paragraph.
43
+
6. Delete all three marker lines:
44
+
- The `<<<<<<< HEAD` line (or similar)
45
+
- The `=======` separator line
46
+
- The `>>>>>>> branch-name` line
47
+
7. Review the file to confirm no marker lines remain. Search for `<<<<<<<` again - there should be zero results.
48
+
8. Commit your changes on a branch named `fix/yourname-issueXX`.
49
+
9. Open a pull request with:
50
+
- Title: `fix: resolve conflict markers in [filename]`
51
+
- Body: Include `Closes #XX` (your challenge issue number) and a 1-2 sentence description of which content you kept and why.
52
+
53
+
**Screen reader tip:** Use your screen reader's find command (`Ctrl+F` in browser, `Ctrl+H` in VS Code) to jump directly to `<<<<<<<`. The markers are plain text, so they are fully readable.
54
+
55
+
**You are done when:** Your PR passes bot validation checks and contains no remaining conflict markers.
56
+
57
+
### Completing Chapter 6: Submit Your Evidence
58
+
59
+
When your PR is open and passing checks, post a comment on your assigned Chapter 6 challenge issue:
60
+
61
+
```text
62
+
Chapter 6 completed:
63
+
- Challenge 6.1: Opened PR #[number] resolving conflict markers in [filename]
64
+
- Content decision: kept [your version / their version / combined both] because [reason]
65
+
```
27
66
28
67
### Expected Outcomes
29
68
30
-
- Student can identify conflict markers immediately.
31
-
- Student can remove markers and keep intended content.
32
-
- Student can submit a clean, issue-linked PR after resolution.
69
+
- Student can identify the three conflict marker lines (`<<<<<<<`, `=======`, `>>>>>>>`) immediately.
70
+
- Student can read both sides of a conflict and make an intentional content decision.
71
+
- Student can remove all markers and submit a clean, issue-linked PR.
33
72
34
73
### If You Get Stuck
35
74
36
-
1. Pause and read marker blocks line by line before editing.
37
-
2. Keep one side, or combine both sides when both lines are valid.
38
-
3. Delete all marker lines (`<<<<<<<`, `=======`, `>>>>>>>`).
39
-
4. Ask facilitator to sanity-check final content before opening PR.
75
+
1. Can't find the markers? Use `Ctrl+F` and search for `<<<<<<<` - they are always in sets of three.
76
+
2. Not sure which side to keep? Read both versions aloud. Pick the one that is clearer, or combine them.
77
+
3. Accidentally deleted too much? Undo with `Ctrl+Z` and start the section over.
78
+
4. PR bot says content is wrong? Double-check that zero marker lines remain - search for `<<<<<<<`, `=======`, and `>>>>>>>`.
79
+
5. Ask facilitator to sanity-check your final content before opening the PR.
40
80
41
81
### Learning Moment
42
82
43
-
Merge conflicts are not failures. They are a normal collaboration checkpoint and a chance to make an intentional content decision.
83
+
Merge conflicts are not failures. They are a normal collaboration checkpoint and a chance to make an intentional content decision. In real open source projects, conflicts happen whenever two people edit near the same lines. The skill is not avoiding them - it is resolving them calmly and clearly.
44
84
45
-
### Why this chapter is structured this way
85
+
### Learning Pattern Used in This Chapter
46
86
47
-
- Real conflicts can be unpredictable for new contributors.
48
-
- Controlled practice keeps the experience safe and repeatable.
49
-
- Students still get real issue and PR workflow practice.
87
+
1. Start with a controlled, safe conflict (practice file with known markers).
88
+
2. Learn to read the conflict structure (your version vs. their version).
89
+
3. Make a deliberate content decision (not just deleting randomly).
90
+
4. Submit clean evidence through the PR workflow.
91
+
5. Build confidence for real conflicts in future contributions.
50
92
51
93
52
94
## Local Git Alternative: Resolving Conflicts from Your Terminal
0 commit comments