Developer Onboarding¶
Welcome to Big Nerd Idea. This guide gets your machine set up to match Kevin's development environment.
Prerequisites¶
- macOS or Linux (Windows with WSL2 works but untested)
- Node.js 20+ —
node --version - Git configured with your GitHub account
- Xcode Command Line Tools —
xcode-select --install - Android Studio + Android SDK (for Android testing)
Folder structure¶
Both developers maintain the same layout so CLAUDE.md files load correctly and Obsidian vaults resolve links consistently.
~/source/
├── CLAUDE.md ← Root orchestrator
├── big-nerd-idea/
│ ├── CLAUDE.md ← Shared org directives (auto-loaded by Claude Code)
│ └── vault/ ← Obsidian vault for org-wide docs
├── mpowerup/
│ ├── CLAUDE.md ← Project-specific directives
│ └── MPowerUP Vault/ ← Obsidian vault for MPowerUP project notes
├── rlivn/
└── toasterchef/
Clone repositories¶
mkdir -p ~/source && cd ~/source
# MPowerUP
git clone https://github.com/kevinwcrump/MPowerUp.git mpowerup
# Big Nerd Idea org docs
mkdir -p big-nerd-idea
# Kevin shares CLAUDE.md and vault via PR or direct copy initially
Install Claude Code¶
Open ~/source/ as the root workspace. The CLAUDE.md files at ~/source/, ~/source/big-nerd-idea/, and ~/source/mpowerup/ will all be read automatically.
CLAUDE.md are committed to git
Every change to AI directives goes through a PR so both developers agree. Claude Code on Corey's machine reads the same directives as on Kevin's.
MPowerUP setup¶
Create .env.local (get values from Kevin — never committed):
Kevin runs the relay server during dev sessions. Point to Kevin's IP, or run your own relay (
cd relay && node server.js) when working independently.
Start the dev server¶
Obsidian setup¶
- Download from obsidian.md (free)
- Open vault:
~/source/mpowerup/MPowerUP Vault/ - Open vault:
~/source/big-nerd-idea/vault/ - Install community plugin: Obsidian Git
- Settings → Obsidian Git → Auto pull interval: 10 min, Auto push on file change: yes
Shared coding standards¶
- TypeScript strict on all projects — no
anywithout a cast comment - No polling — event-driven or scheduled background tasks only
- Accessibility-first — WCAG AA minimum on all UI; 44pt minimum touch targets
- Open source dependencies only — no paid SDK without team approval
- No secrets in git —
.env.localfor all keys, gitignored - Battery-conscious — no persistent sockets, no continuous GPS without user opt-in