https://github.com/foambubble/foam
A personal knowledge management and sharing system for VSCode
https://github.com/foambubble/foam
graph-visualisation markdown markdown-editor note-taking notes-app personal-knowledge-base pkm vscode zettelkasten
Last synced: about 1 year ago
JSON representation
A personal knowledge management and sharing system for VSCode
- Host: GitHub
- URL: https://github.com/foambubble/foam
- Owner: foambubble
- License: other
- Created: 2020-06-19T17:04:10.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2025-04-22T01:58:09.000Z (about 1 year ago)
- Last Synced: 2025-05-01T13:51:43.922Z (about 1 year ago)
- Topics: graph-visualisation, markdown, markdown-editor, note-taking, notes-app, personal-knowledge-base, pkm, vscode, zettelkasten
- Language: TypeScript
- Homepage: https://foambubble.github.io/
- Size: 57.7 MB
- Stars: 15,923
- Watchers: 117
- Forks: 691
- Open Issues: 124
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- stars - foambubble/foam
- awesome-rainmana - foambubble/foam - A personal knowledge management and sharing system for VSCode (TypeScript)
- jimsghstars - foambubble/foam - A personal knowledge management and sharing system for VSCode (TypeScript)
- awesome-robotic-tooling - foam - Foam is a personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub. (Documentation and Presentation)
- awesome-list - Foam - A personal knowledge management and sharing system for VSCode. (Cross-Platform / JavaScript)
- awesome-github-projects - foam - A personal knowledge management and sharing system for VSCode โญ17,077 `TypeScript` ๐ฅ (๐ ๏ธ Developer Tools)
- awesome-starred - foambubble/foam - A personal knowledge management and sharing system for VSCode (markdown)
- StarryDivineSky - foambubble/foam
- definitive-opensource - Foam
- awesome-list - foam
- awesome-hacking-lists - foambubble/foam - A personal knowledge management and sharing system for VSCode (TypeScript)
- awesome-starred-test - foambubble/foam - A personal knowledge management and sharing system for VSCode (TypeScript)
- my-awesome-list - foam
- awesome - foambubble/foam - A personal knowledge management and sharing system for VSCode (TypeScript)
- awesome-github-star - foam
- awesome-markdown - Foam - ไธๆฌพๅบไบ **VS Code** ๅ **GitHub** ็ไธชไบบ็ฅ่ฏ็ฎก็็ณป็ปใๅฎ้่ฟๅๅ้พๆฅๅๅพๅฝขๅ็ฅ่ฏ็ฝ็ปๆฅ็ป็ป **Markdown** ็ฌ่ฎฐ๏ผๆจๅจๆไธบ **Roam Research** ๅ **Obsidian** ็ๅผๆบๆฟไปฃๅใๅ ถๆ ธๅฟ็น่ฒๅจไบๅฐ VS Code ๅไธบไธไธชๅผบๅคง็็ฌ่ฎฐ็ผ่พๅ็ฎก็็ฏๅข๏ผๅฉ็จ Git ่ฟ่ก็ๆฌๆงๅถ๏ผๅนถ่ฝ่ฝปๆพๅๅธไธบ้ๆ็ฝ็ซ๏ผๆฏๆๅปบไธชไบบโๆฐๅญ่ฑๅญโ็็ๆณๅทฅๅ ทใ (็ผ็ ไธๅผๅๅทฅๅ ท / ็ผ็จๅทฅๅ ท)
- my-awesome - foambubble/foam - visualisation,markdown,markdown-editor,note-taking,notes-app,personal-knowledge-base,pkm,vscode,zettelkasten pushed_at:2026-04 star:17.1k fork:0.8k A personal knowledge management and sharing system for VSCode (TypeScript)
- my-awesome-github-stars - foambubble/foam - A personal knowledge management and sharing system for VSCode (TypeScript)
README

# Foam
๐*This is an early stage project under rapid development. For updates join the [Foam community Discord](https://foambubble.github.io/join-discord/g)! ๐ฌ*
[](#contributors-)
[](https://marketplace.visualstudio.com/items?itemName=foam.foam-vscode)
[](https://foambubble.github.io/join-discord/g)
**Foam** is a personal knowledge management and sharing system inspired by [Roam Research](https://roamresearch.com/), built on [Visual Studio Code](https://code.visualstudio.com/) and [GitHub](https://github.com/).
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](https://foambubble.github.io/foam/user/features/graph-visualization) with the `Foam: Show Graph` command.

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

### Sync links on file rename
Foam updates the links to renamed files, so your notes stay consistent.

### 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.


### Link Preview and Navigation

### Go to definition, Peek References
See where a note is being referenced in your knowledge base.

### Navigation in Preview
Navigate your rendered notes in the VS Code preview panel.

### Note embed
Embed the content from other notes.

### Support for sections
Foam supports autocompletion, navigation, embedding and diagnostics for note sections.
Just use the standard wiki syntax of `[[resource#Section Title]]`.
### Link Alias
Foam supports link aliasing, so you can have a `[[wikilink]]`, or a `[[wikilink|alias]]`.
### Templates
Use [custom templates](https://foambubble.github.io/foam/user/features/note-templates) to have avoid repetitve work on your notes.

### Backlinks Panel
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 Explorer Panel
Tag your notes and navigate them with the [Tag Explorer](https://foambubble.github.io/foam/user/features/tags).
Foam also supports hierarchical tags.

### 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.

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

### Daily note
Create a journal with [daily notes](https://foambubble.github.io/foam/user/features/daily-notes).

### Generate references for your wikilinks
Create markdown [references](https://foambubble.github.io/foam/user/features/link-reference-definitions) 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.

### Commands
- Explore your knowledge base with the `Foam: Open Random Note` command
- Access your daily note with the `Foam: Open Daily Note` command
- Create a new note with the `Foam: Create New Note` command
- This becomes very powerful when combined with [note templates](https://foambubble.github.io/foam/user/features/note-templates) and the `Foam: Create New Note from Template` command
- See your workspace as a connected graph with the `Foam: Show Graph` command
## Recipes
People use Foam in different ways for different use cases, check out the [recipes](https://foambubble.github.io/foam/user/recipes/recipes) page for inspiration!
## Getting started
Whether you want to build a [Second Brain](https://www.buildingasecondbrain.com/) or a [Zettelkasten](https://zettelkasten.de/posts/overview/), 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](https://zettelkasten.de/posts/overview/#principles))
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](https://github.com/foambubble/foam-template/generate). 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](https://github.com/foambubble/foam/issues/) on our GitHub repo ;)
## Release Notes
See the [CHANGELOG](./packages/foam-vscode/CHANGELOG.md).
## Learn more
**Head over to the ๐[Published version of this Foam workspace](https://foambubble.github.io/foam#whats-in-a-foam)** to see Foam in action and read the rest of the documentation!
Quick links to next documentation sections
- [What's in a Foam?](https://foambubble.github.io/foam#whats-in-a-foam)
- [Getting started](https://foambubble.github.io/foam#getting-started)
- [Features](https://foambubble.github.io/foam#features)
- [Call To Adventure](https://foambubble.github.io/foam#call-to-adventure)
- [Thanks and attribution](https://foambubble.github.io/foam#thanks-and-attribution)
You can also browse the [docs folder](https://github.com/foambubble/foam/tree/main/docs).
## License
Foam is licensed under the [MIT license](LICENSE).
[//begin]: # 'Autogenerated link references for markdown compatibility'
[Backlinking]: docs/user/features/backlinking.md 'Backlinking'
[//end]: # 'Autogenerated link references'
## Contribution Guide
See the [Contribution Guide](https://foambubble.github.io/foam/dev/contribution-guide)
## Code of conduct
See the [Code of Conduct](https://foambubble.github.io/foam/dev/code-of-conduct)
## Contributors โจ
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Jani Evรคkallio
๐ป ๐

Joe Previte
๐ป ๐

Riccardo
๐ป ๐

Janne Ojanaho
๐ป ๐

Paul Shen
๐

coffenbacher
๐

Mathieu Dutour
๐

Michael Hansen
๐

David Nadlinger
๐

Fernando
๐

Juan Gonzalez
๐

Louie Christie
๐

Sandro
๐

Simon Knott
๐

Steven
๐

Tim
๐

Saurav Khdoolia
๐

Ankit Tiwari
๐ โ ๏ธ ๐ป

Ayush Baweja
๐

TaiChi-IO
๐

Juan F Gonzalez
๐

Sanket Dasgupta
๐ ๐ป

Nicholas Stafie
๐

Francis Hamel
๐ป

digiguru
๐ป ๐

CHIRAG SINGHAL
๐ป

Jonathan Carter
๐

Julian Elve
๐

Thomas Koppelaar
๐ฌ ๐ป ๐

Akshay
๐ป

John Lindquist
๐

Ashwin Ramaswami
๐

Claudio Canales
๐

vitaly-pevgonen
๐

Dmitry Shemetov
๐

hooncp
๐

Martin Laws
๐

Sean K Smith
๐ป

Kevin Neely
๐

Arief Rahmansyah
๐

Vishesh Handa
๐

Hitesh Kumar
๐

Spencer Woo
๐

ingalless
๐ป ๐

Josรฉ Duarte
๐ป ๐

Yenly
๐

hikerpig
๐ป

Sigfried Gold
๐

Tristan Sokol
๐ป

Danil Rodin
๐

Scott Williams
๐

jackiexiao
๐

John B Nelson
๐

Asif Mehedi
๐

Tan Li
๐ป

Shauna Gordon
๐

Mike Cluck
๐ป

Brandon Pugh
๐ป

Max Davitt
๐

Brian Anglin
๐

elswork
๐

lรฉon h
๐ป

Nikhil Nygaard
๐

Mark Dixon
๐ป

Joel James
๐ป

Hashiguchi Ryo
๐

Michael Overmeyer
๐ป

Derrick Qin
๐

Omar Lรณpez
๐

Robin King
๐ป

Dheepak
๐

Daniel VG
๐

Barabas
๐ป

Engincan VESKE
๐

Paul de Raaij
๐ป

Scott Bronson
๐

Rafael Riedel
๐

Pearcekieser
๐

Owen Young
๐ ๐

Prashanth Subrahmanyam
๐

Jonas SPRENGER
๐ป

Paul
๐

Ikko Ashimine
๐

memeplex
๐ป

AndreiD049
๐ป

Yan
๐

Jim Tittsler
๐

Malcolm Mielle
๐

Veesar
๐

bentongxyz
๐ป

Brian DeVries
๐ป

Clifford Fajardo
๐ง

Chris Usick
๐ป

Joe DeCock
๐ป

Drew Tyler
๐

Lauviah0622
๐ป

Josh Dover
๐ป

Phil Helm
๐

Larry Li
๐ป

Joe Taber
๐

Woosuk Park
๐

Daniel Murphy
๐ป

Dominic D
๐ป

luca
๐

Lloyd Jackman
๐

sn3akiwhizper
๐

jonathan berger
๐

Daniel Wang
๐ป

Liu YongLiang
๐

Scott Akerman
๐ป

Jim Graham
๐ป

Zhizhen He
๐ง

Tony Cheneau
๐

Nicholas Latham
๐ป

Tomochika Hara
๐

Daniel Carosone
๐

Miguel Angel Bruni Montero
๐ป

Kevin Walsh
๐

Xinglan Liu
๐ป

Thomas Hegghammer
๐

Piotr Mrzygลosz
๐

Mark Schaver
๐

Nathan Layman
๐ป

Emmanuel Ferdman
๐

Tenormis
๐ป
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
[//begin]: # "Autogenerated link references for markdown compatibility"
[Backlinking]: docs/user/features/backlinking.md "Backlinking"
[//end]: # "Autogenerated link references"