Level 0: The Messy Desk
The Grumpy Gopher
"I do not like this GitHub thing!
It is for Coders! Not for Kings!
I write the Laws! I draw the Art!
I do not know where I should start."
The Git-Goat says: "It is not just for code, my friend! It helps the writer reach the end! Just type your Name to start the flow."
Level 1: The Suggestion Box
"You have a name! You are a pro!
Now it's time to help us grow!
In our Issues, there's a special one—
Not Issue #1, but one that's fun!
Search for 'Suggestion' in the Issues queue.
Find it! Read it! Comment with a view!"
Your Mission:
- Go to the repository on GitHub.
- Click the Issues tab.
- Search for "Suggestion Box" in the issues (you'll need to search—no direct link!).
- Read the issue and understand what it's about.
- Leave a thoughtful comment (e.g., "Great idea!" or "How can I help?").
- Click the button below once you've posted.
💡 Tip: Learning to search a repository is a superpower! This is how real developers find information.
Need a hint?
On the GitHub Issues page, there's a search box at the top left. Type "Suggestion Box" to find it. If you just posted a comment, wait 30-60 seconds and try again—GitHub is indexing!
Level 2: You're a Creator!
"You've read the box, you've left your voice,
Now comes the time to make a choice!
Create an issue of your own—
Show what ideas you have sown!
You're not just reading anymore,
You're a creator, through the door!"
Your Mission:
- Go to the Issues tab again.
- Click the New Issue button.
- Title it: "The Anchor is Tight" (or include those words).
- Write a brief description of the "problem" (any message is fine!).
- Submit the issue.
- Add a follow-up comment explaining what you expect next.
- Close the issue with a short closing comment (what changed or why you're closing).
- Click the button below once it's closed.
Need a hint?
Just like Level 1, GitHub's search can take 30-60 seconds. If it doesn't find your issue right away, wait and try again! Be sure the issue is closed and includes your follow-up comment.
Level 3: The Title Edit
"Now that your issue is created and done,
Can you improve it? Oh what fun!
Edit the title! Make it shine!
Add a version, make it fine!
'Twas written fast, but now, you see,
You can perfect it—one, two, three!"
Your Mission:
- Find your closed issue with "Anchor" or "Tight" in the title.
- Click the pencil icon to edit the title.
- Add "(v2)" to the end, or change something to improve it.
- Click "Update" to save the change.
- Click the button below.
Need a hint?
Go to your issue. At the top right of the title, you'll see a pencil icon. Click it to edit. Make any change—add "(v2)", fix a typo, anything! The important part is that you've updated it.
Level 4: The Body Edit
"The title is polished! Splendid and bright!
But what of the body? The description? Not quite!
Edit that too! Add more detail!
Make your issue tell the full tale!
Iteration is learning—you'll see, you'll see,
Every edit makes it better, more clear to me!"
Your Mission:
- Go back to your issue.
- Click the pencil icon on the description body (below the title).
- Add more details, or reword what you wrote before.
- Click "Update" to save.
- Click the button below.
Need a hint?
The description is the main text of the issue (below the title). Look for the pencil icon next to it. Edit it the same way you edited the title—make any improvement!
Level 5: The Comment Tweak
"You've edited the issue, top and bottom!
But what of the comments? Don't you forget 'em!
Edit your comments too, oh friend!
Fix a typo, or add to the end!
Comments can change—you'll learn, you'll grow,
And that's what makes a project flow!"
Your Mission:
- Scroll to one of your comments on the issue.
- Click the three dots (⋯) next to your comment.
- Click Edit.
- Make a small change (fix a typo, add a word, anything!).
- Click "Update comment".
- Click the button below.
Need a hint?
Find one of your comments (yours will have your username). Hover over it to see the three dots (⋯) menu. Click it and select "Edit". Change the text slightly and update!
Level 6: The Reopening
"The issue is closed—or so you thought!
But wait! You have a new question to wrought!
Reopen it now! Add a clarification!
Then close it again with a new explanation!
This is how real projects dance and flow,
Back and forth, as we learn and grow!"
Your Mission:
- On your closed issue, click the Reopen issue button (top right).
- Add a new comment explaining why you reopened it (e.g., "Wait, I have more to add!").
- Then Close the issue again with a final comment.
- Click the button below.
Need a hint?
At the bottom of your issue, you'll see the "Close issue" button. Click it to see options. There's a "Reopen issue" button. Click that, add a comment, then close it again!
Level 7: The Label
"A label, a label, a wonderful tag!
Organizes the issues—no more to drag!
'Bug' or 'Feature' or 'Help Wanted' true,
Every label tells what to do!
Add one now! Help others see,
What kind of issue this one will be!"
Your Mission:
- On your issue, look for the Labels section (usually right sidebar).
- Click the gear icon or "Add labels".
- Choose any label (e.g., "bug", "feature", "documentation", or create a custom one).
- Click outside to confirm.
- Click the button below.
Need a hint?
Labels are on the right side of the issue (or sometimes a gear icon). Click to add one. If there are no predefined labels, you can type to create a new one!
Level 8: Taking Ownership
"Who will fix this? Who will work?
Will you step up? Will you shirk?
Assign the issue to yourself!
Show you're taking it on—no one else!
This is what ownership looks like,
You're a contributor! You're the hike!"
Your Mission:
- On your issue, find the Assignees section (right sidebar).
- Click it and select yourself (your username).
- Click outside to confirm.
- Click the button below.
Need a hint?
The "Assignees" section is usually on the right side of the issue. Click it, type your username, and select yourself. You're now "assigned" to this issue!
Level 9: The Wise GNU
The Wise GNU
"I am the GNU. I know the Law.
You wrote a Book. You made a Map.
But is it free? Or is it trapped?
If people use the work you make,
Which are the rights that they can take?
You need a License! Pick one now!"
Your Mission:
- If you do not already have a fork, click Fork on the repo first (link below). You need write access to add files.
- In your fork, click Add file → Create new file.
- Name it: LICENSE
- Choose a license (MIT is simple and popular—help here).
- Paste the license text and commit the file.
- Click the button below.
What is a License?
A License tells people how they can use your work. MIT is free and simple. If you want a strong copyleft, start with GPL (or AGPL for networked apps). Creative Commons is great for writing and art.
Level 10: The Proposal Train
"The Train is here! The whistle blows!
It carries Words and Art and Prose!
You want to change the Final Draft.
But changing originals is daft!
Make a Copy (Fork) instead.
Change the words. Then send the Proposal!
Then we satisfy the creative urge!"
Your Mission (The Final Boss):
- Fork the main repository (if you haven't already).
- In your fork, edit the file menu.txt.
- On line 2, add: Green Eggs
- Commit your changes.
- Create a Pull Request (PR) back to the main repo.
- Click the button below.
What is a Pull Request?
A Pull Request is a polite way to say: "I have an idea for a change. Would you like to use it?" The owner can review it and decide.
Level 11: The Fork in the Road
"To make your own changes, you'll need your own space,
A fork is a copy—your own coding place!
Click Fork on the repo, it's simple and quick,
Now you have your own version to edit and pick!"
Your Mission:
- Go to the CivicActions/git-goat-gazette repository
- Click the "Fork" button in the top-right corner
- Wait for GitHub to create your fork
- You'll be redirected to your fork (it will show "forked from...")
- Click the button below to verify
Need a hint?
The Fork button is at the top-right of the repository page, next to Star and Watch. After clicking, GitHub creates a copy under your account (username/git-goat-gazette). If you already forked it, that's perfect!
Level 12: The Web Editor's Delight
"Now in YOUR fork, make a change right away,
No terminal needed—use the web's easy way!
Click on a file, then the pencil you'll see,
Edit it there, as simple as can be!"
Your Mission:
- Go to your fork (github.com/YOUR-USERNAME/git-goat-gazette)
- Click on the README.md file
- Click the pencil icon (✏️) to edit
- Add a line: "Edited by [your-name]!"
- Scroll down and click "Commit changes"
- Click the button below to verify
Need a hint?
Make sure you're in YOUR fork (the URL should be github.com/YOUR-USERNAME/git-goat-gazette). The pencil icon is at the top-right of the file view, next to the "Raw" and "Blame" buttons.
Level 13: The Branch of Possibility
"Branches let you work on features anew,
Without changing main—it's quite clever, it's true!
Create a branch, give it a name that's just right,
Then make your changes—keep main out of sight!"
Your Mission (Optional):
- In your fork, click the branch dropdown (shows "main" or "master")
- Type a new branch name: "my-updates" or "add-features"
- Click "Create branch: ..."
- You're now on your new branch!
- Click the button below to verify (or skip)
Need a hint?
The branch selector is near the top-left of the repo page. Click it, type a name (like "my-edits"), and GitHub will offer to create the branch. Branch names often use hyphens (my-branch) or slashes (feature/my-feature).
Level 14: The Commit Message
"A commit saves your work with a message so clear,
Tell future you what you changed—make it sincere!
'Fix typo' or 'Add feature'—keep it concise,
Good commit messages are really quite nice!"
Your Mission:
- In your fork, edit another file (or create a new one)
- When committing, write a clear message
- Good: "Add contributor badge to README"
- Bad: "update" or "fix"
- Commit the change
- Click the button below to verify
Commit Message Templates:
- "Add [feature/file/section]"
- "Fix [typo/bug/issue] in [file]"
- "Update [file] with [change]"
- "Remove [outdated/unused] [thing]"
Need a hint?
Edit any file in your fork (README.md is easiest), scroll to the commit form at the bottom, write a descriptive message (3-7 words), and click "Commit changes". We'll check if you have at least 2 commits in your fork!
Level 15: The Pull Request Proposal
"Now propose your changes back to the source,
A Pull Request says 'Please merge this, of course!'
Open a PR, explain what you've done,
Collaboration and sharing—it's really quite fun!"
Your Mission:
- Go to YOUR fork on GitHub
- Click "Contribute" → "Open pull request" (or "Compare & pull request")
- Make sure base is CivicActions/git-goat-gazette and head is YOUR fork
- Write a title: "Add my updates" or similar
- Write a description explaining your changes
- Click "Create pull request"
- Click the button below to verify
Need a hint?
After making commits in your fork, GitHub often shows a yellow banner "Compare & pull request". Click it! Or go to Pull Requests tab → New pull request → compare across forks. Select base: CivicActions/git-goat-gazette, head: YOUR-USERNAME/git-goat-gazette.
Level 16: The PR Conversation
"PRs aren't silent—they're places to chat,
Leave comments, ask questions, discuss this and that!
Add a comment to YOUR PR right now,
Show you know how to collaborate—wow!"
Your Mission:
- Go to the PR you just opened
- Scroll to the comment box at the bottom
- Add a comment (e.g., "Ready for review!" or "Let me know if changes needed")
- Click "Comment"
- Click the button below to verify
PR Comment Ideas:
- "Ready for review! Let me know if you need anything."
- "I've updated the README as discussed."
- "Happy to make changes if needed!"
- "This is my first PR—feedback welcome!"
Need a hint?
Find YOUR pull request at github.com/CivicActions/git-goat-gazette/pulls. Scroll down past the commits to see the comment box. Add any friendly message and click "Comment" (not "Close and comment").
Level 17: The Feedback Loop
"Feedback is a gift—don't fear it, embrace!
Make updates, push changes, improve at your pace.
Your PR gets better with each iteration,
Collaboration's the heart of open source creation!"
Your Mission:
- Go back to your fork (not the original repo)
- Make another edit to the same file (or a new file)
- Commit the change with a message like "Address feedback"
- The commit will automatically appear in your PR!
- Check your PR to confirm the new commit shows up
- Click the button below to verify
Need a hint?
Edit a file in YOUR fork, commit it to the same branch you used for the PR. Then check the PR page—you'll see "[your-username] added [number] commits". That's how you respond to feedback!
🎉 The Feast! 🎉
"Say! I like this GitHub stuff!
I do! I like it, sure enough!
I like to Fork. I like to Clone.
I will commit when I'm alone!
I will write here and there.
I will collaborate ANYWHERE!
You fixed the code! You saved the day!
You are a Winner, shout Hooray!"
What's Next?
You've completed the Git-Goat's Gazette! You've now:
- ✅ Logged in with your GitHub account
- ✅ Left a comment on an issue
- ✅ Created a new issue
- ✅ Added a LICENSE file
- ✅ Edited and reopened issues
- ✅ Applied and removed labels
- ✅ Assigned yourself to issues
- ✅ Managed Pull Requests
- ✅ Forked a repository
- ✅ Made web edits
- ✅ Created commits with clear messages
- ✅ Opened and managed Pull Requests
- ✅ Participated in PR discussions
- ✅ Updated PRs based on feedback
These are the core skills of collaborative development. You're ready to contribute to real projects!
View My Contribution Graph →