Wikibonsai
A structured knowledge layer in plain text.
Install / Use
/learn @wikibonsai/WikibonsaiREADME
WikiBonsai
A knowledge bonsai wends through concepts in semantic space, like a melody winds through harmonies in music.
[cite me!][wibomd-doc-cite-this]
<p align="center"> <img src="./static/wikibonsai.svg" width="35%" height="35%"/> </p>⚠️ Please remember to backup all data and use version control.
The WikiBonsai project transforms a collection of markdown files into a structured knowledge layer in plain text (in markdown). This is accomplished by enabling text-based workflows that rely on [[wiki]] syntaxes, knowledge trees, and data visualizations.
This project is about strategically implementing and open-sourcing functionality that will benefit the most users and developers across the digital ecosystem. Thus, it abides by the Unix Philosophy: Everything is modularized and implemented in such a way as to maximize re-use whether it be for the browser, desktop, mobile, or headset. It's about furthering structured knowledge tooling by building atop "[standardization bedrock][wibomd-doc-design--drilling-down-to-standardization-bedrock]" instead of just creating a single application.
Further, these workflows may also facilitate the mapping of [semantic space][wibomd-doc-design--semantic-space] which could prove an invaluable resource in building a better understanding of how neural nets work and furthering the development of interpretable, explainable AI.
Notable Workflows
These are the workflows the WikiBonsai project enables for markdown-based collections of notes:
- Expanded [
[[wikirefs]]][wibomd-repo-wikirefs] syntax for quick associative linking (a.k.a. "wikilink", "bidirectional link", "internal link", etc.). - [Mechanics][wibomd-repo-semtree] to cultivate and train a unified "semantic tree" or "knowledge bonsai" across a collection of markdown files.
- A clean, lean, [yaml][yaml]-like [markup language for structured attributes][wibomd-repo-caml-mkdn] (with built-in
[[wikiref]]support). - [Graph][wibomd-repo-treehouze] utilities to experience and interact with a unified visual-spatial "[memory palace][memory-palace]" that emerges from the relationships formed across markdown notes (syntaxes 1 + 2).
These workflows are what distinguish "WikiBonsai" from other styles of digital garden -- particularly the semantic tree.
Project Info
Docs
The documentation in this repository describe the philosophies, mechanics, and terminologies that are adopted throughout all of the WikiBonsai projects:
- For Use:
- [Getting Started][wibomd-doc-use]
- [Privacy and Security][wibomd-doc-secure]
- For Dev:
- [Design Principles][wibomd-doc-design]
- [Terminology][wibomd-doc-terms]
- [Code of Conduct][wibomd-doc-code-of-conduct]
- [Contributing][wibomd-doc-contributing]
- For Lore:
- [Guiding Philosophy][wibomd-doc-philosophy]
- [Origin Story][wibomd-doc-story]
- [Citations and Sources][wibomd-doc-cite]
- For Input:
- [Questions][wibomd-doc-questions]
And be sure to check out [other writings][social-x] for art, writing, memes, and more.
Repos
The following links point to repositories of the WikiBonsai project and are organized by stack depth. Projects toward the top are ready-to-use and meant for the end user, while projects toward the bottom are meant for developers to build with and integrate into other solutions:
- For Use:
- Starters:
- [garden-beds][wibomd-repo-garden-beds]: A collection of starter WikiBonsai digital gardens -- includes starter markdown files and config files.
- AI:
- [germinator][wibomd-repo-germinator]: An AI-powered semantic seedling germinator that generates starter semantic mappings of concepts which are easily transplantable into one's own digital garden.
- [semtree-germ][wibomd-repo-semtree-germ]: An earlier version of the germinator that focused on semantic trees.
- [tree-trainer][wibomd-repo-tree-trainer]: An AI-powered tree trainer that generates syntax trees for sentence(s).
- [prompt][wibomd-repo-promp]: Prompts for AI-powered digital gardening.
- [tendr-skill][wibomd-repo-skill]: A skill for AI agents to tend their knowledge base.
- [germinator][wibomd-repo-germinator]: An AI-powered semantic seedling germinator that generates starter semantic mappings of concepts which are easily transplantable into one's own digital garden.
- Notes:
- [vscode-tendr][wibomd-repo-vscode-tendr]: A VSCode extension for tending a WikiBonsai digital garden.
- [tendr-cli][wibomd-repo-tendr-cli]: A CLI tool for tending a markdown-based WikiBonsai digital garden.
- SSG:
- [jekyll-garden][wibomd-repo-jekyll-garden]: A [jekyll][ssg-jekyll] template that can be imported as a gem or cloned as a template project.
- [jekyll-bloomz][wibomd-repo-jekyll-bloomz]: An example setup to enable WikiBonsai workflows fro a [jekyll][ssg-jekyll]-bsaed statically generated site (SSG).
- [astro-bloomz][wibomd-repo-astro-bloomz]: An example setup to enable WikiBonsai workflows for an [astro][ssg-astro]-based statically generated site (SSG).
- [eleventy-bloomz][wibomd-repo-eleventy-bloomz]: An example setup to enable WikiBonsai workflows for [eleventy][ssg-eleventy]-based static site generation (SSG).
- Starters:
- For Dev
- Markdown Parsers:
- [markdown-it-caml][wibomd-repo-markdown-it-caml]: A markdown-it plugin to enable
:colon::attributes. - [markdown-it-wikirefs][wibomd-repo-markdown-it-wikirefs]: A markdown-it plugin to enable
[[wikirefs]]. - [remark-caml][wibomd-repo-remark-caml]: A remark plugin to enable
:colon::attributes. - [remark-wikirefs][wibomd-repo-remark-wikirefs]: A remark plugin to enable
[[wikirefs]].
- [markdown-it-caml][wibomd-repo-markdown-it-caml]: A markdown-it plugin to enable
- Jekyll:
- [jekyll-graph][wibomd-repo-jekyll-graph]: A jekyll plugin to generate graphs of blog content.
- [jekyll-semtree][wibomd-repo-jekyll-semtree]: A jekyll plugin to generate a semantic tree from index collections.
- [jekyl-wikirefs][wibomd-repo-jekyll-wikirefs]: A jekyll plugin to enable
[[wikirefs]].
- Base:
- [almanac][wibomd-repo-almanac]: A type system for PKM notes.
- [caml][wibomd-repo-caml-mkdn]: Base utilities for Colon Attribute Markup Language (
:colon::attributes). - [caudex][wibomd-repo-caudex]: An index to cache and store WikiBonsai relationships.
- [semtree][wibomd-repo-semtree]: Base utilities for "semantic tree" or "knowledge bonsai" building in markdown.
- [treehouze][wibomd-repo-treehouze]: Generalized graph utilities with minor specialized features for visualizing WikiBonsai-enabled markdown-based knowledge collections.
- [trug][wibomd-repo-trug]: A config handler for WikiBonsai-style knowledge collections.
- [wikirefs][wibomd-repo-wikirefs]: Base utilities for internal links (
[[wikirefs]]).
- Spec:
- [caml-spec][wibomd-repo-caml-spec]: Test suite for Colon Attribute Markup Language, CAML, (
:colon::attributes) specification. - [wikirefs-spec][wibomd-repo-wikirefs-spec]: Test suite for wikirefs (
[[wikirefs]]) specification.
- [caml-spec][wibomd-repo-caml-spec]: Test suite for Colon Attribute Markup Language, CAML, (
- Markdown Parsers:
⚠️ Usage Note
The systems you interact with have an effect on the way you think. This system is meant to provide a ["jungle gym for thought,"][wibomd-doc-philosophy--a-jungle-gym-for-thought] but it can't do everything and might even have negative consequences if used improperly. Here are some supplemental suggestions for adopting a knowledge framework such as this, especially for educational purposes:
Write Full Essays
The workflows this project enables are meant to help develop an explicit relationship with the words you use. It's possible over-reliance on a tool like this (like many other digital productivity tools) can allow, or even facilitate, overly modular and fractured trains of thought. Writing [full essays][utb-essay] can combat fractured thinking and exercise those parts of the mind.
Refer to Common Cultural Reference Points
(such as britannica or [wikipedia][wikipedia])
By adopting a tool specifically meant for mapping vocabulary, it can be tempting to use niche words or make up one's own to demarcate an idea. But too much of this risks building a Tower of Babel and losing the ability to communicate effectively with others. Use shared vocabulary where you can and if you've found a word of better fit, use it with others. That is the purpose of language after all.
There is Never a "Final Word"
Like this project it is best to view a set of notes and explicit knowledge as a current state of affairs -- it's the state of the trail; of how much clutter has been cleared away. The goal is to build a navigable path for yourself, but to remain aware of what other things lie beyond the already-explored path. Always be open to what hard reality is telling you, especially while getting your hands dirty.
Get Your Hands Dirty
The digital world cannot replace practical, hands-in-the-mud experience. No matter what you learn or study be sure to learn something, anything, that requires your hands in the real world.
Forward
Here's to making the road ahead a bit smoother for those that follow.
[just keep tending...🪴][wibomd-doc-use]
[^mind]: Not too dissimilar from a ["bicycle for the mind"][utb-mind-bike].
[memory-palace]: <h
