Skip to content

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

mkdir -p ~/source
cd ~/source

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

npm install -g @anthropic-ai/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

cd ~/source/mpowerup
npm install

Create .env.local (get values from Kevin — never committed to git):

EXPO_PUBLIC_RELAY_URL=ws://<kevin-mac-ip>:4444

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

npm start         # opens Metro bundler
# Press i for iOS simulator, a for Android emulator

Install Obsidian

  1. Download from obsidian.md (free)
  2. Open vault: ~/source/mpowerup/MPowerUP Vault/
  3. Open vault: ~/source/big-nerd-idea/vault/ (once available)
  4. Install community plugin: Obsidian Git
  5. 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