Source Code
BrainRepo
Your personal knowledge repository. Capture fast, organize automatically, retrieve instantly.
Brain Location
Fixed path: ~/Documents/brainrepo/
This is not configurable. All brain data lives here.
First Run Check
Before any action, check if brainrepo is initialized:
- Check if
~/Documents/brainrepo/exists with expected structure (Inbox/, Projects/, Areas/) - If NOT found โ Run onboarding automatically
- If found โ Proceed with user request
Onboarding
Triggers automatically on first interaction, or when user says "set up brainrepo":
- Create brain at
~/Documents/brainrepo/ - Create the folder structure:
mkdir -p <path>/{Inbox,Projects,Areas/personal-growth,Areas/family,Notes,Resources,Journal,People,Tasks,Archive}
Create initial files from templates in
assets/templates/:Tasks/index.mdโ task hubAreas/personal-growth/index.mdโ personal growth areaAreas/family/index.mdโ family area
Initialize git (optional):
cd <path> && git init && git add -A && git commit -m "init: brainrepo"
- Confirm setup and show quick start commands
Core Concept
DUMP โ PROCESS โ RETRIEVE
- Dump โ Capture everything to Inbox/ (don't organize yet)
- Process โ Evening review: Inbox โ permanent home
- Retrieve โ Ask AI to find anything
Repository Structure
brainrepo/
โโโ Inbox/ # Quick capture (clear daily)
โโโ Projects/ # Active work with deadlines
โโโ Areas/ # Ongoing responsibilities (no deadline)
โโโ Notes/ # Permanent atomic knowledge
โโโ Resources/ # External links, articles, references
โโโ Journal/ # Daily notes (YYYY-MM-DD.md)
โโโ People/ # One note per person
โโโ Tasks/ # Centralized task tracking
โโโ Archive/ # Completed projects
See references/structure.md for detailed breakdown.
Capture Rules
What to Capture (Immediately)
| Type | Destination | Example |
|---|---|---|
| Quick thought | Inbox/ |
"Maybe we should..." |
| Decision made | Inbox/ or Notes/ |
"Decided to use Next.js" |
| Person info | People/ |
New contact or update |
| Project update | Projects/<name>/ |
Meeting notes, progress |
| Task/Todo | Tasks/index.md |
"Need to finish X" |
| Link/Article | Resources/ or Inbox/ |
URL with context |
| Personal growth | Areas/personal-growth/ |
Health, habits, learning |
| Family info | Areas/family/ |
Important dates, notes |
What NOT to Capture
- Casual chat without information value
- Temporary queries ("what time is it")
- Information easily searchable online
Note Format
Every note uses minimal frontmatter:
---
created: YYYY-MM-DD
tags: [tag1, tag2]
related: ["[[Other Note]]"]
---
# Title
Content here. Link to [[Related Notes]] freely.
Use templates from assets/templates/ when creating new notes.
Daily Workflow
During Day
- Dump everything to
Inbox/ - Don't organize โ just capture
Evening (5-10 min)
Process Inbox/:
- Each item โ permanent home or delete
- Update
Journal/YYYY-MM-DD.mdwith summary git commit -am "daily processing"
Weekly Review (Sunday, 15 min)
- Review all Projects/ โ still active?
- Check Areas/ โ anything neglected?
- Move completed projects to Archive/
- Update
Tasks/index.md
See references/workflows.md for detailed workflows.
Commands
| User says | Action |
|---|---|
| "Set up brainrepo" | Run onboarding, create structure |
| "Save this: [text]" | Capture to Inbox/ |
| "New project: [name]" | Create Projects/name/ with template |
| "Add person: [name]" | Create People/name.md with template |
| "What do I know about X?" | Search & retrieve |
| "Daily review" | Process Inbox/, update Journal/ |
| "Weekly review" | Full system review |
Linking
Use [[wiki-links]] to connect notes:
Met with [[People/john]] about [[Projects/acme/index|ACME Project]].
Relevant insight: [[Notes/negotiation-tactics]]
Projects vs Areas
| Projects | Areas |
|---|---|
| Have deadlines | No end date |
| Can be "done" | Maintained forever |
| Specific outcome | Standard to uphold |
File Naming
- Folders:
kebab-case/ - Files:
kebab-case.md - Dates:
YYYY-MM-DD.md - People:
firstname-lastname.md
References
- Structure Guide โ Detailed folder breakdown
- Workflows โ Daily/weekly/monthly workflows
- Templates โ Note templates