Skip to content

Instantly share code, notes, and snippets.

@xperrotti
Created May 1, 2026 17:06
Show Gist options
  • Select an option

  • Save xperrotti/446882a8eb450dcd1d636cd82555a9ce to your computer and use it in GitHub Desktop.

Select an option

Save xperrotti/446882a8eb450dcd1d636cd82555a9ce to your computer and use it in GitHub Desktop.

synapse-notes

A personal Synapse Notes vault — markdown-based knowledge base for personal and professional notes, version-controlled with Git and synced through GitHub.

What this is

  • A vault opened by Synapse Notes (macOS, SwiftUI). Every note is a plain .md file you can read or edit anywhere, even without the app.
  • Backed by Git so history is preserved and the same vault can roam between machines via git clone + Synapse's Auto-Sync.
  • Holds both personal and **professional ** notes, kept separate by top-level folder.

Vault structure

.
├── .synapse/             # Vault config (settings.yml tracked, state.json ignored)
├── _templates/           # Note templates used by Synapse "New from Template"
├── _attachments/         # Images, PDFs, pasted media
├── Personal/
│   ├── Daily/            # Personal daily journal (YYYY/MM/YYYY-MM-DD.md)
│   ├── Projects/         # Finite goals with a target date
│   ├── Areas/            # Ongoing responsibilities (health, finance, learning)
│   ├── Resources/        # Reference material, reading notes, snippets
│   └── Archive/          # Done or dormant items from the three above
└── STF/
    ├── Daily/            # Work daily journal
    ├── Projects/         # Client work, internal initiatives
    ├── Areas/            # Recurring responsibilities (team, on-call, hiring)
    ├── Resources/        # Internal docs, runbooks, reference
    └── Archive/

The _ prefix on _templates/ and _attachments/ keeps utility folders pinned to the top of the file tree.

Conventions

Organization — PARA inside each domain

Folder Belongs here Move out when…
Projects/ Has a defined outcome and a deadline Outcome is reached → Archive/
Areas/ Ongoing standard you want to maintain No longer a responsibility → Archive/
Resources/ Topic of interest, reference, future use No longer interesting → Archive/
Archive/ Inactive but worth keeping searchable (don't delete — search wins later)

Daily notes

  • Personal daily entries live in Personal/Daily/, work entries in STF/Daily/ (subfolder by year/month is fine: Personal/Daily/2026/05/2026-05-01.md).
  • Both are created from _templates/Daily.md.
  • Synapse's Daily Notes setting only points at one folder — set it to whichever you write more often (typically Personal/Daily/); create the other from the template manually or via a second config when switching contexts.
  • Use them as a logbook — link out to project/meeting notes via [[wikilinks]].

Tags

Use sparingly, prefer wikilinks for connection. Suggested baseline:

  • Domain: #personal, #stf
  • Type: #meeting, #idea, #followup, #decision, #question
  • State: #todo, #blocked, #waiting

Search tags with # in the Command Palette.

Wikilinks and embeds

  • Connect notes with [[Note Name]]. Synapse resolves by title across the whole vault, so titles should be unique enough.
  • Embed another note inline with ![[Note Name]] — useful for pulling a meeting agenda into a daily note.

Attachments

Drop images and files into _attachments/. Reference them from notes with standard markdown: ![alt](_attachments/diagram.png).

Templates

Located in _templates/ (point Synapse → Settings → Templates Directory at this folder).

Template Use for
Daily.md The daily journal — Focus / Notes / Followups / Log
Meeting.md Meeting notes — attendees, agenda, decisions, actions
Project.md New project — goal, why, milestones, links
Reading.md Capturing articles, books, papers, videos

Templates use Synapse variables: {{year}}, {{month}}, {{day}}, {{cursor}}.

Sync workflow

This vault is a Git repo, so every change is auditable and recoverable.

Auto-Sync (recommended): In Synapse → Settings → Auto-save, enable automatic commit, push, and pull. Edits sync to GitHub in the background.

Manual: Standard git works fine.

git pull
# ...edit notes in Synapse...
git add .
git commit -m "notes: ..."
git push

Setup on a new machine

  1. Clone the repo:
    git clone git@github.com:<you>/synapse-notes.git
    cd synapse-notes
  2. Open Synapse Notes → Open Vault → select this folder.
  3. Configure:
    • Settings → Templates Directory_templates/
    • Settings → Daily Notes → folder Personal/Daily/ (or STF/Daily/), template _templates/Daily.md
    • Settings → Auto-save → enable Auto-Sync if you want push/pull on save.
  4. Verify by creating a daily note (it should land in your configured */Daily/ folder) and a [[Test Link]] (it should resolve).

Privacy

This repository is private. Even so:

  • No secrets. No credentials, API keys, tokens, certificates, .env contents — .gitignore covers the common ones defensively.
  • No client-confidential STF material beyond what is appropriate for personal note-taking. When in doubt, leave it out or keep it on Stefanini-managed systems.
  • Once pushed, content is in Git history — rewriting history later is messy. Pause before pasting.

Ignored files

.gitignore excludes:

  • .synapse/state.json — per-machine runtime (current tab, last open file). Tracking it would create noisy commits and conflicts across machines.
  • macOS / editor cruft (.DS_Store, *.swp, .idea/, .vscode/, .claude/).
  • Common secret-leak patterns (.env*, *.pem, *.key, secrets/).

.synapse/settings.yml is tracked — that's the vault-wide configuration and is meant to roam with the repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment