Foam is a personal knowledge management system built as a Visual Studio Code extension that organizes and visualizes markdown notes stored in GitHub repositories.
Foam addresses the challenge of maintaining a connected, discoverable knowledge base by treating your notes as a graph of interlinked documents. It works by parsing wikilinks in markdown files, automatically completing links as you type, updating references when files are renamed, and visualizing the connections between notes. The tool supports sections within notes, link aliases, note embedding, and custom templates to reduce repetitive work. It also maintains panels showing backlinks to the current note, orphaned notes with no connections, placeholder links to missing notes, and a hierarchical tag explorer.
Foam suits developers and researchers who work primarily in VS Code and want to keep their knowledge base in version control on GitHub without relying on proprietary platforms. It works well for organizing research, maintaining reference notes, and publishing content to the web. The tool is free and open source, giving you full ownership of your data and the ability to extend it for your workflow. Unlike closed note-taking applications, Foam keeps everything in plain markdown files you control completely.
Maintainers typically respond to new issues and pull requests within a few days. Work in the issue tracker centers on graph visualization features, the VS Code extension itself, and bug fixes.