Getting Set Up
Installing the repository
To help you get set up, follow this checklist:
- Set up a Github account (add your buttonschool.com email under Settings -> Emails if you have an account already)
- Ask Nevan (or another admin) for access to the repo, from your account
- Install homebrew on your computer
- Install VS Code (we recommend using Homebrew:
brew install --cask visual-studio-code, or download from code.visualstudio.com) - If you don’t have one, make a directory for projects on your computer (we recommend
~/projectsfor easy access) - In that directory, clone the
buttonschoolrepo (git clone https://github.com/buttonschool/buttonschool.git) - Open the repo in VS Code using the command line (
code .)
Running the setup script
Once you’ve cloned the repository, run the setup script to install dependencies and configure your environment:
chmod +x setup.sh && ./setup.sh
This script will:
- Install required packages from the
Brewfile(including git, node, python, pnpm, and development tools) - Install all pnpm dependencies for the workspace
- Set up your development environment
The setup script uses Homebrew to install system dependencies, so make sure Homebrew is installed first.
Verifying your setup
After running the setup script, verify everything is working:
- Check pnpm is installed:
pnpm --version - Verify dependencies are installed:
pnpm install(should complete quickly if already installed) - Test Chalkboard:
pnpm chalk(should start a dev server) - Test handbook preview:
pnpm handbook(should start a dev server)
If any of these fail, check the error messages and ensure all prerequisites from the checklist are installed.
What’s in the repo?
We have four main directories we work out of:
contentpackageslabwebsites
Content
The bulk of our work happens in content—this is where we keep all our course materials and internal documentation.
Packages
The packages directory contains our internal tools and utilities, including Chalk, Workbench, Blueprint, and other development tools.
Websites
In the websites directory, we keep the source files for our public-facing websites, primarily buttonschool.com.
Lab
Think of lab as a playground or sandbox for trying out ideas. These could range from interactive exercises for learners to internal tools for building previews from .chalk files.
We may eventually showcase some experimental work publicly—even while it’s still in progress. Successful experiments may graduate to full-blown tools.
For more details on the repository structure, see Repository Structure.
What’s next?
Now that you’re set up, you might want to:
- Learn about the repository structure to understand how things are organized
- Review common workflows for making changes
- Explore the tools and packages available in the repo
- Check out the Style Guide if you’ll be writing content