Thank you for your interest. Brain is a solo-built project and contributions are welcome.
Read CLAUDE.md. It documents the full architecture, critical rules, and patterns. A 15-minute read that saves hours of confusion.
The brain.json file is the source of truth.
Never hardcode data/brain.json — use get_brain_path().
Never save an empty brain over a populated one.
Never change a node ID after creation.
Bump ?v=N on every frontend change. All static files are cache-busted with a version query param. Increment the number in index.html on every JS/CSS change.
Never auto-apply destructive operations. Merges and deletes always queue to Act for user confirmation.
git clone https://github.com/loadingpeacefully/brain-project
cd brain-project
python -m venv venv
source venv/bin/activate
pip install fastapi uvicorn anthropic pypdf python-docx \
python-multipart python-dotenv pydantic numpy \
apscheduler sentence-transformers
echo "ANTHROPIC_API_KEY=your_key_here" > .env
python backend/main.pyCheck Issues for open bugs and feature requests.
High-value areas:
- New document parser formats (EPUB, HTML, Markdown with frontmatter)
- Graph visualization improvements
- BHS formula refinements
- Test coverage (currently none — anything helps)
- SQLite migration from brain.json
- Fork the repo
- Create a branch:
git checkout -b feature/your-feature - Make changes following the patterns in CLAUDE.md
- Test manually — there are no automated tests yet
- Submit PR with a clear description of what changed and why
Python: follow existing patterns, no strict linter enforced. JavaScript: vanilla JS, no frameworks, match existing style. No TypeScript. No build step. Keep it simple.