Shared Development Approach¶
Folder Structure¶
Both developers maintain the same folder layout on their machines. This ensures CLAUDE.md files load correctly and Obsidian vaults resolve links consistently.
~/source/
├── CLAUDE.md ← Orchestrator: dispatches Claude to each project
├── big-nerd-idea/
│ ├── CLAUDE.md ← Shared org directives (this file's parent)
│ └── vault/ ← Obsidian vault for org-wide docs (this file)
│ ├── Business Operating Model.md
│ └── Shared Development Approach.md
├── mpowerup/
│ ├── CLAUDE.md ← Project-specific Claude directives
│ └── MPowerUP Vault/ ← Obsidian vault for MPowerUP project notes
├── rlivn/
│ └── CLAUDE.md
└── toasterchef/
└── CLAUDE.md
Rule: Org-level docs (business, grants, team decisions, cross-project architecture) → big-nerd-idea/vault/. Project-specific docs (features, phases, tech notes) → each project's own vault.
CLAUDE.md Hierarchy¶
Claude Code reads CLAUDE.md files from the working directory upward. Three levels:
| File | Scope | Who edits |
|---|---|---|
~/source/CLAUDE.md |
Root orchestrator — project dispatch table | Kevin |
~/source/big-nerd-idea/CLAUDE.md |
Org directives — team, standards, AI policy | Both devs (via PR) |
~/source/mpowerup/CLAUDE.md |
MPowerUP-specific patterns, commands, architecture | Both devs (via PR) |
Key principle: CLAUDE.md files are committed to git. Every change to AI directives goes through a PR so both devs agree. Claude Code on Corey's machine reads the same directives as on Kevin's.
Claude Collaboration Phases¶
Phase 1 — Individual Accounts (Now)¶
Setup: Kevin and Corey each have their own Claude Pro or Max subscription + Claude Code installed.
How sharing works:
- Shared context lives in big-nerd-idea/CLAUDE.md and project CLAUDE.md files (in git)
- Each dev's Claude Code reads these automatically when working in ~/source/
- No shared conversation history — but consistent directives mean consistent behaviour
- Works today with zero additional cost or tooling
Limitation: Claude Code sessions are independent. If Kevin documents a decision in a session, Corey won't see it unless it gets committed to git (CLAUDE.md, vault docs, code comments).
Workflow to bridge this gap:
1. Significant decisions → update the vault doc or CLAUDE.md and commit
2. Claude Code memory files (~/.claude/projects/.../memory/) are per-developer — don't rely on these for shared team context
Phase 2 — Claude for Teams (3+ active devs or BNI revenue)¶
Trigger: When team grows to 3+ active developers, or BNI LLC has enough revenue to justify it.
What changes: - Shared team workspace in Claude.ai — conversation history visible to all team members - Shared Projects with persistent context (like a team-level memory) - Admin controls — usage visibility, access management - Higher usage limits shared across the team
Cost: $30/user/month, 5-seat minimum = $150/month minimum. Worth it at 5+ users; with 2 devs paying for 3 unused seats is wasteful. Consider at 3–4 devs or when monthly individual costs exceed $150.
API alternative: For programmatic use, a shared Anthropic API key (paid per token) can be used in CI/CD, tooling, or custom Claude Code hooks — cheaper at low volume than a team seat.
Phase 3 — Non-Profit Pricing (After 501(c)(3))¶
Trigger: BNI Foundation receives IRS determination letter.
Action: Apply to Anthropic's non-profit program (anthropic.com/nonprofit). Expected outcome: 40–60% discount on API credits and/or Claude Teams.
What to request: API credits for development + Claude Teams seats for the dev team at non-profit rate.
Phase 4 — Enterprise (Scale)¶
SSO, custom data retention, SLA, advanced security. Only relevant at 10+ developers or enterprise client requirements. Revisit when BNI has staff beyond the founding team.
Obsidian Vault Strategy¶
Two vaults, clear separation¶
| Vault | Location | Git repo | Purpose |
|---|---|---|---|
| BNI Org Vault | ~/source/big-nerd-idea/vault/ |
big-nerd-idea |
Business, grants, cross-project decisions, team docs |
| MPowerUP Vault | ~/source/mpowerup/MPowerUP Vault/ |
mpowerup |
Feature specs, phases, architecture, tech notes |
Syncing between developers¶
Use the Obsidian Git community plugin (free). It runs git pull on open and git commit + push on close (or on a timer). Both devs keep the vaults in sync via normal git without paying for Obsidian Sync ($10/mo).
Setup: 1. Install Obsidian community plugin: "Obsidian Git" 2. Settings → Obsidian Git → Auto pull interval: 10 min, Auto push on file change: yes 3. Each vault is an independent git repo — commit separately
Future: BNI vault as own repo¶
Currently big-nerd-idea/ is a folder inside Kevin's source/. When Corey joins, create a standalone GitHub repo (big-nerd-idea/vault or big-nerd-idea/docs) so it can be cloned independently of any project. For now, keep it as-is and add it to the mpowerup repo or create a minimal standalone repo.
GitHub Collaboration¶
Current state¶
- Repo:
kevinwcrump/MPowerUp(Kevin owns, Corey is collaborator) - Branch strategy:
main(stable),dev(integration),feature/<name>(per-task)
Target state (Phase 3 of business)¶
- GitHub org:
big-nerd-idea - Repos transferred or forked under org
- Kevin = Owner, Corey = Member
- Branch protection on
main: require 1 PR review, pass CI
Day-to-day workflow¶
1. Pull latest dev: git pull origin dev
2. Create feature branch: git checkout -b feature/my-feature
3. Work + commit locally
4. Push: git push origin feature/my-feature
5. Open PR → dev (both devs can review)
6. Merge to dev: direct merge OK during early phase
7. Merge dev → main: PR required, brief review
Never push directly to main. Main should always be deployable.
Corey's Environment Setup¶
Step-by-step checklist for Corey 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¶
Clone repositories¶
# MPowerUP project
git clone https://github.com/kevinwcrump/MPowerUp.git mpowerup
# Big Nerd Idea org docs (once standalone repo exists; for now copy from Kevin)
mkdir -p big-nerd-idea/vault
# Kevin shares vault files via PR or direct copy initially
Install Claude Code¶
Open~/source/ as the root workspace in Claude Code. The CLAUDE.md files at ~/source/, ~/source/big-nerd-idea/, and ~/source/mpowerup/ will all be read automatically.
MPowerUP development setup¶
Create .env.local (get values from Kevin — never committed to git):
Note: Kevin runs the relay server on his Mac during dev sessions. Corey points to Kevin's IP, or runs his own relay (
cd relay && node server.js) when working independently.
Start the dev server¶
Install Obsidian¶
- Download from obsidian.md (free)
- Open vault:
~/source/mpowerup/MPowerUP Vault/ - Open vault:
~/source/big-nerd-idea/vault/(once available) - Install community plugin: Obsidian Git
- Configure Obsidian Git to auto-pull on startup
Relay server (optional — for offline dev)¶
cd ~/source/mpowerup/relay
npm install
node server.js
# Update .env.local: EXPO_PUBLIC_RELAY_URL=ws://localhost:4444
Shared .env.local Values Reference¶
Kevin maintains the canonical list. These are never committed to git.
| Variable | Description | Where to get |
|---|---|---|
EXPO_PUBLIC_RELAY_URL |
WebSocket relay for dev sync | Kevin's Mac IP or ws://localhost:4444 if running own relay |
No other secrets are required for MPowerUP Phase 1 (all APIs are free/unauthenticated).
Decision Log¶
| Date | Decision | Rationale |
|---|---|---|
| 2026-04-28 | Individual Claude accounts in Phase 1 | 5-seat minimum for Teams makes it uneconomical for 2 devs; shared CLAUDE.md via git achieves most of the value |
| 2026-04-28 | Open Collective as interim fiscal host | Fastest path to tax-deductible donations and transparent financials while 501(c)(3) processes |
| 2026-04-28 | BNI vault at ~/source/big-nerd-idea/vault/ |
Org docs should not live inside any single project repo; separate vault enables both devs to access org context independently of which project they're working in |