SETUP_CHECKLIST - mark-ik/graphshell GitHub Wiki
- Download from https://visualstudio.microsoft.com/downloads/
- Run installer
- Select "Desktop development with C++"
- Select C++ v143 or later
- Install Windows 11 SDK
- Install CMake tools
- Complete installation (~2 hours)
- Verify:
cl.exeworks in terminal (C++ compiler)
- Download from https://www.python.org/downloads/
- Run installer
- CHECK: "Add Python to PATH"
- Click "Install Now"
- Complete installation (~5 minutes)
- Verify:
python --versionin terminal
- Download ActivePerl from https://www.activestate.com/products/perl/
- Run installer
- Accept defaults
- Ensure "Add Perl to PATH" checked
- Complete installation (~5 minutes)
- Verify:
perl -vin terminal
- Download from https://git-scm.com/download/win
- Run installer
- Use default settings
- Ensure "Git from command line" selected
- Complete installation (~5 minutes)
- Verify:
git --versionin terminal
- Download from https://rustup.rs/
- Run installer
- Accept default settings
- Complete installation (~5 minutes)
- Verify:
rustc --versionin terminal - Rust should show 1.86.0 (auto-detected from graphshell)
- Download from https://wiki.mozilla.org/MozillaBuild
- Run installer
- IMPORTANT: Install to
C:\mozilla-build(default location, must not have spaces) - DO NOT choose custom path
- Complete installation (~10 minutes)
- Verify: File
C:\mozilla-build\start-shell.batexists
Total setup time: ~3–4 hours (mostly waiting for Visual Studio to download)
- Open Command Prompt or PowerShell
- Choose build location (e.g.,
C:\Users\YourName\Projects) - Run:
git clone https://github.com/markik/graphshell - Navigate:
cd graphshell
- CRITICAL: Open MozillaBuild Terminal: Run
C:\mozilla-build\start-shell.bat - NOT regular Command Prompt or PowerShell
- Navigate:
cd /c/Users/YourName/Projects/graphshell - Run:
cargo build --release - Wait 15–20 minutes (first build compiles entire Servo)
- Watch for: "Finished release" message at end
- Verify:
target/release/graphshell.exeexists
Build time: 15–20 minutes (first time), 2–5 minutes (subsequent)
- Still in MozillaBuild Terminal
- Run:
./target/release/graphshell.exe - Window should appear with address bar
- Window opens without crash ✅
- Can see address bar ✅
- Can type URL (e.g.,
https://example.com) ✅ - Press Enter → page loads ✅
- Can see rendered webpage ✅
- Can open new tab ✅
- Can close tabs ✅
- Can click links on webpage ✅
- Can close application with X button ✅
- ✅ Graphshell is working!
- Proceed to design_docs/GRAPH_BROWSER_MIGRATION.md for planned UI changes
- Or explore codebase and make improvements
- Note the error message
- Check WINDOWS_BUILD.md#troubleshooting
- Try the suggested fixes
- If still stuck, search Servo GitHub Issues
Once Graphshell runs successfully:
- Read design_docs/GRAPH_BROWSER_MIGRATION.md
- Start with Phase 1 (graph engine)
- Implement force-directed layout
- Run:
cargo build(debug, faster compile) - Make changes to
src/ - Re-run:
cargo build - Test changes
- Commit to git
- Read README.md architecture section
- Explore
src/graphshell.rs(main logic) - Explore
src/compositor.rs(rendering) - Explore
src/webview/(webpage embedding)
- WINDOWS_BUILD.md — Detailed setup (read if stuck)
- QUICK_REFERENCE.md — One-page reference
- BUILD_SETUP_SUMMARY.md — Technical summary
- README.md — Current project status
- design_docs/ — Future roadmap
| Error | Solution |
|---|---|
| "MozTools not found" | Use MozillaBuild Terminal (start-shell.bat), not CMD |
| "Python not found" | Install Python, add to PATH, restart terminal |
| "Build hangs >30 min" | Normal for first build; check disk space (20GB free) |
| "Link error" | Install Visual Studio 2022 Build Tools (C++) |
| "Permission denied" | Run Command Prompt as Administrator for Git/Python install |
Full guide: WINDOWS_BUILD.md#troubleshooting
✅ You can run: ./target/release/graphshell.exe
✅ Window appears with address bar
✅ Can navigate to websites
✅ Can open/close tabs
✅ Application is stable (no crashes)
If all above are true → You have a working Graphshell browser!
Estimated total time: 4–5 hours (mostly waiting for prerequisites to download/install)