README file from
GithubeBrain Gardener
Obsidian Plugin — A PROCESS → TRIAGE → PUBLISH pipeline for digital garden vaults.
Bring your digital gardening workflow natively into Obsidian. Inbox scoring, LLM-powered frontmatter enrichment, and WikiLink suggestions — no terminal, no Python, no manual copy-paste.
Features
| Component | What it does |
|---|---|
| 🌱 Garden Sidebar | Live scored inbox queue · maturity stats · stage buttons |
| ⚙️ Settings Tab | Provider (Gemini / OpenAI / Anthropic / Ollama) · model · API key |
| 📋 Process Command | Mod+Shift+G → LLM suggests frontmatter + WikiLinks → diff modal |
| 🌿 Publish Command | Enriches note + sets published: true with approval gate |
| 📊 Triage Modal | Sortable full-queue table · per-row actions · save report |
| 🪨🌱🌿🌳 Status Bar | Maturity icon for the active note |
| 🍃 Ribbon Badge | Count of high-score notes not yet published |
Concepts
Notes in your inbox folders are automatically scored using three signals:
score = name_quality (×0.4) + frontmatter_completeness (×0.3) + maturity (×0.3)
| Maturity | Word count | Score |
|---|---|---|
| 🪨 STUB | < 50 words | 0.1 |
| 🌱 SEED | 50–249 words | 0.4 |
| 🌿 BUDDING | 250–699 words | 0.7 |
| 🌳 EVERGREEN | 700+ words | 1.0 |
Notes with a total score ≥ 0.7 appear highlighted in the sidebar as ready to process.
Installation
Via BRAT (recommended — gets updates automatically)
- Install BRAT from the Obsidian community plugins
- Open BRAT settings → Add Beta Plugin
- Enter:
karx/kaaroGarden - Enable eBrain Gardener in Settings → Community Plugins
Manual install
- Download
main.js,manifest.json,styles.cssfrom the latest release - Copy them to
.obsidian/plugins/ebrain-gardener/in your vault - Enable eBrain Gardener in Settings → Community Plugins → Reload plugins
Quick Start
- Open Settings → eBrain Gardener
- Choose your LLM provider and paste your API key
- Set your inbox folder names (default:
Inbox,0_Inbox) - Click the 🌱 ribbon icon to open the Garden Sidebar
- Open any inbox note → press
Mod+Shift+Gto process it - Review the suggested frontmatter in the diff modal → accept changes
Configuration
| Setting | Default | Description |
|---|---|---|
| Provider | gemini |
LLM provider for AI suggestions |
| Model | gemini-2.0-flash |
Model (options update per provider) |
| API Key | — | Stored in data.json — never sent to Anthropic/the plugin's servers |
| Ollama Base URL | http://localhost:11434 |
Only needed for local Ollama models |
| Inbox Folders | Inbox, 0_Inbox |
Comma-separated folders to score |
| Triage Report Path | Garden Triage Report.md |
Where to write the scored queue markdown report |
| Skill Prompt Path | (empty) | Optional vault path to a custom system prompt file |
API Key Security
API keys are stored in .obsidian/plugins/ebrain-gardener/data.json. If you sync your vault to the cloud, add .obsidian/plugins/ebrain-gardener/data.json to your sync exclusion list — or use Ollama for a fully local, key-free setup.
LLM Providers
| Provider | Notes |
|---|---|
| Google Gemini | Default. gemini-2.0-flash — fast and cheap. |
| OpenAI | gpt-4o, gpt-4o-mini, gpt-4-turbo |
| Anthropic | claude-3-5-sonnet-20241022, claude-3-haiku-20240307 |
| Ollama | Local models — no API key needed. Install Ollama first. |
Commands
| Command | Default Shortcut |
|---|---|
| Process active note (Stage 1) | Mod+Shift+G |
| Publish active note (Stage 3) | — |
| Open triage queue | — |
| Score inbox & refresh sidebar | — |
| Open Garden Sidebar | — |
All commands are accessible via the Command Palette (Mod+P).
Custom Skill Prompt
By default, the plugin uses a built-in system prompt based on the PARA framework and digital gardening conventions. You can override it with your own:
- Create a markdown file anywhere in your vault (e.g.,
Resources/SKILL.md) - Write your custom system prompt — YAML frontmatter is automatically stripped
- Set Skill Prompt Path in settings to the vault-relative path
This lets you tune the LLM's tagging taxonomy, frontmatter schema, or writing style to match your vault's conventions.
Privacy & Network
This plugin makes outbound HTTPS requests only when you explicitly trigger a Process or Publish command, and only to the LLM provider you configure in settings:
| Provider | Endpoint called |
|---|---|
| Google Gemini | https://generativelanguage.googleapis.com |
| OpenAI | https://api.openai.com |
| Anthropic | https://api.anthropic.com |
| Ollama | http://localhost:11434 (local — no internet) |
No data is sent to the plugin author's servers. Your vault content (the active note's frontmatter and body) is sent to whichever provider you choose, subject to that provider's privacy policy. API keys are stored locally in data.json and never leave your device except as the Authorization header sent to your chosen provider.
Developer Setup
Clone & install
git clone https://github.com/karx/kaaroGarden.git
cd ebrain-gardener
npm install
Configure vault path (optional — for auto-deploy on build)
cp .env.example .env
# Edit .env: VAULT_PATH=/path/to/your/vault
Dev mode (watch + auto-copy to vault)
npm run dev
Builds in watch mode and copies main.js, manifest.json, styles.css to .obsidian/plugins/ebrain-gardener/ on every change. Reload Obsidian with Ctrl+R.
Production build
npm run build
Project Structure
ebrain-gardener/
main.ts Plugin entry point
styles.css Plugin styles
manifest.json Obsidian plugin metadata
esbuild.config.mjs Build config
scripts/
deploy.mjs Auto-copy to vault after build
src/
scoring.ts Inbox scoring engine
settings/
types.ts Settings interface + defaults
secrets.ts API key storage
SettingsTab.ts Settings UI
llm/
provider.ts Vendor-agnostic LLM interface
gemini.ts Gemini adapter
openai.ts OpenAI + Anthropic adapter
ollama.ts Ollama adapter
skill/
prompt.ts Skill prompt loader + prompt builders
views/
GardenSidebar.ts Sidebar ItemView
TriageModal.ts Triage queue modal
ui/
FrontmatterDiff.ts Diff modal + WikiLink chips
commands/
noteCommands.ts Process + Publish handlers
License
Copyright (C) 2026 karx
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The source code is available at github.com/karx/kaaroGarden.
Roadmap
- WikiLink validation against real vault files
- Garden Log auto-update after session
- Optional git commit after Stage 3 publish
- Guided one-by-one Process Session mode
- Vault Health Dashboard
License
MIT © karx