Never set up a web project before? No worries β this guide walks you through every step from scratch. It should take about 10β15 minutes.
| Tool | What it is | How to get it |
|---|---|---|
| Node.js | Runs JavaScript on your computer | nodejs.org β download the LTS version |
| npm | Installs project dependencies | Comes bundled with Node.js β no separate install needed |
| Git | Version control β how you save and share code | git-scm.com |
| A code editor | Where you'll write code | We recommend VS Code β it's free |
| A terminal | Where you run commands | Already on your computer! On Mac: Terminal app. On Windows: use Git Bash (installed with Git) |
- Go to nodejs.org
- Download the LTS version (the one that says "Recommended for most users")
- Run the installer and follow the prompts
- To verify it worked, open your terminal and type:
You should see something like
node --version
v20.11.0. Any version 18+ is fine.
- Go to git-scm.com/downloads
- Download and install for your operating system
- Verify it worked:
You should see something like
git --version
git version 2.43.0
Forking means making your own copy of HerStack on GitHub so you can make changes without affecting the main project.
- Go to github.com/HerStack-org/website
- Click the Fork button in the top right
- Click Create fork
You now have a copy at github.com/YOUR_USERNAME/website π
Cloning means downloading the code to your computer.
- On your fork's GitHub page, click the green Code button
- Copy the URL shown (looks like
https://github.com/YOUR_USERNAME/website.git) - In your terminal, navigate to where you want to put the project:
# For example, go to your Documents folder cd ~/Documents
- Clone it:
git clone https://github.com/YOUR_USERNAME/website.git
- Move into the project folder:
cd website
The project uses libraries written by other people. This command downloads all of them:
npm installYou'll see a lot of text scroll by β that's normal. It might take a minute or two.
When it's done, you'll see a node_modules/ folder appear in your project. Don't worry about what's in it.
npm run devYou should see output like:
VITE v5.0.0 ready in 300ms
β Local: http://localhost:5173/
β Network: use --host to expose
Now open your browser and go to http://localhost:5173
π You should see the HerStack website running on your computer!
Try it out β open any file in VS Code and make a small change. For example, open src/data/mentors.js and change some text. Save the file. Your browser will automatically update β no refresh needed. This is called hot reload.
This connects your fork to the original HerStack repo so you can get future updates:
git remote add upstream https://github.com/herstack/website.gitVerify it worked:
git remote -vYou should see:
origin https://github.com/YOUR_USERNAME/website.git (fetch)
origin https://github.com/YOUR_USERNAME/website.git (push)
upstream https://github.com/herstack/website.git (fetch)
upstream https://github.com/herstack/website.git (push)
Now that it's running, here's the simplest possible contribution to get started:
- Open
src/data/resources.jsin VS Code - Copy one of the existing resource objects
- Fill in a real course you've found helpful
- Save β check it looks right in the browser
- Commit and open a PR (see CONTRIBUTING.md)
- Use
Ctrl+Shift+F(orCmd+Shift+Fon Mac) in VS Code to search across all files - Find the typo
- Fix it, save, commit, PR
| Command | What it does |
|---|---|
npm run dev |
Start the local development server |
npm run build |
Build the production version of the site |
npm run preview |
Preview the production build locally |
Press Ctrl + C in your terminal.
npm install fails
Make sure Node.js is properly installed. Try closing and reopening your terminal, then run node --version again.
Port 5173 already in use Another app is using that port. Vite will automatically try the next port (5174) β just use that URL instead.
Changes not showing up
Hard-refresh your browser with Ctrl+Shift+R (or Cmd+Shift+R on Mac).
Still stuck? Open a GitHub Discussion or email us at hey@herstack.org β we're happy to help. No question is too basic.
- Read CONTRIBUTING.md for the full contribution guide
- Check open issues for things labeled
good first issue - Join the conversation in GitHub Discussions
You've got this. π