Rowbase

by soulaymane01
5
4
3
2
1
Score: 51/100

Description

Interactive database plugin for Obsidian with 8 views (table, kanban, list, gallery, chart, stats, timeline, dashboard), formulas, rollups, relations, sorting, filtering, grouping, and import/export. Each database is a single human-readable .rbase file. Fully offline, mobile responsive.

Reviews

No reviews yet.

Stats

30
stars
644
downloads
1
forks
27
days
6
days
6
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
2
total issues
0
open issues
2
closed issues
109
commits

Latest Version

7 days ago

Changelog

Release 0.1.5

Follow-up patch for 0.1.4: matrix drag-and-drop, clickable links in Gallery, filter-aware row creation, and fixes for rollups, relative relation paths, lazy IF, and the default-template migration.

Fixes

  • Rollup / relation resolution across folders — relative relation targets containing .. (e.g. ../Tasks.rbase) were resolved to an unnormalized vault path, so the resolver never found the target file and rollup columns stayed empty. Targets are now normalized before lookup, so rollups and cross-relation formula aggregates work for same-folder, ../, and vault-root (/file.rbase) targets alike.
  • Rollups with an empty relation — an empty relation cell made the resolver return every row of the target database, so count/sum rollups aggregated the whole table. An empty relation now aggregates nothing.
  • IF evaluates only the taken branch — both branches used to be evaluated, so the documented pattern IF(Done, DAYS(Scheduled, Done), "") failed on rows without an end date with #ERROR: DAYS needs valid dates. The untaken branch is now skipped.
  • Default Title column for existing vaults — settings saved before 0.1.4 kept the old text-first template, so "new database" still started with a text column. Untouched legacy templates are migrated to the Title-first default on load (custom templates are left alone).
  • Gallery cards: links are clickable, covers are real images — URL and Link values on gallery cards now open the browser / the note, while clicking anywhere else on the card still opens the row editor. Cover detection no longer turns any URL column into an empty cover area: a cover is only used when it can render (a column named Cover/Image/Photo/…, an Image-type column, or a URL column whose values really are images). Link galleries get compact cards and clickable text.

New

  • Matrix drag-and-drop — drag cards between the four Eisenhower quadrants (with a drag ghost and drop-target highlight, like the kanban board). Dropping writes the importance and urgency columns: checkbox columns get true/false, select columns get the configured "high" value (or the option that reads as high) and a non-high option; date urgency columns are left unchanged when they can't express the quadrant.
  • Filter-aware "+ New" — creating a row from a filtered view now pre-fills the values the active filters imply, so the row no longer disappears the moment it is created (the "I clicked + New and nothing happened" kanban papercut). equals writes the exact value, contains/starts-with writes the search text, multiselect filters write all selected values; rules with no unambiguous value (is not, does not contain, ranges, is not empty) are left alone. Works from the kanban "+ New", the table's "+ New row", and Cmd/Ctrl+Enter; a kanban column's group value still wins over a conflicting filter value.

Verified

  • DAYS(start, end) is covered by an end-to-end test through serializeCSV → parseCSV → runQuery (7-day gap, reversed dates, same day, missing date → error).

README file from

Github

Rowbase

Rowbase is an Obsidian plugin that brings Notion-style databases to your vault. Each database is a single .rbase file — a human-readable CSV with JSON column metadata — that opens in a rich, interactive view with multiple layouts, formulas, relations, and more.

Demo

Features

Views

  • Table — Full-featured spreadsheet with inline editing, sorting, filtering, column resizing, and row reordering
  • Kanban — Drag-and-drop board grouped by a select column
  • List — Compact grouped rows with collapsible sections
  • Gallery — Card grid with cover images and clickable detail modals
  • Chart — Bar, Line, Pie, and Area charts with aggregation and color-by options
  • Stats — Summary cards, numeric stats, select color distribution, and date distribution
  • Timeline — Gantt-style timeline with status colors, grid lines, today marker, zoom, and tooltips
  • Dashboard — Habit tracking with streaks, completion rings, and activity calendar heatmap
  • Matrix — Eisenhower matrix with four urgency/importance quadrants driven by select, checkbox, or date columns

Column Types

  • Text, Number, Date, Checkbox, Select, Multi-select, Title, Note, Relation, URL, Link, Image, Rollup, Formula, Progress

Data & Computation

  • Formulas — Safe expression evaluator with cell references and cross-relation aggregation (SUM, AVG, COUNT, MIN, MAX) plus IF and DAYS (date difference)
  • Rollups — Aggregate related rows (sum, count, avg, min, max) across relation columns
  • Relations — Link rows across databases; preloaded resolver with cache for fast cross-file lookups
  • Sorting — Multi-column sort with ascending/descending toggle
  • Filtering — Text (contains, starts with, is empty), Number (>, <, between), Date (before, after, between), Select (is, is not), Checkbox filters
  • Grouping — Group rows by any column with collapsible sections

UI/UX

  • Inline editing — Click any cell to edit; text, number, date, and select types all editable in place — kanban cards edit fields inline too
  • Undo/Redo — Cmd+Z / Cmd+Shift+Z with 100-step history stack
  • Column management — Add, rename, resize (double-click to auto-fit), reorder, delete columns via context menu
  • Title linking — Open or create notes from title cells; configure note folder per column
  • Folder linking — Create folders directly from title cells; configure default folder per column
  • Note columns — Pick or create notes with a default folder and optional multiple notes per cell
  • Links in text — [[wikilinks]] inside text cells resolve and open notes
  • Multi-select keyboard nav — Arrow keys, Enter to select, Escape to close
  • Empty states — Friendly placeholder with icons when databases or views are empty
  • Mobile responsive — Optimized for tablets and phones with touch-friendly targets
  • Import/Export — Import CSV files into databases; export to CSV or JSON
  • Plugin settings — Default folder, template name, a validated template-columns editor, note/folder linking defaults, and show-row-numbers

Screenshots

Table View

Kanban Board

Chart View

Timeline View

Stats View

Dashboard View

Inline Editing

Installation

  1. Open Settings → Community plugins in Obsidian.
  2. If needed, turn off Restricted mode, then search for Rowbase — or open obsidian.md/plugins?id=rowbase and press Install.
  3. Enable the plugin in the same screen.

Want the latest beta before it hits the store? Install it via BRAT with the repo Soulaymane01/Rowbase.

Rowbase is 100% offline — no account, no telemetry; your data stays in your vault.

Manual installation

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create a folder rowbase in your vault's .obsidian/plugins/ directory
  3. Copy the three files into that folder
  4. Enable Rowbase in Settings → Community Plugins

Usage

  1. Use the command palette (Ctrl/Cmd + P) and run Create new database to create a .rbase file
  2. Add columns using the + button in the header row
  3. Add rows using the + New button at the bottom
  4. Switch views using the view selector in the toolbar
  5. Sort, filter, and group rows using the toolbar controls

The .rbase file is a standard CSV file with column metadata encoded in the header row. It remains human-readable and can be opened with any text editor or spreadsheet application.

The complete file-format reference for AI agents lives in SKILL.md — it documents everything needed to create and edit .rbase files through direct file manipulation.

Development

npm ci
npm run dev    # watch mode
npm run build  # production build

To test locally, create a symlink from your vault's plugin directory to the project root:

ln -s /path/to/rowbase /path/to/vault/.obsidian/plugins/rowbase

Offline baseline

Rowbase's runtime is fully offline. It makes no HTTP requests, WebSocket connections, telemetry, CDN asset fetches, or remote service calls; everything reads from and writes to the local Obsidian vault. Its runtime source and the production bundle are audited against that policy by:

npm run build            # produces main.js
npm run test:offline     # scans src/ and main.js for network/dynamic-code behavior

Credits

Rowbase is an engineering fork of jysperm/obsidian-csv-database. The upstream project is licensed under the MIT License; that license and attribution are preserved in LICENSE. Rowbase is itself released under the MIT License.