foam README

The project's README from github.com/foambubble/foam. As one markdown file: README.md.

Foam

All Contributors

Version Downloads Visual Studio Marketplace Installs Ratings Discord Chat Ask DeepWiki

Foam is a personal knowledge management and sharing system built on Visual Studio Code and GitHub.

You can use Foam for organising your research, keeping re-discoverable notes, writing long-form content and, optionally, publishing it to the web.

Foam is free, open source, and extremely extensible to suit your personal workflow. You own the information you create with Foam, and you're free to share it, and collaborate on it with anyone you want.

Features

Graph Visualization

See how your notes are connected via a graph with the Foam: Show Graph command.

Graph Visualization

Foam helps you create the connections between your notes, and your placeholders as well.

Link Autocompletion

Foam updates the links to renamed files, so your notes stay consistent.

Sync links on file rename

Unique identifiers across directories

Foam supports files with the same name in multiple directories. It will use the minimum identifier required, and even report and help you fix existing ambiguous wikilinks.

Unique identifier autocompletion

Wikilink diagnostic

Link Preview and Navigation

Go to definition, Peek References

See where a note is being referenced in your knowledge base.

Go to Definition, Peek References

Navigation in Preview

Navigate your rendered notes in the VS Code preview panel.

Navigation in Preview

Note embed

Embed the content from other notes.

Note Embed

Support for sections

Foam supports autocompletion, navigation, embedding and diagnostics for note sections. Just use the standard wiki syntax of [[resource#Section Title]].

Foam supports link aliasing, so you can have a [[wikilink]], or a [[wikilink|alias]].

Templates

Use custom templates to have avoid repetitve work on your notes.

Templates

Quickly check which notes are referencing the currently active note. See for each occurrence the context in which it lives, as well as a preview of the note.

Backlinks Panel

Tag Explorer Panel

Tag your notes and navigate them with the Tag Explorer. Foam also supports hierarchical tags.

Tag Explorer Panel

Orphans and Placeholder Panels

Orphans are notes that have no inbound nor outbound links. Placeholders are dangling links, or notes without content. Keep them under control, and your knowledge base in a better state, by using this panel.

Orphans and Placeholder Panels

Syntax highlight

Foam highlights wikilinks and placeholder differently, to help you visualize your knowledge base.

Syntax Highlight

Daily note

Create a journal with daily notes.

Daily Note

Create markdown references for [[wikilinks]], to use your notes in a non-Foam workspace. With references you can also make your notes navigable both in GitHub UI as well as GitHub Pages.

Generate references

Commands

Recipes

People use Foam in different ways for different use cases, check out the recipes page for inspiration!

Getting started

Already using Obsidian? An Obsidian vault is usually already a Foam workspace — see Coming from Obsidian.

Whether you want to build a Second Brain or a Zettelkasten, write a book, or just get better at long-term learning, Foam can help you organise your thoughts if you follow these simple rules:

  1. Create a single Foam workspace for all your knowledge and research following the [[Getting started]] guide.
  2. Write your thoughts in markdown documents (I like to call them Bubbles, but that might be more than a little twee). These documents should be atomic: Put things that belong together into a single document, and limit its content to that single topic. (source)
  3. Use Foam's shortcuts and autocompletions to link your thoughts together with [[wikilinks]], and navigate between them to explore your knowledge graph.
  4. Get an overview of your Foam workspace using the [[Graph Visualisation]], and discover relationships between your thoughts with the use of [Backlinking].

You can also use our Foam template:

  1. Log in on your GitHub account.
  2. Create a GitHub repository from foam-template. If you want to keep your thoughts to yourself, remember to set the repository private.
  3. Clone the repository and open it in VS Code.
  4. When prompted to install recommended extensions, click Install all (or Show Recommendations if you want to review and install them one by one).

This will also install Foam, but if you already have it installed, that's ok, just make sure you're up to date on the latest version.

Requirements

High tolerance for alpha-grade software. Foam is still a Work in Progress. Rest assured it will never lock you in, nor compromise your files, but sometimes some features might break ;)

Known Issues

See the issues on our GitHub repo ;)

Release Notes

See the CHANGELOG.

Learn more

Head over to the 👉Foam documentation site to see Foam in action and read the rest of the documentation!

Quick links to next documentation sections

You can also browse the docs folder.

License

Foam is licensed under the MIT license.

Contribution Guide

See the Contribution Guide

Code of conduct

See the Code of Conduct

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Jani Eväkallio
Jani Eväkallio

💻 📖
Joe Previte
Joe Previte

💻 📖
Riccardo
Riccardo

💻 📖
Janne Ojanaho
Janne Ojanaho

💻 📖
Paul Shen
Paul Shen

📖
coffenbacher
coffenbacher

📖
Mathieu Dutour
Mathieu Dutour

📖
Michael Hansen
Michael Hansen

📖
David Nadlinger
David Nadlinger

📖
Fernando
Fernando

📖
Juan Gonzalez
Juan Gonzalez

📖
Louie Christie
Louie Christie

📖
Sandro
Sandro

📖
Simon Knott
Simon Knott

📖
Steven
Steven

📖
Tim
Tim

📖
Saurav Khdoolia
Saurav Khdoolia

📖
Ankit Tiwari
Ankit Tiwari

📖 ⚠️ 💻
Ayush Baweja
Ayush Baweja

📖
TaiChi-IO
TaiChi-IO

📖
Juan F Gonzalez
Juan F Gonzalez

📖
Sanket Dasgupta
Sanket Dasgupta

📖 💻
Nicholas Stafie
Nicholas Stafie

📖
Francis Hamel
Francis Hamel

💻
digiguru
digiguru

💻 📖
CHIRAG SINGHAL
CHIRAG SINGHAL

💻
Jonathan Carter
Jonathan Carter

📖
Julian Elve
Julian Elve

📖
Thomas Koppelaar
Tho

foam (foambubble/foam)

pkm
Searching Database…

17.5K ·GitHub
What is this?Foam is a personal knowledge management and note-taking system built on top of Visual Studio Code and GitHub, letting you link markdown notes together, visualize them as a graph, and optionally publish them to the web.
Is this a standalone app or does it live inside VS Code?It is a VS Code extension plus a set of workspace conventions — there's no separate app, you work entirely inside VS Code using plain markdown files and wikilinks.
How do I get started with Foam?Create a GitHub repo from the 'foam-template', clone it, and open it in VS Code; when prompted, install the recommended extensions (which includes Foam itself).
Do I need anything besides VS Code?You need VS Code and a GitHub account if you use the official foam-template to bootstrap your workspace; otherwise any folder of markdown files can become a Foam workspace.
Is Foam stable enough to rely on?The README itself warns it's alpha-grade software still a work in progress, so features can occasionally break, though the maintainers say it won't lock you in or touch your files destructively.
Does it work on any OS?Since Foam is just a VS Code extension, it runs wherever VS Code runs — Windows, macOS, and Linux.
Who owns the notes I write in Foam?Your notes are plain local markdown files that you fully own, and you choose whether to keep the repo private or share/publish it.
Can I switch from Obsidian to Foam?Yes — the README notes that an existing Obsidian vault is usually already a valid Foam workspace, so you can open it directly in VS Code.
How do notes link to each other?Notes use standard wiki-link syntax like [[note]] or [[note#Section]], with support for aliases ([[note|alias]]) and embedding content from other notes.
What's in the Graph Visualization and Backlinks panel?The 'Foam: Show Graph' command renders your whole workspace as a connected graph, while the Backlinks panel shows every note referencing the one you're currently editing, with context and a preview.
Does Foam support daily journaling and templates?Yes, it has a daily-note feature for journaling and supports custom templates so you don't repeat boilerplate structure across notes.
Creator
foambubble
Size
63.2 MB
Stars
17.5K
Age
6y
Commits · 90 Days