gitmyhub

foam

TypeScript ★ 17k updated 2d ago

A personal knowledge management and sharing system for VSCode

Foam is a personal knowledge management system for VS Code that turns plain Markdown files into a linked network of notes with backlinks, a graph view, daily notes, and tag explorer, all stored in files you fully own.

TypeScriptVS Codesetup: easycomplexity 2/5

Foam is a personal knowledge management system that lives inside Visual Studio Code. The basic idea is to keep all your notes as plain Markdown files in a folder you own, typically a GitHub repository, and use Foam to turn that pile of files into a connected, browsable network of ideas. It is built for people who want a second brain or Zettelkasten-style note system, while staying in plain files they fully control.

You write each thought as a small Markdown document and link notes to each other using wiki-style double-bracket links such as wikilink or wikilink with alias. Foam adds editor features on top of that, including link autocompletion, automatic link updates when you rename a file, a graph visualization showing how your notes connect, a backlinks panel showing what links into the current note, a tag explorer with hierarchical tags, daily notes, custom note templates, embedding the contents of one note into another, and dedicated panels for orphan notes (no links in or out) and placeholders (links pointing at notes that do not exist yet).

Because everything is just Markdown in a folder, the same notes also render and navigate on GitHub itself, and you can publish them with GitHub Pages if you want a public site. To get started, you create a workspace from the official foam-template GitHub repo, open it in VS Code, and install the recommended extensions. The codebase is TypeScript and ships as a VS Code extension. The README warns the project is still alpha-grade work in progress.

Where it fits