What You'll Learn at This Station
HAP's Discovery: I used to think I needed to understand everything before I could touch a project. But developers have a workflow that makes learning safer and faster—fork for safety, clone to explore, validate to build confidence. Here are the three insights that taught me how to learn from real code.
Forking Creates a Safe Workspace
Your Copy, Your Rules
Forking gives you a personal copy on GitHub where you can experiment without affecting anything. It's not stealing—it's how developers create safe learning environments.
Local Means Hands-On
Clone → Explore → Learn
Cloning brings real code to your computer where you can read it, run it, and understand it. Your local copy is separate from GitHub—nothing you do locally affects the online version until you deliberately push.
Validation Builds Confidence
See It Work First
Running npm run dev proves the project works on your computer. Running npm run validate shows you the quality checks. Seeing these succeed builds confidence that you can work with real code.
HAP's Confession:
- I thought Git and GitHub were the same thing. Grace corrected me: Git tracks changes locally, GitHub hosts projects online. They work together but they're different tools. 😳
- I assumed forking was wrong—like I was copying someone's work dishonestly. But it's the expected way to create a safe workspace for learning.
- I was terrified to run
npm installbecause I didn't understand "dependencies." It just means "tools this project needs to run." - I thought I needed to understand all the JavaScript before I could work with the project. Magic Quotes taught me I only need to understand the part I'm working on.
Understanding Git and GitHub
Before Grace showed me the workflow, she explained what these tools actually do and why developers use them.
Grace explained: "Developers learn by working with real projects. They fork to create a safe workspace, clone to explore locally, and validate to prove everything works. While this is like contributing to open source, more importantly for you it is about learning how to work with code using the correct tools. That way when you start to learn to code, you will already have practice with the workflow."
Git vs. GitHub
Git (on your computer)
Git is version control software. It tracks changes to files over time, like a save history for your project. Every change gets recorded with a message explaining what you did and why.
Git runs on your computer and works even when you're offline.
GitHub (online platform)
GitHub is a website that hosts projects online. It's where developers share code, store backups, and work together on projects.
GitHub adds features like forking, browsing code online, and managing project files.
Three Copies: Original, Fork, and Local
Grace drew me a diagram showing the three versions of a project I'd be working with:
Original Project
The main project on GitHub (e.g., cynthiateeters/magic-quotes)
You can read and explore this, but you can't change it directly.
Your Fork (Remote)
Your personal copy on GitHub (e.g., hap-bot/magic-quotes)
This is YOUR workspace—you can experiment here without worrying.
Your Clone (Local)
The files on your computer after cloning
Where you actually read, run, and explore the code.
🟠 What I learned:
These three copies are separate until I deliberately connect them. My local changes don't affect my fork until I push. My fork doesn't affect the original at all unless I explicitly request it. This separation is what makes experimentation safe.
Magic Quotes: A Practice Environment
Grace introduced me to Magic Quotes—a real project intentionally designed for beginners to practice developer workflows.
Why Magic Quotes works for learning:
- Real and deployed — It's not a toy example; it's a live website at magic-quotes.netlify.app
- Beginner-friendly structure — One file per person, so you can't accidentally interfere with others' work
- Immediate validation — Built-in tools check if you did everything correctly
- Forgiving by design — Your fork is YOUR space; you can't break the original
Two Ways to See the Same Project
GitHub Repository
github.com/cynthiateeters/magic-quotes
This is where the source code lives. I can see files, read documentation, and understand how it's structured.
Live Website
This is the deployed site built from that code. Same project, two views—one shows the source, one shows the result.
Grace said: "Visit both. See how the website works, then look at the code to understand how it was built. That's what developers do—they explore the running version first, then study the code."
Before You Start: What You'll Need
Grace asked me to check that I had the right tools installed before I started practicing. I already had everything, but this was my first time actually using them together.
HAP's setup checklist: I had VS Code, Git, Node.js, and a GitHub account already installed and created. But I'd never used them for an actual developer workflow—this was my first time putting the pieces together.
Tools You'll Use
VS Code
Your text editor and command center. I'll use the built-in Source Control panel for Git operations and the integrated terminal for running commands.
Why this matters: VS Code combines editing, version control, and terminal in one place.
Git & GitHub
Git tracks changes on my computer. GitHub hosts projects online. VS Code connects them through its Source Control panel.
Why this matters: I won't need to memorize terminal commands—VS Code's GUI handles Git operations.
Node.js & npm
Node.js runs JavaScript outside browsers. npm (Node Package Manager) installs tools that projects need to work.
Why this matters: Magic Quotes uses Vite (a development server) that runs through npm.
GitHub Account
My identity on GitHub. When I fork Magic Quotes, it creates a copy under my account name.
Why this matters: Forking requires a GitHub account—it's where my practice workspace lives.
🟠 What I learned:
Having tools installed and actually using them are completely different. I'd opened VS Code before, but I'd never cloned a repository, run npm commands, or used the integrated terminal. This station was where those tools stopped being abstract and started making sense.
Step 1: Forking Creates Your Safe Workspace
Grace walked me through forking first. "This creates your own copy on GitHub," she explained. "Whatever you do in your fork cannot affect the original. That's what makes it safe to practice."
What forking does: It creates a complete copy of the Magic Quotes repository under your GitHub account. The original stays untouched. Your fork is YOUR workspace.
How I Forked Magic Quotes
- I visited github.com/cynthiateeters/magic-quotes
- I clicked the Fork button in the top-right corner
- GitHub asked me where to create the fork—I selected my account
- A few seconds later, I had my own copy at
github.com/[my-username]/magic-quotes
HAP's Confession:
I was nervous about forking. "What if I break something?" Grace reminded me: "Your fork is YOUR copy. The original repository cannot be affected by anything you do in your fork. You have complete freedom to experiment." That made me feel safe to try. 😳
Original Repository
cynthiateeters/magic-quotes
This stays exactly as it was. I can read it, but I can't change it.
My Fork (Remote)
[my-username]/magic-quotes
This is MY copy on GitHub. I can experiment here without worrying.
What I noticed: My fork looks identical to the original—same files, same structure. But the repository name at the top shows my username, with a note: "forked from cynthiateeters/magic-quotes". That confirmed I was in my own workspace.
Step 2: Cloning Brings Code to Your Computer
After forking, Grace told me: "Now you need a local copy—files on your computer where you can actually explore and run the project. That's what cloning does."
What cloning does: It downloads your fork from GitHub to your computer. Your local copy and your fork on GitHub are separate until you deliberately sync them.
How I Cloned Using VS Code
Grace showed me the VS Code way (no terminal commands needed):
- On my fork's GitHub page, I clicked the green Code button
- I copied the HTTPS URL (it looked like
https://github.com/[my-username]/magic-quotes.git) - In VS Code, I opened the Command Palette (Cmd+Shift+P on Mac, Ctrl+Shift+P on Windows)
- I typed "Git: Clone" and selected that command
- I pasted my fork's URL
- VS Code asked where to save the files—I chose a folder on my computer
- After a few seconds, VS Code asked if I wanted to open the cloned repository—I clicked "Open"
🟠 What I learned:
Cloning means downloading. But it's smarter than just copying files—Git remembers where the code came from (my fork on GitHub) so I can sync changes later. My local copy doesn't affect GitHub until I push. That separation gave me confidence to explore.
Three Copies: The Full Picture
Original Project
cynthiateeters/magic-quotes (on GitHub)
The source I forked from. Untouchable.
My Fork (Remote)
[my-username]/magic-quotes (on GitHub)
My copy on GitHub. Safe workspace.
My Clone (Local)
/path/on/my/computer/magic-quotes
Files on my laptop. Where I actually work.
What I noticed: Once I opened the cloned repository in VS Code, I could see all the files in the Explorer panel. These were real files on my computer now—not just something I was viewing on GitHub.
Step 3: Exploring Files and Documentation
With Magic Quotes open in VS Code, Grace told me: "Before running anything, explore. Read the README. Look at the folder structure. Understand what you're working with."
What exploring does: You learn how the project is organized, what each folder contains, and where to find information when you need it. Documentation makes sense when you're looking at actual files.
What I Found in the Root README
I opened README.md and read the project overview. It explained:
- Purpose: Magic Quotes displays random quotes on a website
- Structure: One JSON file per contributor in the
data/folder - Commands:
npm install,npm run dev,npm run validate - Contributing: Clear guidelines on creating quote files
Following the Documentation Hierarchy
The root README pointed me to data/README.md for contributor guidelines. I navigated there and found:
- Required JSON fields:
author,about,entries - Schema rules: unique IDs, valid categories, allowed tones
- Example files showing correct patterns
Studying an Example File
I opened data/quote-example.json and saw this structure:
{
"author": "Example Contributor",
"about": "Demonstrating the Magic Quotes JSON structure",
"entries": [
{
"id": "example-001",
"category": "developer-wisdom",
"tone": "reflective",
"text": "Code is read more often than it is written.",
"source": "ai-assisted"
}
]
} 🟠 What I learned:
Documentation hierarchy clicked when I saw it in context. The root README gave me the big picture. The folder-specific README gave me detailed rules. The example files showed me the exact pattern to follow. Reading happened naturally because I was looking at real files, not abstract instructions.
What I noticed: I didn't need to understand the JavaScript files or how Vite works. The JSON structure was clear enough that I could see what I'd need to create later. That made the project feel approachable.
Step 4: Setting Up and Seeing It Work
Grace said: "Now validate your setup. Run the project locally and see it work. That proves everything is configured correctly."
What validating does: You prove that the project works on your computer. Running npm install gets the tools you need. Running npm run dev starts the website locally. Running npm run validate tests the quality checks.
Opening the Integrated Terminal
Grace showed me how to open VS Code's integrated terminal:
- Menu: Terminal → New Terminal
- Keyboard: Ctrl+` (backtick key)
The terminal opened at the bottom of VS Code, already in my magic-quotes folder. No need to navigate—VS Code knew where I was working.
Installing Dependencies
I ran my first command:
npm install What happened: npm read package.json (the file listing required tools) and downloaded everything the project needs. A node_modules/ folder appeared with hundreds of files—these are the tools Vite and other systems use.
HAP's Confession:
I was terrified to run npm install because I didn't understand what "dependencies" meant. When I finally ran it, I realized it just means "tools this project needs to work." The package manager downloaded them automatically. I had built up anxiety over something that took 30 seconds. 😳
Starting the Development Server
Next, I ran:
npm run dev What happened: Vite started a local web server. The terminal showed:
VITE v5.0.0 ready in 234 ms
➜ Local: http://localhost:5173/
➜ press h + enter to show help I opened my browser and visited localhost:5173. Magic Quotes appeared—the same website I'd seen at magic-quotes.netlify.app, but running on my computer!
🟠 HAP's breakthrough moment:
Seeing Magic Quotes running on localhost made everything click. This wasn't just reading about code—I was running production-quality code on my laptop. The website worked. The quotes displayed. Everything functioned. That's when I felt like I was practicing being a developer.
Testing the Validation System
With the dev server still running in one terminal, I opened a second terminal (Terminal → New Terminal) and ran:
npm run validate What happened: The validation script checked all JSON files in data/ against the schema rules. It confirmed:
- All required fields present
- All IDs unique
- All categories and tones valid
- No syntax errors
The terminal showed: ✓ All quote files are valid
🟠 What I learned:
Validation tools catch mistakes before they cause problems. When I create my own quote file later (Station 6), I'll run npm run validate to check if I followed the rules correctly. It's like a friendly reviewer who points out errors without judgment.
What I noticed: These three commands—npm install, npm run dev, npm run validate—are the core developer workflow. Install tools, run the project, check quality. That's what developers do every day.
HAP's Readiness: What I Accomplished
After running npm run validate successfully, I stepped back and realized what I'd done. I hadn't written any code yet—but I'd practiced the entire developer setup workflow.
What I successfully completed:
- ✅ Forked Magic Quotes (created my safe workspace on GitHub)
- ✅ Cloned my fork locally (got the files on my computer)
- ✅ Explored the repository structure (understood the organization)
- ✅ Read documentation in context (READMEs made sense)
- ✅ Installed dependencies (got the tools working)
- ✅ Ran the development server (saw the site locally)
- ✅ Validated the setup (confirmed everything works)
- ✅ Understood the JSON schema (know what to create next)
HAP's reflection:
Before Station 5, Git, GitHub, npm, and Vite were intimidating terms. Now they're tools I've actually used. I forked a real repository. I cloned it to my computer. I ran it locally and saw it work. I didn't just read about the developer workflow—I practiced it. That makes me feel ready for what's next.
What Prof. Teeters Said
After I showed Prof. Teeters my running localhost and successful validation, she smiled:
"HAP, what you did today—forking, cloning, setting up a project, validating your environment—this is what professional developers do every day. You didn't write code yet, but you learned the workflow. That matters more than you think."
"Magic Quotes gave you a low-stress way to practice with real tools. Now you know what it feels like to work like a developer. That confidence will carry you through everything that comes next."
What I'm ready for: In Station 6, I'll create my own quote file (quote-hap.json), use VS Code's Source Control panel to commit my work, and practice the full Git workflow. But I already have everything set up. No friction, no setup time—just practice.
Developer Workflow Quick Reference
Here are the key insights from practicing the developer workflow with Magic Quotes:
Forking Creates Safety
Your Copy, Your Rules
Forking gives you a personal copy on GitHub. Your fork is YOUR workspace—experiment freely without affecting the original.
Action: Click "Fork" on any GitHub repository to create your copy.
Cloning Brings Code Local
Download to Explore
Cloning downloads your fork to your computer. Your local copy and GitHub copy stay separate until you push changes.
Action: Use VS Code's "Git: Clone" command with your fork's URL.
Exploring Builds Understanding
Read in Context
Documentation makes sense when you're looking at actual files. Follow README links, study examples, notice patterns.
Action: Open README.md, navigate to folders, examine example files.
Validating Builds Confidence
See It Work
Running the project locally proves your setup works. Validation tools catch mistakes early.
Action: Run npm install, npm run dev, npm run validate.
Essential Commands
npm install
Installs project dependencies listed in package.json. Run this once after cloning.
npm run dev
Starts the local development server. Visit localhost:5173 to see the site running.
npm run validate
Checks all JSON files against schema rules. Confirms your files are correctly formatted.
🟠 Remember:
The developer workflow isn't about memorizing commands—it's about understanding the sequence. Fork for safety → Clone to explore → Validate to confirm. That pattern applies to every project you'll work with. You've practiced it once. You can do it again.