Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help


The fast, local proof: from a blank disk to a queryable brain you drive entirely from the terminal: no AI, no config files. The goal is to see it work and decide whether the typed-entity model fits how you think.

Prefer a guided walkthrough: syn setup (language), the exact output you’ll see, and how to introduce yourself? That’s ONBOARDING.md. Want the full human + AI loop: MCP wiring, the propose/accept workflow, federation? That’s TUTORIAL.md.

If you haven’t installed syn yet, INSTALL.md is one paragraph.

1. Make a workspace

syn init ~/brain
cd ~/brain

You now have:

~/brain/
├── .synapse/              # the SQLite index + config
│   ├── config.toml
│   └── index.db
├── projects/
├── people/
├── entities/
├── apis/
├── tasks/
└── notes/

On a fresh, interactive run you’ll be asked one question: whether to download the semantic-search models (~2.5 GB, one-time):

Download the models now? [Y/n]

Say yes for meaning-search (step 4), or skip it: everything below works either way, and you can turn it on later with syn embed --all.

Everything visible to you is plain Markdown. The .synapse/ directory is disposable: delete it, run syn reindex, and you’re back where you were.

2. Add the things in your head

syn project add "Projeto Alfa" --status active --priority high
syn person  add "Maria Silva" --email maria@empresa.com --job-title "Tech Lead"
syn entity  add "Acme Corp"   --kind vendor --contact contato@acme.com
syn api     add "API Pagamentos" --auth oauth2 --base-url https://api.pgto.com --owner maria-silva

Slugs are derived automatically (Maria Silva → maria-silva), and the YAML written to disk is human-readable:

---
type: person
id: maria-silva
title: Maria Silva
email: maria@empresa.com
job_title: Tech Lead
memberships: []
created: 2026-05-24T22:00:00Z
updated: 2026-05-24T22:00:00Z
---

3. Connect them

A person exists once and is referenced by every project they touch.

syn person link maria-silva --project projeto-alfa --role focal
syn task    add  "Migrar webhook v2" --project projeto-alfa --owner maria-silva --due 2026-06-30
syn note    add  "Por que não Stripe" --kind decision --project projeto-alfa --tag pagamentos

syn note covers what doesn’t fit the other types: decisions, runbooks, meeting transcripts, snippets, references.

4. Ask the graph

syn project list
syn person  show maria-silva
syn search  pagamentos
syn search  pagamentos --tag decisao
syn graph   project projeto-alfa
syn info
syn info --format json | jq .total

syn graph walks the link table built from memberships, owner, api, etc. syn search is SQLite FTS5 (fast, exact-term) out of the box. The default binary also ships the semantic layer (opt-out; see INSTALL.md): once you run syn embed --all once (it downloads ~2.5 GB of models the first time), search becomes hybrid: it also matches on meaning, so syn search "the payments decision" finds the right note even if it never says “payments”. From then on entities are embedded as you add them. The full propose/accept loop and semantic walkthrough live in TUTORIAL.md §3b.

5. Audit it

syn doctor

If you removed a file behind the index’s back, or referenced a person that doesn’t exist, you’ll see categorised warnings. Doctor never mutates: it tells you and offers syn reindex.

6. Hand it to your AI

syn mcp

That’s the MCP server on stdio: the door your AI knocks on. Point Claude Code at ~/brain and it answers from your facts, never a hallucination.

That’s as far as quickstart goes: you’ve proven the local brain works. Wiring Claude Code end to end (the client config, the propose/accept loop where the AI suggests and you sanction every write, federation across workspaces) is the job of TUTORIAL.md §4–§7.

7. Free-form notes

echo "# Quick thought\n\nThe webhook idempotency check needs revisiting after vendor migration." \
  > notes/quick-thought.md
syn reindex      # index picks it up
syn search idempotency

You can edit Markdown by hand and rerun syn reindex, or run syn watch (debounced, shipped in v0.2) to reindex automatically on every save.


What changed?

After step 6 your workspace looks like:

~/brain
├── projects/projeto-alfa/_meta.md
├── people/maria-silva.md
├── entities/acme-corp.md
├── apis/api-pagamentos.md
├── projects/projeto-alfa/tasks/projeto-alfa-001.md
├── projects/projeto-alfa/notes/por-que-nao-stripe.md
└── .synapse/index.db

Six concepts, one graph, two doors: terminal and AI. Commit the whole thing to git and the history of “who owns what” is plain git log.


Where to next

  • TUTORIAL.md: zero to the full AI loop: MCP wiring, the propose/accept/audit invariant, federation, semantic search.
  • RECIPES.md: eight common workflows verbatim (CSV import, weekly review, briefings, …).
  • COMMANDS.md: full reference of every subcommand.
  • MCP.md: Claude Code wiring and the 20 tools (read, federation, write proposals, maintenance, audit).
  • CONFIGURATION.md: cascade config, locales (--lang en, SYNAPSE_LANG=pt-BR), freshness knobs.
  • ARCHITECTURE.md: why the layout is edge → core → data.

If something goes wrong, syn doctor is the first stop. Lil Syn looks confused for a reason: a dangling link, an orphan tag, a file the index doesn’t know about. The tool tells you; you decide.