SETUP — Repo split-brain

Setup technique du repo. Pour la méthodologie du second cerveau, voir README.md.

Stack

  • Source : markdown propre dans ce repo (vault Obsidian côté local)
  • Build : Quartz v4 (static site generator pensé pour Obsidian)
  • Hosting : Cloudflare Pages → brain.split-editor.fr
  • Access : Cloudflare Access whitelist (équipe Split uniquement)

Workflow d’usage local

# 1. Édition : Obsidian + Claude Code dans Claude Projects/_brain/
# 2. Quand prêt à pousser :
cd "C:\Users\33601\Desktop\Claude Projects\_brain"
git add <fichiers explicites>          # jamais -A ni .
git commit -m "feat(creators): brief X"
git push                               # déclenche le build CF Pages

Build local (optionnel, pour tester)

# Premier setup : cloner Quartz à côté
cd "C:\Users\33601\Desktop\Claude Projects"
git clone -b v4 https://github.com/jackyzha0/quartz.git split-brain-quartz
cd split-brain-quartz
npm install
# Copie notre config
cp ../_brain/quartz.config.ts .
 
# Build + preview
npx quartz build -d "../_brain" --serve --port 8080
# → http://localhost:8080

Build production (Cloudflare Pages)

Cloudflare Pages clone ce repo et exécute :

bash build.sh

Output servi : ./public/

Le script build.sh :

  1. Clone Quartz v4 dans .quartz-build/ (cache CF Pages)
  2. Copie quartz.config.ts du repo dans le clone
  3. Installe les deps Quartz
  4. Build → ./public/

Actions manuelles requises (1ère fois — Paul)

1. Créer le repo GitHub

cd "C:\Users\33601\Desktop\Claude Projects\_brain"
git init
git branch -m main
git add SETUP.md README.md .gitignore build.sh quartz.config.ts index.md `
        1-projets 2-casquettes 3-ressources 4-archives inbox journal
git commit -m "feat(brain): init repo + quartz build setup"
 
gh repo create SplitEditor/split-brain --private --source=. --remote=origin
git push -u origin main

2. Configurer Cloudflare Pages

Dashboard Cloudflare → Pages → Create a project → Connect to Git :

  • Repo : SplitEditor/split-brain
  • Branch : main
  • Build command : bash build.sh
  • Build output directory : public
  • Root directory : /
  • Environment variables : aucune nécessaire
  • Node version : 22 (variable d’env NODE_VERSION=22)

3. Configurer le sous-domaine

Dashboard Cloudflare → DNS (zone split-editor.fr) :

  • Ajouter CNAME : brain<projet-cf-pages>.pages.dev (proxied 🟧)

4. Cloudflare Access

Dashboard Cloudflare → Zero Trust → Access → Applications :

  • Add application → Self-hosted
  • App name : Split Brain
  • Domain : brain.split-editor.fr
  • Policies : “Split team” → Google SSO whitelist (3 emails)

Identique à os.split-editor.fr — utiliser la même policy si déjà créée.

5. Test prod

Push une modif mineure (ex: ajouter une ligne dans README.md), vérifier que :

  • CF Pages déclenche un build
  • Build success en ~2-3 min
  • https://brain.split-editor.fr redirige vers Google SSO
  • Après auth : Split Brain s’affiche, graphe interactif fonctionne

Convention de commit

Format conventional, FR :

  • feat(creators): ajoute brief Aaron Platt
  • feat(brain): structure v3 frontmatter
  • fix(people): YAML invalide dans fabrice-mallardet
  • docs(setup): clarifie procédure CF Pages
  • chore(quartz): bump version v4.5 → v4.6

Co-auteur : suit la convention Split (Co-Authored-By: Claude Opus 4.7).

Hygiène

  • Jamais committer .env*, secrets, screenshots élèves, ID clients
  • Frontmatter : si une note contient des chiffres internes sensibles, ajouter confidential: true (à terme on filtrera au build)
  • node_modules / public : gitignored
  • Obsidian workspace.json : gitignored (différent par device)

Liens utiles

  • Quartz v4 docs
  • README.md — méthodologie PARA
  • Roadmap Radar Split OS : ../split-os/design/08-radar-roadmap.md (section V2-bis)