back to home

foambubble / foam

A personal knowledge management and sharing system for VSCode

16,954 stars
754 forks
68 issues
TypeScriptMarkdownJavaScript

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing foambubble/foam in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/foambubble/foam)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Foam **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. Features Graph Visualization See how your notes are connected via a graph with the 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 . Link Alias Foam supports link aliasing, so you can have a , or a . Templates Use custom 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. 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. Generate references for your wikilinks Create markdown references for , 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 command • Access your daily note with the command • Create a new note with the command • This becomes very powerful when combined with note templates and the command • See your workspace as a connected graph with the command Recipes People use Foam in different ways for different use cases, check out the recipes page for inspiration! Getting started 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: • Create a single **Foam** workspace for all your knowledge and research following the [[Getting started]] guide. • 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) • Use Foam's shortcuts and autocompletions to link your thoughts together with , and navigate between them to explore your knowledge graph. • 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: • Log in on your GitHub account. • Create a GitHub repository from foam-template. If you want to keep your thoughts to yourself, remember to set the repository private. • Clone the repository and open it in VS Code. • 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 , 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 👉Published version of this Foam workspace** to see Foam in action and read the rest of the documentation! Quick links to next documentation sections • What's in a Foam? • Getting started • Features • Call To Adventure • Thanks and attribution You can also browse the docs folder. License Foam is licensed under the MIT license. [Backlinking]: docs/user/features/backlinking.md 'Backlinking' 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 💻 📖 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 <a href="https://github.com/foambubble/foam/commits?author=synesthesia" title="Documentation _...truncated for preview_