πThis is an early stage project under rapid development. For updates join the Foam community Discord! π¬
Foam is a personal knowledge management and sharing system inspired by Roam Research, 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.
See how your notes are connected via a graph with the Foam: Show Graph
command.
Foam helps you create the connections between your notes, and your placeholders as well.
Foam updates the links to renamed files, so your notes stay consistent.
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.
See where a note is being referenced in your knowledge base.
Navigate your rendered notes in the VS Code preview panel.
Embed the content from other notes.
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]]
.
Use custom templates to have avoid repetitve work on your notes.
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.
Tag your notes and navigate them with the Tag Explorer. Foam also supports hierarchical tags.
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.
Foam highlights wikilinks and placeholder differently, to help you visualize your knowledge base.
Create a journal with daily notes.
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.
Foam: Open Random Note
commandFoam: Open Daily Note
commandFoam: Create New Note
command
Foam: Create New Note from Template
commandFoam: Show Graph
commandPeople use Foam in different ways for different use cases, check out the recipes page for inspiration!
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:
[[wikilinks]]
, and navigate between them to explore your knowledge graph.You can also use our Foam template:
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.
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 ;)
See the issues on our GitHub repo ;)
See the CHANGELOG.
Head over to the πPublished version of this Foam workspace 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.
Foam is licensed under the MIT license.
See the Contribution Guide
See the Code of Conduct
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!