Welcome to Foundry! This is your roadmap to the learning system.
Read these in order:
- This file (you are here) — 2 min
- CLAUDE.md — How the system works (10 min)
- docs/learning-workflow.md — Step-by-step guide (5 min to skim, reference as needed)
# 1. Read the lesson
open tracks/go/fundamentals/variables-and-types/lesson.md
# 2. Do the exercise
cd tracks/go/exercises/variables-and-types/01-config-loader/starter
go test # watch tests fail
# implement config.go
go test # verify your solution
# 3. Compare with solution
cd ../solutions
cat README.md
cat config.go
# 4. Try the debugging exercise
cd ../../debugging/nil-map-panic
go test # watch it panic
# fix buggy.go
go test # verify fix# 1. Read the lesson
open tracks/typescript/fundamentals/variables-and-types/lesson.md
# 2. Do the exercise
cd tracks/typescript/exercises/variables-and-types/01-config-loader/starter
npm test # watch tests fail
# implement config.ts
npm test # verify your solution
# 3. Compare with solution
cd ../solutions
cat config.ts# Read the lesson
open tracks/csharp/fundamentals/variables-and-types/lesson.md
# Exercises coming soon — lesson is ready to readFor every module, follow this pattern:
1. Read lesson.md (30-45 min) — Tutorial + mental models
2. Skim reference.md (5-10 min) — Spec for later lookup
3. Do exercise (30-60 min) — Practice in starter/
4. Compare with solutions (10-15 min) — Learn patterns
5. Write review notes (5 min) — Reflect on what you learned
6. (Optional) Debug/Refactor (20-45 min) — Extra practice
7. Update progress.yaml (2 min) — Track confidence
Full guide: docs/learning-workflow.md
foundry/
├── START-HERE.md ← You are here
├── CLAUDE.md ← System overview (read this!)
├── docs/
│ ├── learning-workflow.md ← Step-by-step guide
│ ├── concept-surfacing.md ← How concepts are linked
│ └── enhancements.md ← What's been built
├── tracks/
│ ├── go/ ← Go learning path
│ ├── typescript/ ← TypeScript learning path
│ ├── rust/ ← Rust learning path
│ ├── python/ ← Python learning path
│ ├── scala/ ← Scala learning path (JVM ecosystem)
│ ├── zig/ ← Zig learning path (systems programming)
│ ├── haskell/ ← Haskell learning path (pure functional)
│ └── csharp/ ← C# learning path (.NET ecosystem)
├── vault/ ← Knowledge base (Obsidian compatible)
│ ├── fundamentals/ ← Cross-language concept notes
│ ├── pitfalls/ ← Common mistakes database
│ ├── rosetta/ ← Cross-language quick reference
│ ├── interview-prep/ ← Interview question mapping
│ └── examples/ ← Production code examples
└── curriculum/
├── progress.yaml ← Your progress tracking
└── map.yaml ← Dependency graph
- Lessons:
tracks/<lang>/fundamentals/<module>/lesson.md - Exercises:
tracks/<lang>/exercises/<module>/ - References:
tracks/<lang>/fundamentals/<module>/reference.md
- Vault notes:
vault/<category>/<module>.md(all languages compared) - Pitfalls:
vault/pitfalls/(common mistakes) - Progress:
curriculum/progress.yaml(your journey)
- Debugging:
tracks/<lang>/exercises/debugging/ - Refactoring:
tracks/<lang>/exercises/refactoring/ - Interview prep:
vault/interview-prep/
- Rosetta stone:
vault/rosetta/common-operations.md(5 languages side-by-side) - Production examples:
vault/examples/(real-world code)
- ✅ Go — variables-and-types complete with exercises
- ✅ TypeScript — variables-and-types complete with exercises
- ✅ Rust — variables-and-types lesson + reference complete
- ✅ Python — variables-and-types lesson + reference complete
- ✅ Scala — replacing Java for JVM ecosystem (NEW!)
- ✅ Zig — systems programming perspective (NEW!)
- ✅ Haskell — pure functional perspective (NEW!)
- ✅ C# — .NET ecosystem
- ✅ Standard exercises with solutions + variants
- ✅ Debugging exercises (Go)
- ✅ Refactoring exercises (Go)
- ✅ Code review practice exercises (NEW!)
- ✅ Codebase navigation exercises (NEW!)
- ✅ API design exercises (NEW!)
- ✅ Pitfalls database (2 entries)
- ✅ Production examples (Kubernetes config)
- ✅ Interview prep mapping
- ✅ Rosetta stone (all languages)
- ✅ Cross-language vault notes
- ✅ Spaced repetition schema
See ENHANCEMENTS_DEMO.md for full tour.
- Choose your primary language (Go or TypeScript recommended)
- Read docs/learning-workflow.md (your instruction manual)
- Start with variables-and-types
- Read lesson.md
- Do the config-loader exercise
- Compare with solutions
- Check progress.yaml to see what's next
- Follow the spaced repetition schedule for reviews
- 📖 Read, don't skip — The lessons build mental models
- 💪 Practice first — Don't look at solutions immediately
- 📝 Take notes — Use "Your notes" sections liberally
- 🔗 Follow links —
[[wiki-links]]connect concepts - 🎯 One module at a time — Depth > breadth
- ⏱️ Schedule reviews — Trust the spaced repetition algorithm
- Command reference: Read CLAUDE.md for system commands
- Workflow confused?: Check docs/learning-workflow.md
- Can't find something?: Use grep:
grep -r "concept name" vault/ - Lost?: Check
curriculum/progress.yamlfor what's completed
5-minute taste of the system:
# 1. Read a short section
head -50 tracks/go/fundamentals/variables-and-types/lesson.md
# 2. See the cross-language comparison
cat vault/fundamentals/variables-and-types.md | head -100
# 3. Check out a pitfall
cat vault/pitfalls/go-nil-map-panic.md
# 4. See the Rosetta stone
cat vault/rosetta/common-operations.md | head -80Ready? → Start with docs/learning-workflow.md
Questions? → Check CLAUDE.md
Let's learn! 🚀